github.com/AlekSi/nut@v0.3.1-0.20130607203728-cce108d4135e/nut_test.go (about) 1 package nut_test 2 3 import ( 4 "fmt" 5 "os" 6 "path/filepath" 7 "runtime" 8 9 . "." 10 . "launchpad.net/gocheck" 11 ) 12 13 type N struct { 14 nf *NutFile 15 } 16 17 var _ = Suite(&N{}) 18 19 func (f *N) SetUpTest(c *C) { 20 file, err := os.Open("../test_nut1/test_nut1-0.0.1.nut") 21 c.Assert(err, IsNil) 22 defer file.Close() 23 24 fi, err := file.Stat() 25 c.Assert(err, IsNil) 26 27 nf := new(NutFile) 28 n, err := nf.ReadFrom(file) 29 c.Assert(err, IsNil) 30 c.Assert(n, Equals, fi.Size()) 31 f.nf = nf 32 } 33 34 func (f *N) TestNutFileReadFrom(c *C) { 35 c.Check(f.nf.Spec.Version.String(), Equals, "0.0.1") 36 c.Check(f.nf.Version.String(), Equals, "0.0.1") 37 c.Check(f.nf.Vendor, Equals, "debug") 38 c.Check(f.nf.Package.Name, Equals, "test_nut1") 39 c.Check(f.nf.Name, Equals, "test_nut1") 40 c.Check(f.nf.FileName(), Equals, "test_nut1-0.0.1.nut") 41 c.Check(f.nf.FilePath("prefix"), Equals, filepath.FromSlash("prefix/debug/test_nut1-0.0.1.nut")) 42 c.Check(f.nf.ImportPath("prefix"), Equals, "prefix/debug/test_nut1") 43 c.Check(f.nf.Doc, Equals, "Package test_nut1 is used to test nut.") 44 c.Check(f.nf.GoFiles, DeepEquals, []string{"test_nut1.go", fmt.Sprintf("test_nut1_%s.go", runtime.GOOS)}) 45 46 c.Check(len(f.nf.Reader.File), Equals, 11) 47 names := make([]string, 0, 11) 48 for _, f := range f.nf.Reader.File { 49 names = append(names, f.Name) 50 } 51 c.Check([]string{"test_nut1.go", "test_nut1_darwin.go", "test_nut1_freebsd.go", "test_nut1_linux.go", "test_nut1_netbsd.go", 52 "test_nut1_openbsd.go", "test_nut1_plan9.go", "test_nut1_windows.go", "README", "LICENSE", "nut.json"}, 53 DeepEquals, names) 54 } 55 56 func (f *N) TestNutFileReadFile(c *C) { 57 nf := new(NutFile) 58 err := nf.ReadFile("../test_nut1/test_nut1-0.0.1.nut") 59 c.Check(err, IsNil) 60 c.Check(nf, DeepEquals, f.nf) 61 } 62 63 func (f *N) TestNutReadFrom(c *C) { 64 pwd, err := os.Getwd() 65 c.Assert(err, IsNil) 66 c.Assert(os.Chdir("../test_nut1"), IsNil) 67 defer func() { 68 c.Assert(os.Chdir(pwd), IsNil) 69 }() 70 71 nut := new(Nut) 72 err = nut.ReadFrom(".") 73 c.Check(err, IsNil) 74 c.Check(nut.Spec, DeepEquals, f.nf.Spec) 75 c.Check(nut.Package, DeepEquals, f.nf.Package) 76 }