diff --git a/.gitmodules b/.gitmodules index 9326cf9f2d47e5cf81dd9edc6c786fdbe20200cb..9037e25c50220fbebfcd4a33aa3408930a60c597 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,3 +37,18 @@ [submodule ".gopath/src/github.com/warpfork/go-wish"] path = .gopath/src/github.com/warpfork/go-wish url = https://github.com/warpfork/go-wish +[submodule ".gopath/src/github.com/rogpeppe/go-internal"] + path = .gopath/src/github.com/rogpeppe/go-internal + url = https://github.com/rogpeppe/go-internal +[submodule ".gopath/src/github.com/frankban/quicktest"] + path = .gopath/src/github.com/frankban/quicktest + url = https://github.com/frankban/quicktest +[submodule ".gopath/src/github.com/kr/pretty"] + path = .gopath/src/github.com/kr/pretty + url = https://github.com/kr/pretty +[submodule ".gopath/src/github.com/kr/text"] + path = .gopath/src/github.com/kr/text + url = https://github.com/kr/text +[submodule ".gopath/src/github.com/google/go-cmp"] + path = .gopath/src/github.com/google/go-cmp + url = https://github.com/google/go-cmp diff --git a/.gopath/src/github.com/frankban/quicktest b/.gopath/src/github.com/frankban/quicktest new file mode 160000 index 0000000000000000000000000000000000000000..e7d1f0b53af1e9c9cf66924bc310190b1db8c339 --- /dev/null +++ b/.gopath/src/github.com/frankban/quicktest @@ -0,0 +1 @@ +Subproject commit e7d1f0b53af1e9c9cf66924bc310190b1db8c339 diff --git a/.gopath/src/github.com/google/go-cmp b/.gopath/src/github.com/google/go-cmp new file mode 160000 index 0000000000000000000000000000000000000000..3a98a11b2c6d5ad66696f2954b3811f0244fb71d --- /dev/null +++ b/.gopath/src/github.com/google/go-cmp @@ -0,0 +1 @@ +Subproject commit 3a98a11b2c6d5ad66696f2954b3811f0244fb71d diff --git a/.gopath/src/github.com/kr/pretty b/.gopath/src/github.com/kr/pretty new file mode 160000 index 0000000000000000000000000000000000000000..a883a8422cd235c67c6c4fdcb7bbb022143e10b1 --- /dev/null +++ b/.gopath/src/github.com/kr/pretty @@ -0,0 +1 @@ +Subproject commit a883a8422cd235c67c6c4fdcb7bbb022143e10b1 diff --git a/.gopath/src/github.com/kr/text b/.gopath/src/github.com/kr/text new file mode 160000 index 0000000000000000000000000000000000000000..cafcf9720371e5625e7300397de921f58e069d17 --- /dev/null +++ b/.gopath/src/github.com/kr/text @@ -0,0 +1 @@ +Subproject commit cafcf9720371e5625e7300397de921f58e069d17 diff --git a/.gopath/src/github.com/rogpeppe/go-internal b/.gopath/src/github.com/rogpeppe/go-internal new file mode 160000 index 0000000000000000000000000000000000000000..dc4b49510d96256f881880b9802536a6a70edfcc --- /dev/null +++ b/.gopath/src/github.com/rogpeppe/go-internal @@ -0,0 +1 @@ +Subproject commit dc4b49510d96256f881880b9802536a6a70edfcc diff --git a/go.mod b/go.mod index 8d6428852d74dd15c23a0b77613e7fa8a18ae9a3..117a7c9346d0846718f1cea6b2b8425063aa0866 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,8 @@ module github.com/ipld/go-ipld-prime go 1.14 require ( + github.com/frankban/quicktest v1.11.3 + github.com/google/go-cmp v0.5.4 github.com/ipfs/go-cid v0.0.4 github.com/minio/sha256-simd v0.1.1 // indirect github.com/mr-tron/base58 v1.1.3 // indirect diff --git a/go.sum b/go.sum index bc17d60f18e4dc8f4c8af17b0a5e01a2924a3073..25c92d9e7a1f7ca3aee9abdee309070d09e03b14 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,18 @@ +github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/ipfs/go-cid v0.0.4 h1:UlfXKrZx1DjZoBhQHmNHLC1fK1dUJDN20Y28A7s+gJ8= github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= @@ -41,3 +50,5 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82 h1:ywK/j/KkyTHcdyYSZNXGjMwgm golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/schema/compiler_rules.go b/schema/compiler_rules.go index d67d9706f87700ef29207c8d30be1a816122c4c2..9e0e0c3982b0d0e97780b7d942e000d87ef9f058 100644 --- a/schema/compiler_rules.go +++ b/schema/compiler_rules.go @@ -101,7 +101,7 @@ var rules = map[TypeKind][]rule{ alwaysApplies, func(ts *TypeSystem, t Type) []error { tRef := TypeReference(t.(*TypeMap).keyTypeRef) - if hasStringRepresentation(ts.types[tRef]) { + if !hasStringRepresentation(ts.types[tRef]) { return []error{fmt.Errorf("type %q is not a string typekind nor representation with string kind", tRef)} } return nil diff --git a/schema/dmt/compiler_test.go b/schema/dmt/compiler_test.go index 0a46e70df806a614b9821cd70f67fd7215a130f1..d117a50133487d9c552e7d5f623d3a70577f5e6a 100644 --- a/schema/dmt/compiler_test.go +++ b/schema/dmt/compiler_test.go @@ -5,6 +5,8 @@ import ( "strings" "testing" + qt "github.com/frankban/quicktest" + "github.com/google/go-cmp/cmp" "github.com/polydawn/refmt/json" . "github.com/warpfork/go-wish" @@ -201,7 +203,7 @@ func testParse(t *testing.T, schemajson string, expectParseErr error, expectType return nil } ts, typesystemErrs := dmt.Compile() - Require(t, typesystemErrs, ShouldEqual, expectTypesystemError) + qt.Assert(t, typesystemErrs, qt.CmpEquals(cmp.Transformer("asdf", func(e error) string { return e.Error() })), expectTypesystemError) return ts }