Skip to content

Commit 4d0cf5f

Browse files
test(coverage): add toml/xml malformed-input and indent paths
Signed-off-by: night-slayer18 <samanuaia257@gmail.com>
1 parent b9944ed commit 4d0cf5f

File tree

2 files changed

+49
-6
lines changed

2 files changed

+49
-6
lines changed

tests/toml_test.go

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
func TestTOMLToJSON_Transform(t *testing.T) {
1111
input := "[server]\nhost = \"localhost\"\nport = 8080"
12-
got, err := processors.TOMLToJSON{}.Transform([]byte(input))
12+
got, err := (processors.TOMLToJSON{}).Transform([]byte(input))
1313
if err != nil {
1414
t.Fatal(err)
1515
}
@@ -23,7 +23,7 @@ func TestTOMLToJSON_Transform(t *testing.T) {
2323

2424
func TestJSONToTOML_Transform(t *testing.T) {
2525
input := `{"server":{"host":"localhost","port":8080}}`
26-
got, err := processors.JSONToTOML{}.Transform([]byte(input))
26+
got, err := (processors.JSONToTOML{}).Transform([]byte(input))
2727
if err != nil {
2828
t.Fatal(err)
2929
}
@@ -34,15 +34,34 @@ func TestJSONToTOML_Transform(t *testing.T) {
3434

3535
func TestTOMLJSON_RoundTrip(t *testing.T) {
3636
toml := "[db]\nname = \"mydb\""
37-
json, err := processors.TOMLToJSON{}.Transform([]byte(toml))
37+
json, err := (processors.TOMLToJSON{}).Transform([]byte(toml))
3838
if err != nil {
3939
t.Fatal(err)
4040
}
41-
back, err := processors.JSONToTOML{}.Transform([]byte(json))
41+
back, err := (processors.JSONToTOML{}).Transform([]byte(json))
4242
if err != nil {
4343
t.Fatal(err)
4444
}
4545
if !strings.Contains(back, "mydb") {
4646
t.Errorf("roundtrip lost 'mydb': %q", back)
4747
}
4848
}
49+
50+
func TestTOMLJSON_InvalidInputsAndIndent(t *testing.T) {
51+
if _, err := (processors.TOMLToJSON{}).Transform([]byte("invalid = [")); err == nil {
52+
t.Fatal("expected toml-json error for malformed TOML")
53+
}
54+
55+
flags := []processors.Flag{{Name: "indent", Short: "i", Value: true, Type: processors.FlagBool}}
56+
got, err := (processors.TOMLToJSON{}).Transform([]byte("a = 1"), flags...)
57+
if err != nil {
58+
t.Fatal(err)
59+
}
60+
if !strings.Contains(got, "\n") {
61+
t.Fatalf("expected indented JSON from toml-json, got %q", got)
62+
}
63+
64+
if _, err := (processors.JSONToTOML{}).Transform([]byte(`{"a":`)); err == nil {
65+
t.Fatal("expected json-toml error for malformed JSON")
66+
}
67+
}

tests/xml_test.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
func TestXMLToJSON_Transform(t *testing.T) {
1111
input := `<root><name>tweak</name><version>1</version></root>`
12-
got, err := processors.XMLToJSON{}.Transform([]byte(input))
12+
got, err := (processors.XMLToJSON{}).Transform([]byte(input))
1313
if err != nil {
1414
t.Fatal(err)
1515
}
@@ -23,7 +23,7 @@ func TestJSONToXML_Transform(t *testing.T) {
2323
flags := []processors.Flag{
2424
{Name: "root", Short: "r", Value: "root", Type: processors.FlagString},
2525
}
26-
got, err := processors.JSONToXML{}.Transform([]byte(input), flags...)
26+
got, err := (processors.JSONToXML{}).Transform([]byte(input), flags...)
2727
if err != nil {
2828
t.Fatal(err)
2929
}
@@ -34,3 +34,27 @@ func TestJSONToXML_Transform(t *testing.T) {
3434
t.Errorf("expected XML tags in output, got: %q", got)
3535
}
3636
}
37+
38+
func TestXMLToJSON_InvalidXML(t *testing.T) {
39+
if _, err := (processors.XMLToJSON{}).Transform([]byte(`<root><broken>`)); err == nil {
40+
t.Fatal("expected xml-json error for malformed XML")
41+
}
42+
}
43+
44+
func TestJSONToXML_IndentAndInvalidJSON(t *testing.T) {
45+
flags := []processors.Flag{
46+
{Name: "indent", Short: "i", Value: true, Type: processors.FlagBool},
47+
{Name: "root", Short: "r", Value: "payload", Type: processors.FlagString},
48+
}
49+
got, err := (processors.JSONToXML{}).Transform([]byte(`{"a":1}`), flags...)
50+
if err != nil {
51+
t.Fatal(err)
52+
}
53+
if !strings.Contains(got, "\n") {
54+
t.Fatalf("expected indented XML output, got %q", got)
55+
}
56+
57+
if _, err := (processors.JSONToXML{}).Transform([]byte(`{"a":`)); err == nil {
58+
t.Fatal("expected json-xml error for malformed JSON")
59+
}
60+
}

0 commit comments

Comments
 (0)