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=