z_mirror/fmm
git clone https://git.raiguard.me/z_mirror/fmm
8f22b8d
predep-parsing
1package main 2 3import ( 4"testing" 5 6"github.com/stretchr/testify/assert" 7) 8 9func TestNewDependency (t * testing.T ) { 10tests := []struct { 11input string 12name string 13version * Version 14kind DependencyKind 15req VersionCmpRes 16 }{ 17 {"flib" ,"flib" ,nil ,DependencyRequired ,VersionAny }, 18 } 19for _ ,test := range tests { 20dep ,err := newDependency (test .input ) 21if err != nil { 22t .Error (err ) 23 } 24assert .Equal (t ,dep .Ident .Name ,test .name ) 25if test .version == nil { 26assert .Nil (t ,dep .Ident .Version ) 27 }else { 28assert .NotNil (t ,dep .Ident .Version ) 29assert .Equal (t ,dep .Ident .Version .cmp (test .version ),test .req ) 30 } 31 32assert .Equal (t ,dep .Kind ,test .kind ) 33assert .Equal (t ,dep .Req ,test .req ) 34 } 35} 36 37func TestDependencyTest (t * testing.T ) { 38tests := []struct { 39dep ,mod string 40result bool 41 }{ 42 {"flib" ,"flib_0.1.1" ,true }, 43 {"! flib" ,"flib_0.1.1" ,false }, 44 {"flib >= 0.10" ,"flib_0.1.1" ,false }, 45 {"flib >= 0.10" ,"flib_0.10.0" ,true }, 46 {"flib >= 0.10.0" ,"flib_0.10.0" ,true }, 47 {"flib > 0.10" ,"flib_0.10.0" ,false }, 48 } 49 50for _ ,test := range tests { 51dep ,err := newDependency (test .dep ) 52assert .NoError (t ,err ) 53mod := newModIdent (test .mod ) 54assert .Equal (t ,dep .Test (& mod ),test .result ) 55 } 56}