diff --git a/did_test.go b/did_test.go index ab18dbc..3d04949 100644 --- a/did_test.go +++ b/did_test.go @@ -330,6 +330,25 @@ func TestParse(t *testing.T) { t.Errorf("error is nil") } + _, err = Parse("did:a:123:456/%!*") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456/%!A") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456/%A!") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456/%A%") + if err == nil { + t.Errorf("error is nil") + } }) t.Run("fails if path is empty but there is a slash", func(t *testing.T) { @@ -401,6 +420,26 @@ func TestParse(t *testing.T) { if err == nil { t.Errorf("error is nil") } + + _, err = Parse("did:a:123:456#%!*") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456#%!A") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456#%A!") + if err == nil { + t.Errorf("error is nil") + } + + _, err = Parse("did:a:123:456#%A%") + if err == nil { + t.Errorf("error is nil") + } }) t.Run("fails if fragment has invalid char", func(t *testing.T) {