Skip to content

Commit 76cd647

Browse files
authored
test: add missing json/jsonc tests for rules (#142)
1 parent 80bc62e commit 76cd647

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed

tests/rules/no-duplicate-keys.test.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ ruleTester.run("no-duplicate-keys", rule, {
3030
"{}",
3131
'{"foo": 1, "bar": {"bar": 2}}',
3232
'{"foo": { "bar": 5 }, "bar": 6 }',
33+
{
34+
code: '{"foo": 1, "bar": {"bar": 2}}',
35+
language: "json/jsonc",
36+
},
3337
{
3438
code: "{foo: 1, bar: {bar: 2}}",
3539
language: "json/json5",
@@ -67,6 +71,20 @@ ruleTester.run("no-duplicate-keys", rule, {
6771
},
6872
],
6973
},
74+
{
75+
code: '{"foo": 1, "foo": 2}',
76+
language: "json/jsonc",
77+
errors: [
78+
{
79+
messageId: "duplicateKey",
80+
data: { key: "foo" },
81+
line: 1,
82+
column: 12,
83+
endLine: 1,
84+
endColumn: 17,
85+
},
86+
],
87+
},
7088
{
7189
code: "{foo: 1, foo: 2}",
7290
language: "json/json5",

tests/rules/no-empty-keys.test.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ const ruleTester = new RuleTester({
2525
ruleTester.run("no-empty-keys", rule, {
2626
valid: [
2727
'{"foo": 1, "bar": 2}',
28+
{
29+
code: '{"foo": 1, "bar": 2, "baz": 3}',
30+
language: "json/jsonc",
31+
},
2832
{
2933
code: '{"foo": 1, "bar": 2, "baz": 3}',
3034
language: "json/json5",
@@ -59,6 +63,32 @@ ruleTester.run("no-empty-keys", rule, {
5963
},
6064
],
6165
},
66+
{
67+
code: '{"": 1}',
68+
language: "json/jsonc",
69+
errors: [
70+
{
71+
messageId: "emptyKey",
72+
line: 1,
73+
column: 2,
74+
endLine: 1,
75+
endColumn: 4,
76+
},
77+
],
78+
},
79+
{
80+
code: '{" ": 1}',
81+
language: "json/jsonc",
82+
errors: [
83+
{
84+
messageId: "emptyKey",
85+
line: 1,
86+
column: 2,
87+
endLine: 1,
88+
endColumn: 6,
89+
},
90+
],
91+
},
6292
{
6393
code: "{'': 1}",
6494
language: "json/json5",

tests/rules/no-unnormalized-keys.test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,20 @@ ruleTester.run("no-unnormalized-keys", rule, {
5858
},
5959
],
6060
},
61+
{
62+
code: `{"${o.normalize("NFD")}":"NFD"}`,
63+
language: "json/jsonc",
64+
errors: [
65+
{
66+
messageId: "unnormalizedKey",
67+
data: { key: o.normalize("NFD") },
68+
line: 1,
69+
column: 2,
70+
endLine: 1,
71+
endColumn: 7,
72+
},
73+
],
74+
},
6175
{
6276
code: `{${o.normalize("NFD")}:"NFD"}`,
6377
language: "json/json5",

tests/rules/top-level-interop.test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ const ruleTester = new RuleTester({
2525
ruleTester.run("top-level-interop", rule, {
2626
valid: [
2727
"[]",
28+
"[1]",
29+
"[1, 2]",
30+
{
31+
code: "[1]",
32+
language: "json/jsonc",
33+
},
34+
{
35+
code: "[1, 2]",
36+
language: "json/jsonc",
37+
},
2838
{
2939
code: "[1]",
3040
language: "json/json5",
@@ -34,6 +44,16 @@ ruleTester.run("top-level-interop", rule, {
3444
language: "json/json5",
3545
},
3646
"{}",
47+
'{"foo": 1}',
48+
'{"foo": 1, "foo": 2}',
49+
{
50+
code: '{"foo": 1}',
51+
language: "json/jsonc",
52+
},
53+
{
54+
code: '{"foo": 1, "foo": 2}',
55+
language: "json/jsonc",
56+
},
3757
{
3858
code: '{"foo": 1}',
3959
language: "json/json5",

0 commit comments

Comments
 (0)