]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/sort-keys.js
ff6482747ad9a50c82b216d1db9a8694da5d2206
2 * @fileoverview Tests for sort-keys rule.
3 * @author Toru Nagashima
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/sort-keys"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester();
21 ruleTester
.run("sort-keys", rule
, {
25 { code
: "var obj = {'':1, [``]:2}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
26 { code
: "var obj = {[``]:1, '':2}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
27 { code
: "var obj = {'':1, a:2}", options
: [] },
28 { code
: "var obj = {[``]:1, a:2}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
29 { code
: "var obj = {_:2, a:1, b:3} // default", options
: [] },
30 { code
: "var obj = {a:1, b:3, c:2}", options
: [] },
31 { code
: "var obj = {a:2, b:3, b_:1}", options
: [] },
32 { code
: "var obj = {C:3, b_:1, c:2}", options
: [] },
33 { code
: "var obj = {$:1, A:3, _:2, a:4}", options
: [] },
34 { code
: "var obj = {1:1, '11':2, 2:4, A:3}", options
: [] },
35 { code
: "var obj = {'#':1, 'Z':2, À:3, è:4}", options
: [] },
36 { code
: "var obj = { [/(?<zero>0)/]: 1, '/(?<zero>0)/': 2 }", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
38 // ignore non-simple computed properties.
39 { code
: "var obj = {a:1, b:3, [a + b]: -1, c:2}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
40 { code
: "var obj = {'':1, [f()]:2, a:3}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
41 { code
: "var obj = {a:1, [b++]:2, '':3}", options
: ["desc"], parserOptions
: { ecmaVersion
: 6 } },
43 // ignore properties separated by spread properties
44 { code
: "var obj = {a:1, ...z, b:1}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
45 { code
: "var obj = {b:1, ...z, a:1}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
46 { code
: "var obj = {...a, b:1, ...c, d:1}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
47 { code
: "var obj = {...a, b:1, ...d, ...c, e:2, z:5}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
48 { code
: "var obj = {b:1, ...c, ...d, e:2}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
49 { code
: "var obj = {a:1, ...z, '':2}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
50 { code
: "var obj = {'':1, ...z, 'a':2}", options
: ["desc"], parserOptions
: { ecmaVersion
: 2018 } },
52 // not ignore properties not separated by spread properties
53 { code
: "var obj = {...z, a:1, b:1}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
54 { code
: "var obj = {...z, ...c, a:1, b:1}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
55 { code
: "var obj = {a:1, b:1, ...z}", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
56 { code
: "var obj = {...z, ...x, a:1, ...c, ...d, f:5, e:4}", options
: ["desc"], parserOptions
: { ecmaVersion
: 2018 } },
58 // works when spread occurs somewhere other than an object literal
59 { code
: "function fn(...args) { return [...args].length; }", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
60 { code
: "function g() {}; function f(...args) { return g(...args); }", options
: [], parserOptions
: { ecmaVersion
: 2018 } },
62 // ignore destructuring patterns.
63 { code
: "let {a, b} = {}", options
: [], parserOptions
: { ecmaVersion
: 6 } },
66 { code
: "var obj = {a:1, b:{x:1, y:1}, c:1}", options
: [] },
69 { code
: "var obj = {_:2, a:1, b:3} // asc", options
: ["asc"] },
70 { code
: "var obj = {a:1, b:3, c:2}", options
: ["asc"] },
71 { code
: "var obj = {a:2, b:3, b_:1}", options
: ["asc"] },
72 { code
: "var obj = {C:3, b_:1, c:2}", options
: ["asc"] },
73 { code
: "var obj = {$:1, A:3, _:2, a:4}", options
: ["asc"] },
74 { code
: "var obj = {1:1, '11':2, 2:4, A:3}", options
: ["asc"] },
75 { code
: "var obj = {'#':1, 'Z':2, À:3, è:4}", options
: ["asc"] },
77 // asc, minKeys should ignore unsorted keys when number of keys is less than minKeys
78 { code
: "var obj = {a:1, c:2, b:3}", options
: ["asc", { minKeys
: 4 }] },
81 { code
: "var obj = {_:2, a:1, b:3} // asc, insensitive", options
: ["asc", { caseSensitive
: false }] },
82 { code
: "var obj = {a:1, b:3, c:2}", options
: ["asc", { caseSensitive
: false }] },
83 { code
: "var obj = {a:2, b:3, b_:1}", options
: ["asc", { caseSensitive
: false }] },
84 { code
: "var obj = {b_:1, C:3, c:2}", options
: ["asc", { caseSensitive
: false }] },
85 { code
: "var obj = {b_:1, c:3, C:2}", options
: ["asc", { caseSensitive
: false }] },
86 { code
: "var obj = {$:1, _:2, A:3, a:4}", options
: ["asc", { caseSensitive
: false }] },
87 { code
: "var obj = {1:1, '11':2, 2:4, A:3}", options
: ["asc", { caseSensitive
: false }] },
88 { code
: "var obj = {'#':1, 'Z':2, À:3, è:4}", options
: ["asc", { caseSensitive
: false }] },
90 // asc, insensitive, minKeys should ignore unsorted keys when number of keys is less than minKeys
91 { code
: "var obj = {$:1, A:3, _:2, a:4}", options
: ["asc", { caseSensitive
: false, minKeys
: 5 }] },
94 { code
: "var obj = {_:2, a:1, b:3} // asc, natural", options
: ["asc", { natural
: true }] },
95 { code
: "var obj = {a:1, b:3, c:2}", options
: ["asc", { natural
: true }] },
96 { code
: "var obj = {a:2, b:3, b_:1}", options
: ["asc", { natural
: true }] },
97 { code
: "var obj = {C:3, b_:1, c:2}", options
: ["asc", { natural
: true }] },
98 { code
: "var obj = {$:1, _:2, A:3, a:4}", options
: ["asc", { natural
: true }] },
99 { code
: "var obj = {1:1, 2:4, '11':2, A:3}", options
: ["asc", { natural
: true }] },
100 { code
: "var obj = {'#':1, 'Z':2, À:3, è:4}", options
: ["asc", { natural
: true }] },
102 // asc, natural, minKeys should ignore unsorted keys when number of keys is less than minKeys
103 { code
: "var obj = {b_:1, a:2, b:3}", options
: ["asc", { natural
: true, minKeys
: 4 }] },
105 // asc, natural, insensitive
106 { code
: "var obj = {_:2, a:1, b:3} // asc, natural, insensitive", options
: ["asc", { natural
: true, caseSensitive
: false }] },
107 { code
: "var obj = {a:1, b:3, c:2}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
108 { code
: "var obj = {a:2, b:3, b_:1}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
109 { code
: "var obj = {b_:1, C:3, c:2}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
110 { code
: "var obj = {b_:1, c:3, C:2}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
111 { code
: "var obj = {$:1, _:2, A:3, a:4}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
112 { code
: "var obj = {1:1, 2:4, '11':2, A:3}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
113 { code
: "var obj = {'#':1, 'Z':2, À:3, è:4}", options
: ["asc", { natural
: true, caseSensitive
: false }] },
115 // asc, natural, insensitive, minKeys should ignore unsorted keys when number of keys is less than minKeys
116 { code
: "var obj = {a:1, _:2, b:3}", options
: ["asc", { natural
: true, caseSensitive
: false, minKeys
: 4 }] },
119 { code
: "var obj = {b:3, a:1, _:2} // desc", options
: ["desc"] },
120 { code
: "var obj = {c:2, b:3, a:1}", options
: ["desc"] },
121 { code
: "var obj = {b_:1, b:3, a:2}", options
: ["desc"] },
122 { code
: "var obj = {c:2, b_:1, C:3}", options
: ["desc"] },
123 { code
: "var obj = {a:4, _:2, A:3, $:1}", options
: ["desc"] },
124 { code
: "var obj = {A:3, 2:4, '11':2, 1:1}", options
: ["desc"] },
125 { code
: "var obj = {è:4, À:3, 'Z':2, '#':1}", options
: ["desc"] },
127 // desc, minKeys should ignore unsorted keys when number of keys is less than minKeys
128 { code
: "var obj = {a:1, c:2, b:3}", options
: ["desc", { minKeys
: 4 }] },
131 { code
: "var obj = {b:3, a:1, _:2} // desc, insensitive", options
: ["desc", { caseSensitive
: false }] },
132 { code
: "var obj = {c:2, b:3, a:1}", options
: ["desc", { caseSensitive
: false }] },
133 { code
: "var obj = {b_:1, b:3, a:2}", options
: ["desc", { caseSensitive
: false }] },
134 { code
: "var obj = {c:2, C:3, b_:1}", options
: ["desc", { caseSensitive
: false }] },
135 { code
: "var obj = {C:2, c:3, b_:1}", options
: ["desc", { caseSensitive
: false }] },
136 { code
: "var obj = {a:4, A:3, _:2, $:1}", options
: ["desc", { caseSensitive
: false }] },
137 { code
: "var obj = {A:3, 2:4, '11':2, 1:1}", options
: ["desc", { caseSensitive
: false }] },
138 { code
: "var obj = {è:4, À:3, 'Z':2, '#':1}", options
: ["desc", { caseSensitive
: false }] },
140 // desc, insensitive, minKeys should ignore unsorted keys when number of keys is less than minKeys
141 { code
: "var obj = {$:1, _:2, A:3, a:4}", options
: ["desc", { caseSensitive
: false, minKeys
: 5 }] },
144 { code
: "var obj = {b:3, a:1, _:2} // desc, natural", options
: ["desc", { natural
: true }] },
145 { code
: "var obj = {c:2, b:3, a:1}", options
: ["desc", { natural
: true }] },
146 { code
: "var obj = {b_:1, b:3, a:2}", options
: ["desc", { natural
: true }] },
147 { code
: "var obj = {c:2, b_:1, C:3}", options
: ["desc", { natural
: true }] },
148 { code
: "var obj = {a:4, A:3, _:2, $:1}", options
: ["desc", { natural
: true }] },
149 { code
: "var obj = {A:3, '11':2, 2:4, 1:1}", options
: ["desc", { natural
: true }] },
150 { code
: "var obj = {è:4, À:3, 'Z':2, '#':1}", options
: ["desc", { natural
: true }] },
152 // desc, natural, minKeys should ignore unsorted keys when number of keys is less than minKeys
153 { code
: "var obj = {b_:1, a:2, b:3}", options
: ["desc", { natural
: true, minKeys
: 4 }] },
155 // desc, natural, insensitive
156 { code
: "var obj = {b:3, a:1, _:2} // desc, natural, insensitive", options
: ["desc", { natural
: true, caseSensitive
: false }] },
157 { code
: "var obj = {c:2, b:3, a:1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
158 { code
: "var obj = {b_:1, b:3, a:2}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
159 { code
: "var obj = {c:2, C:3, b_:1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
160 { code
: "var obj = {C:2, c:3, b_:1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
161 { code
: "var obj = {a:4, A:3, _:2, $:1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
162 { code
: "var obj = {A:3, '11':2, 2:4, 1:1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
163 { code
: "var obj = {è:4, À:3, 'Z':2, '#':1}", options
: ["desc", { natural
: true, caseSensitive
: false }] },
165 // desc, natural, insensitive, minKeys should ignore unsorted keys when number of keys is less than minKeys
166 { code
: "var obj = {a:1, _:2, b:3}", options
: ["desc", { natural
: true, caseSensitive
: false, minKeys
: 4 }] }
172 code
: "var obj = {a:1, '':2} // default",
175 messageId
: "sortKeys",
187 code
: "var obj = {a:1, [``]:2} // default",
188 parserOptions
: { ecmaVersion
: 6 },
191 messageId
: "sortKeys",
203 code
: "var obj = {a:1, _:2, b:3} // default",
206 messageId
: "sortKeys",
218 code
: "var obj = {a:1, c:2, b:3}",
221 messageId
: "sortKeys",
233 code
: "var obj = {b_:1, a:2, b:3}",
236 messageId
: "sortKeys",
248 code
: "var obj = {b_:1, c:2, C:3}",
251 messageId
: "sortKeys",
263 code
: "var obj = {$:1, _:2, A:3, a:4}",
266 messageId
: "sortKeys",
278 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
281 messageId
: "sortKeys",
293 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
296 messageId
: "sortKeys",
308 code
: "var obj = { null: 1, [/(?<zero>0)/]: 2 }",
309 parserOptions
: { ecmaVersion
: 2018 },
312 messageId
: "sortKeys",
317 thisName
: "/(?<zero>0)/",
324 // not ignore properties not separated by spread properties
326 code
: "var obj = {...z, c:1, b:1}",
328 parserOptions
: { ecmaVersion
: 2018 },
331 messageId
: "sortKeys",
343 code
: "var obj = {...z, ...c, d:4, b:1, ...y, ...f, e:2, a:1}",
345 parserOptions
: { ecmaVersion
: 2018 },
348 messageId
: "sortKeys",
358 messageId
: "sortKeys",
370 code
: "var obj = {c:1, b:1, ...a}",
372 parserOptions
: { ecmaVersion
: 2018 },
375 messageId
: "sortKeys",
387 code
: "var obj = {...z, ...a, c:1, b:1}",
389 parserOptions
: { ecmaVersion
: 2018 },
392 messageId
: "sortKeys",
404 code
: "var obj = {...z, b:1, a:1, ...d, ...c}",
406 parserOptions
: { ecmaVersion
: 2018 },
409 messageId
: "sortKeys",
421 code
: "var obj = {...z, a:2, b:0, ...x, ...c}",
423 parserOptions
: { ecmaVersion
: 2018 },
426 messageId
: "sortKeys",
438 code
: "var obj = {...z, a:2, b:0, ...x}",
440 parserOptions
: { ecmaVersion
: 2018 },
443 messageId
: "sortKeys",
455 code
: "var obj = {...z, '':1, a:2}",
457 parserOptions
: { ecmaVersion
: 2018 },
460 messageId
: "sortKeys",
472 // ignore non-simple computed properties, but their position shouldn't affect other comparisons.
474 code
: "var obj = {a:1, [b+c]:2, '':3}",
475 parserOptions
: { ecmaVersion
: 6 },
478 messageId
: "sortKeys",
490 code
: "var obj = {'':1, [b+c]:2, a:3}",
492 parserOptions
: { ecmaVersion
: 6 },
495 messageId
: "sortKeys",
507 code
: "var obj = {b:1, [f()]:2, '':3, a:4}",
509 parserOptions
: { ecmaVersion
: 6 },
512 messageId
: "sortKeys",
524 // not ignore simple computed properties.
526 code
: "var obj = {a:1, b:3, [a]: -1, c:2}",
527 parserOptions
: { ecmaVersion
: 6 },
530 messageId
: "sortKeys",
544 code
: "var obj = {a:1, c:{y:1, x:1}, b:1}",
547 messageId
: "sortKeys",
557 messageId
: "sortKeys",
571 code
: "var obj = {a:1, _:2, b:3} // asc",
575 messageId
: "sortKeys",
587 code
: "var obj = {a:1, c:2, b:3}",
591 messageId
: "sortKeys",
603 code
: "var obj = {b_:1, a:2, b:3}",
607 messageId
: "sortKeys",
619 code
: "var obj = {b_:1, c:2, C:3}",
623 messageId
: "sortKeys",
635 code
: "var obj = {$:1, _:2, A:3, a:4}",
639 messageId
: "sortKeys",
651 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
655 messageId
: "sortKeys",
667 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
671 messageId
: "sortKeys",
683 // asc, minKeys should error when number of keys is greater than or equal to minKeys
685 code
: "var obj = {a:1, _:2, b:3}",
686 options
: ["asc", { minKeys
: 3 }],
689 messageId
: "sortKeys",
703 code
: "var obj = {a:1, _:2, b:3} // asc, insensitive",
704 options
: ["asc", { caseSensitive
: false }],
707 messageId
: "sortKeys",
710 insensitive
: "insensitive ",
719 code
: "var obj = {a:1, c:2, b:3}",
720 options
: ["asc", { caseSensitive
: false }],
723 messageId
: "sortKeys",
726 insensitive
: "insensitive ",
735 code
: "var obj = {b_:1, a:2, b:3}",
736 options
: ["asc", { caseSensitive
: false }],
739 messageId
: "sortKeys",
742 insensitive
: "insensitive ",
751 code
: "var obj = {$:1, A:3, _:2, a:4}",
752 options
: ["asc", { caseSensitive
: false }],
755 messageId
: "sortKeys",
758 insensitive
: "insensitive ",
767 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
768 options
: ["asc", { caseSensitive
: false }],
771 messageId
: "sortKeys",
774 insensitive
: "insensitive ",
783 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
784 options
: ["asc", { caseSensitive
: false }],
787 messageId
: "sortKeys",
790 insensitive
: "insensitive ",
799 // asc, insensitive, minKeys should error when number of keys is greater than or equal to minKeys
801 code
: "var obj = {a:1, _:2, b:3}",
802 options
: ["asc", { caseSensitive
: false, minKeys
: 3 }],
805 messageId
: "sortKeys",
808 insensitive
: "insensitive ",
819 code
: "var obj = {a:1, _:2, b:3} // asc, natural",
820 options
: ["asc", { natural
: true }],
823 messageId
: "sortKeys",
835 code
: "var obj = {a:1, c:2, b:3}",
836 options
: ["asc", { natural
: true }],
839 messageId
: "sortKeys",
851 code
: "var obj = {b_:1, a:2, b:3}",
852 options
: ["asc", { natural
: true }],
855 messageId
: "sortKeys",
867 code
: "var obj = {b_:1, c:2, C:3}",
868 options
: ["asc", { natural
: true }],
871 messageId
: "sortKeys",
883 code
: "var obj = {$:1, A:3, _:2, a:4}",
884 options
: ["asc", { natural
: true }],
887 messageId
: "sortKeys",
899 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
900 options
: ["asc", { natural
: true }],
903 messageId
: "sortKeys",
915 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
916 options
: ["asc", { natural
: true }],
919 messageId
: "sortKeys",
931 // asc, natural, minKeys should error when number of keys is greater than or equal to minKeys
933 code
: "var obj = {a:1, _:2, b:3}",
934 options
: ["asc", { natural
: true, minKeys
: 2 }],
937 messageId
: "sortKeys",
949 // asc, natural, insensitive
951 code
: "var obj = {a:1, _:2, b:3} // asc, natural, insensitive",
952 options
: ["asc", { natural
: true, caseSensitive
: false }],
955 messageId
: "sortKeys",
958 insensitive
: "insensitive ",
967 code
: "var obj = {a:1, c:2, b:3}",
968 options
: ["asc", { natural
: true, caseSensitive
: false }],
971 messageId
: "sortKeys",
974 insensitive
: "insensitive ",
983 code
: "var obj = {b_:1, a:2, b:3}",
984 options
: ["asc", { natural
: true, caseSensitive
: false }],
987 messageId
: "sortKeys",
990 insensitive
: "insensitive ",
999 code
: "var obj = {$:1, A:3, _:2, a:4}",
1000 options
: ["asc", { natural
: true, caseSensitive
: false }],
1003 messageId
: "sortKeys",
1005 natural
: "natural ",
1006 insensitive
: "insensitive ",
1015 code
: "var obj = {1:1, '11':2, 2:4, A:3}",
1016 options
: ["asc", { natural
: true, caseSensitive
: false }],
1019 messageId
: "sortKeys",
1021 natural
: "natural ",
1022 insensitive
: "insensitive ",
1031 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
1032 options
: ["asc", { natural
: true, caseSensitive
: false }],
1035 messageId
: "sortKeys",
1037 natural
: "natural ",
1038 insensitive
: "insensitive ",
1047 // asc, natural, insensitive, minKeys should error when number of keys is greater than or equal to minKeys
1049 code
: "var obj = {a:1, _:2, b:3}",
1050 options
: ["asc", { natural
: true, caseSensitive
: false, minKeys
: 3 }],
1053 messageId
: "sortKeys",
1055 natural
: "natural ",
1056 insensitive
: "insensitive ",
1067 code
: "var obj = {'':1, a:'2'} // desc",
1071 messageId
: "sortKeys",
1083 code
: "var obj = {[``]:1, a:'2'} // desc",
1085 parserOptions
: { ecmaVersion
: 6 },
1088 messageId
: "sortKeys",
1100 code
: "var obj = {a:1, _:2, b:3} // desc",
1104 messageId
: "sortKeys",
1116 code
: "var obj = {a:1, c:2, b:3}",
1120 messageId
: "sortKeys",
1132 code
: "var obj = {b_:1, a:2, b:3}",
1136 messageId
: "sortKeys",
1148 code
: "var obj = {b_:1, c:2, C:3}",
1152 messageId
: "sortKeys",
1164 code
: "var obj = {$:1, _:2, A:3, a:4}",
1168 messageId
: "sortKeys",
1178 messageId
: "sortKeys",
1190 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
1194 messageId
: "sortKeys",
1204 messageId
: "sortKeys",
1216 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
1220 messageId
: "sortKeys",
1230 messageId
: "sortKeys",
1242 // desc, minKeys should error when number of keys is greater than or equal to minKeys
1244 code
: "var obj = {a:1, _:2, b:3}",
1245 options
: ["desc", { minKeys
: 3 }],
1248 messageId
: "sortKeys",
1260 // desc, insensitive
1262 code
: "var obj = {a:1, _:2, b:3} // desc, insensitive",
1263 options
: ["desc", { caseSensitive
: false }],
1266 messageId
: "sortKeys",
1269 insensitive
: "insensitive ",
1278 code
: "var obj = {a:1, c:2, b:3}",
1279 options
: ["desc", { caseSensitive
: false }],
1282 messageId
: "sortKeys",
1285 insensitive
: "insensitive ",
1294 code
: "var obj = {b_:1, a:2, b:3}",
1295 options
: ["desc", { caseSensitive
: false }],
1298 messageId
: "sortKeys",
1301 insensitive
: "insensitive ",
1310 code
: "var obj = {b_:1, c:2, C:3}",
1311 options
: ["desc", { caseSensitive
: false }],
1314 messageId
: "sortKeys",
1317 insensitive
: "insensitive ",
1326 code
: "var obj = {$:1, _:2, A:3, a:4}",
1327 options
: ["desc", { caseSensitive
: false }],
1330 messageId
: "sortKeys",
1333 insensitive
: "insensitive ",
1340 messageId
: "sortKeys",
1343 insensitive
: "insensitive ",
1352 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
1353 options
: ["desc", { caseSensitive
: false }],
1356 messageId
: "sortKeys",
1359 insensitive
: "insensitive ",
1366 messageId
: "sortKeys",
1369 insensitive
: "insensitive ",
1378 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
1379 options
: ["desc", { caseSensitive
: false }],
1382 messageId
: "sortKeys",
1385 insensitive
: "insensitive ",
1392 messageId
: "sortKeys",
1395 insensitive
: "insensitive ",
1404 // desc, insensitive should error when number of keys is greater than or equal to minKeys
1406 code
: "var obj = {a:1, _:2, b:3}",
1407 options
: ["desc", { caseSensitive
: false, minKeys
: 2 }],
1410 messageId
: "sortKeys",
1413 insensitive
: "insensitive ",
1424 code
: "var obj = {a:1, _:2, b:3} // desc, natural",
1425 options
: ["desc", { natural
: true }],
1428 messageId
: "sortKeys",
1430 natural
: "natural ",
1440 code
: "var obj = {a:1, c:2, b:3}",
1441 options
: ["desc", { natural
: true }],
1444 messageId
: "sortKeys",
1446 natural
: "natural ",
1456 code
: "var obj = {b_:1, a:2, b:3}",
1457 options
: ["desc", { natural
: true }],
1460 messageId
: "sortKeys",
1462 natural
: "natural ",
1472 code
: "var obj = {b_:1, c:2, C:3}",
1473 options
: ["desc", { natural
: true }],
1476 messageId
: "sortKeys",
1478 natural
: "natural ",
1488 code
: "var obj = {$:1, _:2, A:3, a:4}",
1489 options
: ["desc", { natural
: true }],
1492 messageId
: "sortKeys",
1494 natural
: "natural ",
1502 messageId
: "sortKeys",
1504 natural
: "natural ",
1512 messageId
: "sortKeys",
1514 natural
: "natural ",
1524 code
: "var obj = {1:1, 2:4, A:3, '11':2}",
1525 options
: ["desc", { natural
: true }],
1528 messageId
: "sortKeys",
1530 natural
: "natural ",
1538 messageId
: "sortKeys",
1540 natural
: "natural ",
1550 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
1551 options
: ["desc", { natural
: true }],
1554 messageId
: "sortKeys",
1556 natural
: "natural ",
1564 messageId
: "sortKeys",
1566 natural
: "natural ",
1576 // desc, natural should error when number of keys is greater than or equal to minKeys
1578 code
: "var obj = {a:1, _:2, b:3}",
1579 options
: ["desc", { natural
: true, minKeys
: 3 }],
1582 messageId
: "sortKeys",
1584 natural
: "natural ",
1594 // desc, natural, insensitive
1596 code
: "var obj = {a:1, _:2, b:3} // desc, natural, insensitive",
1597 options
: ["desc", { natural
: true, caseSensitive
: false }],
1600 messageId
: "sortKeys",
1602 natural
: "natural ",
1603 insensitive
: "insensitive ",
1612 code
: "var obj = {a:1, c:2, b:3}",
1613 options
: ["desc", { natural
: true, caseSensitive
: false }],
1616 messageId
: "sortKeys",
1618 natural
: "natural ",
1619 insensitive
: "insensitive ",
1628 code
: "var obj = {b_:1, a:2, b:3}",
1629 options
: ["desc", { natural
: true, caseSensitive
: false }],
1632 messageId
: "sortKeys",
1634 natural
: "natural ",
1635 insensitive
: "insensitive ",
1644 code
: "var obj = {b_:1, c:2, C:3}",
1645 options
: ["desc", { natural
: true, caseSensitive
: false }],
1648 messageId
: "sortKeys",
1650 natural
: "natural ",
1651 insensitive
: "insensitive ",
1660 code
: "var obj = {$:1, _:2, A:3, a:4}",
1661 options
: ["desc", { natural
: true, caseSensitive
: false }],
1664 messageId
: "sortKeys",
1666 natural
: "natural ",
1667 insensitive
: "insensitive ",
1674 messageId
: "sortKeys",
1676 natural
: "natural ",
1677 insensitive
: "insensitive ",
1686 code
: "var obj = {1:1, 2:4, '11':2, A:3}",
1687 options
: ["desc", { natural
: true, caseSensitive
: false }],
1690 messageId
: "sortKeys",
1692 natural
: "natural ",
1693 insensitive
: "insensitive ",
1700 messageId
: "sortKeys",
1702 natural
: "natural ",
1703 insensitive
: "insensitive ",
1710 messageId
: "sortKeys",
1712 natural
: "natural ",
1713 insensitive
: "insensitive ",
1722 code
: "var obj = {'#':1, À:3, 'Z':2, è:4}",
1723 options
: ["desc", { natural
: true, caseSensitive
: false }],
1726 messageId
: "sortKeys",
1728 natural
: "natural ",
1729 insensitive
: "insensitive ",
1736 messageId
: "sortKeys",
1738 natural
: "natural ",
1739 insensitive
: "insensitive ",
1748 // desc, natural, insensitive should error when number of keys is greater than or equal to minKeys
1750 code
: "var obj = {a:1, _:2, b:3}",
1751 options
: ["desc", { natural
: true, caseSensitive
: false, minKeys
: 2 }],
1754 messageId
: "sortKeys",
1756 natural
: "natural ",
1757 insensitive
: "insensitive ",