use stretcher/testify instead of juju/testing
diff --git a/Gopkg.lock b/Gopkg.lock index 178f6e2..6edcfa0 100644 --- a/Gopkg.lock +++ b/Gopkg.lock
@@ -2,39 +2,22 @@ [[projects]] - name = "github.com/juju/errors" - packages = ["."] - revision = "1b5e39b83d1835fa480e0c2ddefb040ee82d58b3" + name = "github.com/davecgh/go-spew" + packages = ["spew"] + revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" + version = "v1.1.1" [[projects]] - name = "github.com/juju/loggo" - packages = ["."] - revision = "0e0537f18a29c2f0a814dad75b1ccc577852538a" + name = "github.com/pmezard/go-difflib" + packages = ["difflib"] + revision = "792786c7400a136282c1664665ae0a8db921c6c2" + version = "v1.0.0" [[projects]] - name = "github.com/juju/testing" - packages = [".","checkers"] - revision = "321edad6b2d1ccac4af9ee05c25b8ad734d40546" - -[[projects]] - name = "github.com/juju/utils" - packages = [".","clock"] - revision = "bdb77b07e7e3f77463d10d2b554cd1b7a78009a2" - -[[projects]] - name = "golang.org/x/crypto" - packages = ["pbkdf2"] - revision = "351dc6a5bf92a5f2ae22fadeee08eb6a45aa2d93" - -[[projects]] - name = "gopkg.in/check.v1" - packages = ["."] - revision = "4f90aeace3a26ad7021961c297b22c42160c7b25" - -[[projects]] - name = "gopkg.in/mgo.v2" - packages = [".","bson","internal/sasl","internal/scram"] - revision = "01ee097136da162d1dd3c9b44fbdf3abf4fd6552" + name = "github.com/stretchr/testify" + packages = ["assert","require"] + revision = "221dbe5ed46703ee255b1da0dec05086f5035f62" + version = "v1.4.0" [[projects]] name = "gopkg.in/yaml.v2" @@ -44,6 +27,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "029189b0eedf6c5b686fae586bc1ad03386ed2d6b4712b6a866115c95ce0cb42" + inputs-digest = "4e74844cc0163f383b0d0bb6c97ad78dc4df008646534aa3a288fd8af1831c7e" solver-name = "gps-cdcl" solver-version = 1
diff --git a/diffparser.go b/diffparser.go index 57eb41e..385648c 100644 --- a/diffparser.go +++ b/diffparser.go
@@ -23,6 +23,7 @@ NEW ) +// DiffRange contains the DiffLine's type DiffRange struct { // starting line number @@ -72,7 +73,7 @@ Hunks []*DiffHunk } -//Diff is the collection of DiffFiles +// Diff is the collection of DiffFiles type Diff struct { Files []*DiffFile Raw string `sql:"type:text"`
diff --git a/diffparser_test.go b/diffparser_test.go index ea9839b..75aeca1 100644 --- a/diffparser_test.go +++ b/diffparser_test.go
@@ -1,135 +1,118 @@ // Copyright (c) 2015 Jesse Meek <https://github.com/waigani> // This program is Free Software see LICENSE file for details. -package diffparser_test +package diffparser import ( "io/ioutil" "testing" - jt "github.com/juju/testing" - jc "github.com/juju/testing/checkers" - "github.com/waigani/diffparser" - gc "gopkg.in/check.v1" + "github.com/stretchr/testify/require" ) -func Test(t *testing.T) { - gc.TestingT(t) -} - -type suite struct { - jt.CleanupSuite - rawdiff string - diff *diffparser.Diff -} - -var _ = gc.Suite(&suite{}) - -func (s *suite) SetUpSuite(c *gc.C) { - byt, err := ioutil.ReadFile("example.diff") - c.Assert(err, jc.ErrorIsNil) - s.rawdiff = string(byt) -} - // TODO(waigani) tests are missing more creative names (spaces, special // chars), and diffed files that are not in the current directory. -func (s *suite) TestFileModeAndNaming(c *gc.C) { - diff, err := diffparser.Parse(s.rawdiff) - c.Assert(err, jc.ErrorIsNil) - c.Assert(diff.Files, gc.HasLen, 6) +func setup(t *testing.T) *Diff { + byt, err := ioutil.ReadFile("example.diff") + require.NoError(t, err) + diff, err := Parse(string(byt)) + require.NoError(t, err) + require.Equal(t, len(diff.Files), 6) + + return diff +} +func TestFileModeAndNaming(t *testing.T) { + diff := setup(t) for i, expected := range []struct { - mode diffparser.FileMode + mode FileMode origName string newName string }{ { - mode: diffparser.MODIFIED, + mode: MODIFIED, origName: "file1", newName: "file1", }, { - mode: diffparser.DELETED, + mode: DELETED, origName: "file2", newName: "", }, { - mode: diffparser.DELETED, + mode: DELETED, origName: "file3", newName: "", }, { - mode: diffparser.NEW, + mode: NEW, origName: "", newName: "file4", }, { - mode: diffparser.NEW, + mode: NEW, origName: "", newName: "newname", }, { - mode: diffparser.DELETED, + mode: DELETED, origName: "symlink", newName: "", }, } { file := diff.Files[i] - c.Logf("testing file: %v", file) - c.Assert(file.Mode, gc.Equals, expected.mode) - c.Assert(file.OrigName, gc.Equals, expected.origName) - c.Assert(file.NewName, gc.Equals, expected.newName) + t.Logf("testing file: %v", file) + require.Equal(t, expected.mode, file.Mode) + require.Equal(t, expected.origName, file.OrigName) + require.Equal(t, expected.newName, file.NewName) } } -func (s *suite) TestHunk(c *gc.C) { - diff, err := diffparser.Parse(s.rawdiff) - c.Assert(err, jc.ErrorIsNil) - c.Assert(diff.Files, gc.HasLen, 6) - - expectedOrigLines := []diffparser.DiffLine{ +func TestHunk(t *testing.T) { + diff := setup(t) + expectedOrigLines := []DiffLine{ { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 1, Content: "some", Position: 2, }, { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 2, Content: "lines", Position: 3, }, { - Mode: diffparser.REMOVED, + Mode: REMOVED, Number: 3, Content: "in", Position: 4, }, { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 4, Content: "file1", Position: 5, }, } - expectedNewLines := []diffparser.DiffLine{ + expectedNewLines := []DiffLine{ { - Mode: diffparser.ADDED, + Mode: ADDED, Number: 1, Content: "add a line", Position: 1, }, { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 2, Content: "some", Position: 2, }, { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 3, Content: "lines", Position: 3, }, { - Mode: diffparser.UNCHANGED, + Mode: UNCHANGED, Number: 4, Content: "file1", Position: 5, @@ -140,15 +123,15 @@ origRange := file.Hunks[0].OrigRange newRange := file.Hunks[0].NewRange - c.Assert(origRange.Start, gc.Equals, 1) - c.Assert(origRange.Length, gc.Equals, 4) - c.Assert(newRange.Start, gc.Equals, 1) - c.Assert(newRange.Length, gc.Equals, 4) + require.Equal(t, 1, origRange.Start) + require.Equal(t, 4, origRange.Length) + require.Equal(t, 1, newRange.Start) + require.Equal(t, 4, newRange.Length) for i, line := range expectedOrigLines { - c.Assert(*origRange.Lines[i], gc.DeepEquals, line) + require.Equal(t, line, *origRange.Lines[i]) } for i, line := range expectedNewLines { - c.Assert(*newRange.Lines[i], gc.DeepEquals, line) + require.Equal(t, line, *newRange.Lines[i]) } }
diff --git a/go.mod b/go.mod index a938c2e..67d0b2d 100644 --- a/go.mod +++ b/go.mod
@@ -3,12 +3,8 @@ go 1.12 require ( - github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18 - github.com/juju/loggo v0.0.0-20160511211902-0e0537f18a29 - github.com/juju/testing v0.0.0-20160203233110-321edad6b2d1 - github.com/juju/utils v0.0.0-20160815113839-bdb77b07e7e3 - golang.org/x/crypto v0.0.0-20160824173033-351dc6a5bf92 - gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2 - gopkg.in/mgo.v2 v2.0.0-20150529124711-01ee097136da - gopkg.in/yaml.v2 v2.0.0-20160715033755-e4d366fc3c79 + github.com/davecgh/go-spew v1.1.1 + github.com/pmezard/go-difflib v1.0.0 + github.com/stretchr/testify v1.4.0 + gopkg.in/yaml.v2 v2.2.2 )
diff --git a/go.sum b/go.sum index cc56c14..6369a51 100644 --- a/go.sum +++ b/go.sum
@@ -1,16 +1,12 @@ -github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18 h1:Sem5Flzxj8ZdAgY2wfHBUlOYyP4wrpIfM8IZgANNGh8= -github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20160511211902-0e0537f18a29 h1:wXuXWz7gZy8UQSiFy34IhHOdeV45qSO4fAG3p0DrRRA= -github.com/juju/loggo v0.0.0-20160511211902-0e0537f18a29/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/testing v0.0.0-20160203233110-321edad6b2d1 h1:0WbpCsj5kC5p6YSWl0Y6THSMeD2eTCx2rLKYQ7/3aS4= -github.com/juju/testing v0.0.0-20160203233110-321edad6b2d1/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= -github.com/juju/utils v0.0.0-20160815113839-bdb77b07e7e3 h1:UmZwEQJiCr97I7qMfUB9VqS2BzRNQXx4VuAoHIfTQyA= -github.com/juju/utils v0.0.0-20160815113839-bdb77b07e7e3/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= -golang.org/x/crypto v0.0.0-20160824173033-351dc6a5bf92 h1:6HmDSTSU7PVgeKBom4W04S2VmgzLOtZlfUiJuF+txm4= -golang.org/x/crypto v0.0.0-20160824173033-351dc6a5bf92/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2 h1:+j1SppRob9bAgoYmsdW9NNBdKZfgYuWpqnYHv78Qt8w= -gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/mgo.v2 v2.0.0-20150529124711-01ee097136da h1:k2jXxOPVI4OLmisXza2wym08Pz6x+ky/f71oJBuA8zg= -gopkg.in/mgo.v2 v2.0.0-20150529124711-01ee097136da/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/yaml.v2 v2.0.0-20160715033755-e4d366fc3c79 h1:mENkfeXGmLV7lIyBeNdwYWdONek7pH9yHaHMgZyvIWE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.0.0-20160715033755-e4d366fc3c79/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=