parser_test.go

 1package i18n
 2
 3import (
 4	"encoding/json"
 5	"errors"
 6	"testing"
 7)
 8
 9func TestParseJSONWrapsSyntaxError(t *testing.T) {
10	_, err := ParseJSON([]byte(`{"language":"en","messages":`))
11	if err == nil {
12		t.Fatal("ParseJSON() error = nil, want parse error")
13	}
14
15	if !errors.Is(err, ErrParseFailed) {
16		t.Fatalf("ParseJSON() error = %v, want ErrParseFailed in chain", err)
17	}
18
19	var syntaxErr *json.SyntaxError
20	if !errors.As(err, &syntaxErr) {
21		t.Fatalf("ParseJSON() error = %v, want json.SyntaxError in chain", err)
22	}
23}