@@ -66,6 +66,7 @@ ruleTester.run("no-misleading-character-class", rule, {
66
66
"var r = /[\\u200D]/u" ,
67
67
68
68
// don't report and don't crash on invalid regex
69
+ "new RegExp('[Á] [ ');" ,
69
70
"var r = new RegExp('[Á] [ ');" ,
70
71
"var r = RegExp('{ [Á]', 'u');" ,
71
72
{ code : "var r = new globalThis.RegExp('[Á] [ ');" , languageOptions : { ecmaVersion : 2020 } } ,
@@ -84,21 +85,75 @@ ruleTester.run("no-misleading-character-class", rule, {
84
85
{
85
86
code : "var r = /[👍]/" ,
86
87
errors : [ {
88
+ column : 11 ,
89
+ endColumn : 13 ,
90
+ line : 1 ,
87
91
messageId : "surrogatePairWithoutUFlag" ,
88
92
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👍]/u" } ]
89
93
} ]
90
94
} ,
91
95
{
92
96
code : "var r = /[\\uD83D\\uDC4D]/" ,
93
97
errors : [ {
98
+ column : 11 ,
99
+ endColumn : 23 ,
94
100
messageId : "surrogatePairWithoutUFlag" ,
95
101
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[\\uD83D\\uDC4D]/u" } ]
96
102
} ]
97
103
} ,
104
+ {
105
+ code : "var r = /[\\uD83D\\uDC4D-\\uffff]/" ,
106
+ languageOptions : { ecmaVersion : 3 , sourceType : "script" } ,
107
+ errors : [ {
108
+ column : 11 ,
109
+ endColumn : 23 ,
110
+ messageId : "surrogatePairWithoutUFlag" ,
111
+ suggestions : null // pattern would be invalid with the 'u' flag
112
+ } ]
113
+ } ,
98
114
{
99
115
code : "var r = /[👍]/" ,
100
116
languageOptions : { ecmaVersion : 3 , sourceType : "script" } ,
101
117
errors : [ {
118
+ column : 11 ,
119
+ endColumn : 13 ,
120
+ messageId : "surrogatePairWithoutUFlag" ,
121
+ suggestions : null // pattern would be invalid with the 'u' flag
122
+ } ]
123
+ } ,
124
+ {
125
+ code : "var r = /before[\\uD83D\\uDC4D]after/" ,
126
+ errors : [ {
127
+ column : 17 ,
128
+ endColumn : 29 ,
129
+ messageId : "surrogatePairWithoutUFlag" ,
130
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /before[\\uD83D\\uDC4D]after/u" } ]
131
+ } ]
132
+ } ,
133
+ {
134
+ code : "var r = /[before\\uD83D\\uDC4Dafter]/" ,
135
+ errors : [ {
136
+ column : 17 ,
137
+ endColumn : 29 ,
138
+ messageId : "surrogatePairWithoutUFlag" ,
139
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[before\\uD83D\\uDC4Dafter]/u" } ]
140
+ } ]
141
+ } ,
142
+ {
143
+ code : "var r = /\\uDC4D[\\uD83D\\uDC4D]/" ,
144
+ errors : [ {
145
+ column : 17 ,
146
+ endColumn : 29 ,
147
+ messageId : "surrogatePairWithoutUFlag" ,
148
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /\\uDC4D[\\uD83D\\uDC4D]/u" } ]
149
+ } ]
150
+ } ,
151
+ {
152
+ code : "var r = /[👍]/" ,
153
+ languageOptions : { ecmaVersion : 3 , sourceType : "script" } ,
154
+ errors : [ {
155
+ column : 11 ,
156
+ endColumn : 13 ,
102
157
messageId : "surrogatePairWithoutUFlag" ,
103
158
suggestions : null // ecmaVersion doesn't support the 'u' flag
104
159
} ]
@@ -107,13 +162,26 @@ ruleTester.run("no-misleading-character-class", rule, {
107
162
code : "var r = /[👍]/" ,
108
163
languageOptions : { ecmaVersion : 5 , sourceType : "script" } ,
109
164
errors : [ {
165
+ column : 11 ,
166
+ endColumn : 13 ,
110
167
messageId : "surrogatePairWithoutUFlag" ,
111
168
suggestions : null // ecmaVersion doesn't support the 'u' flag
112
169
} ]
113
170
} ,
114
171
{
115
172
code : "var r = /[👍]\\a/" ,
116
173
errors : [ {
174
+ column : 11 ,
175
+ endColumn : 13 ,
176
+ messageId : "surrogatePairWithoutUFlag" ,
177
+ suggestions : null // pattern would be invalid with the 'u' flag
178
+ } ]
179
+ } ,
180
+ {
181
+ code : "var r = /\\a[👍]\\a/" ,
182
+ errors : [ {
183
+ column : 13 ,
184
+ endColumn : 15 ,
117
185
messageId : "surrogatePairWithoutUFlag" ,
118
186
suggestions : null // pattern would be invalid with the 'u' flag
119
187
} ]
@@ -122,6 +190,8 @@ ruleTester.run("no-misleading-character-class", rule, {
122
190
code : "var r = /(?<=[👍])/" ,
123
191
languageOptions : { ecmaVersion : 9 } ,
124
192
errors : [ {
193
+ column : 15 ,
194
+ endColumn : 17 ,
125
195
messageId : "surrogatePairWithoutUFlag" ,
126
196
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /(?<=[👍])/u" } ]
127
197
} ]
@@ -130,139 +200,211 @@ ruleTester.run("no-misleading-character-class", rule, {
130
200
code : "var r = /(?<=[👍])/" ,
131
201
languageOptions : { ecmaVersion : 2018 } ,
132
202
errors : [ {
203
+ column : 15 ,
204
+ endColumn : 17 ,
133
205
messageId : "surrogatePairWithoutUFlag" ,
134
206
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /(?<=[👍])/u" } ]
135
207
} ]
136
208
} ,
137
209
{
138
210
code : "var r = /[Á]/" ,
139
211
errors : [ {
212
+ column : 11 ,
213
+ endColumn : 13 ,
140
214
messageId : "combiningClass" ,
141
215
suggestions : null
142
216
} ]
143
217
} ,
144
218
{
145
219
code : "var r = /[Á]/u" ,
146
220
errors : [ {
221
+ column : 11 ,
222
+ endColumn : 13 ,
147
223
messageId : "combiningClass" ,
148
224
suggestions : null
149
225
} ]
150
226
} ,
151
227
{
152
228
code : "var r = /[\\u0041\\u0301]/" ,
153
229
errors : [ {
230
+ column : 11 ,
231
+ endColumn : 23 ,
154
232
messageId : "combiningClass" ,
155
233
suggestions : null
156
234
} ]
157
235
} ,
158
236
{
159
237
code : "var r = /[\\u0041\\u0301]/u" ,
160
238
errors : [ {
239
+ column : 11 ,
240
+ endColumn : 23 ,
161
241
messageId : "combiningClass" ,
162
242
suggestions : null
163
243
} ]
164
244
} ,
165
245
{
166
246
code : "var r = /[\\u{41}\\u{301}]/u" ,
167
247
errors : [ {
248
+ column : 11 ,
249
+ endColumn : 24 ,
168
250
messageId : "combiningClass" ,
169
251
suggestions : null
170
252
} ]
171
253
} ,
172
254
{
173
255
code : "var r = /[❇️]/" ,
174
256
errors : [ {
257
+ column : 11 ,
258
+ endColumn : 13 ,
175
259
messageId : "combiningClass" ,
176
260
suggestions : null
177
261
} ]
178
262
} ,
179
263
{
180
264
code : "var r = /[❇️]/u" ,
181
265
errors : [ {
266
+ column : 11 ,
267
+ endColumn : 13 ,
182
268
messageId : "combiningClass" ,
183
269
suggestions : null
184
270
} ]
185
271
} ,
186
272
{
187
273
code : "var r = /[\\u2747\\uFE0F]/" ,
188
274
errors : [ {
275
+ column : 11 ,
276
+ endColumn : 23 ,
189
277
messageId : "combiningClass" ,
190
278
suggestions : null
191
279
} ]
192
280
} ,
193
281
{
194
282
code : "var r = /[\\u2747\\uFE0F]/u" ,
195
283
errors : [ {
284
+ column : 11 ,
285
+ endColumn : 23 ,
196
286
messageId : "combiningClass" ,
197
287
suggestions : null
198
288
} ]
199
289
} ,
200
290
{
201
291
code : "var r = /[\\u{2747}\\u{FE0F}]/u" ,
202
292
errors : [ {
293
+ column : 11 ,
294
+ endColumn : 27 ,
203
295
messageId : "combiningClass" ,
204
296
suggestions : null
205
297
} ]
206
298
} ,
207
299
{
208
300
code : "var r = /[👶🏻]/" ,
209
- errors : [ {
210
- messageId : "surrogatePairWithoutUFlag" ,
211
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👶🏻]/u" } ]
212
- } ]
301
+ errors : [
302
+ {
303
+ column : 11 ,
304
+ endColumn : 13 ,
305
+ messageId : "surrogatePairWithoutUFlag" ,
306
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👶🏻]/u" } ]
307
+ } ,
308
+ {
309
+ column : 13 ,
310
+ endColumn : 15 ,
311
+ messageId : "surrogatePairWithoutUFlag" ,
312
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👶🏻]/u" } ]
313
+ }
314
+ ]
213
315
} ,
214
316
{
215
317
code : "var r = /[👶🏻]/u" ,
216
318
errors : [ {
319
+ column : 11 ,
320
+ endColumn : 15 ,
217
321
messageId : "emojiModifier" ,
218
322
suggestions : null
219
323
} ]
220
324
} ,
325
+ {
326
+ code : "var r = /[a\\uD83C\\uDFFB]/u" ,
327
+ errors : [ {
328
+ column : 11 ,
329
+ endColumn : 24 ,
330
+ messageId : "emojiModifier"
331
+ } ]
332
+ } ,
221
333
{
222
334
code : "var r = /[\\uD83D\\uDC76\\uD83C\\uDFFB]/u" ,
223
335
errors : [ {
336
+ column : 11 ,
337
+ endColumn : 35 ,
224
338
messageId : "emojiModifier" ,
225
339
suggestions : null
226
340
} ]
227
341
} ,
228
342
{
229
343
code : "var r = /[\\u{1F476}\\u{1F3FB}]/u" ,
230
344
errors : [ {
345
+ column : 11 ,
346
+ endColumn : 29 ,
231
347
messageId : "emojiModifier" ,
232
348
suggestions : null
233
349
} ]
234
350
} ,
235
351
{
236
352
code : "var r = /[🇯🇵]/" ,
237
- errors : [ {
238
- messageId : "surrogatePairWithoutUFlag" ,
239
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/u" } ]
240
- } ]
353
+ errors : [
354
+ {
355
+ column : 11 ,
356
+ endColumn : 13 ,
357
+ messageId : "surrogatePairWithoutUFlag" ,
358
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/u" } ]
359
+ } ,
360
+ {
361
+ column : 13 ,
362
+ endColumn : 15 ,
363
+ messageId : "surrogatePairWithoutUFlag" ,
364
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/u" } ]
365
+ }
366
+ ]
241
367
} ,
242
368
{
243
369
code : "var r = /[🇯🇵]/i" ,
244
- errors : [ {
245
- messageId : "surrogatePairWithoutUFlag" ,
246
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/iu" } ]
247
- } ]
370
+ errors : [
371
+ {
372
+ column : 11 ,
373
+ endColumn : 13 ,
374
+ messageId : "surrogatePairWithoutUFlag" ,
375
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/iu" } ]
376
+ } ,
377
+ {
378
+ column : 13 ,
379
+ endColumn : 15 ,
380
+ messageId : "surrogatePairWithoutUFlag" ,
381
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[🇯🇵]/iu" } ]
382
+ }
383
+ ]
248
384
} ,
249
385
{
250
386
code : "var r = /[🇯🇵]/u" ,
251
387
errors : [ {
388
+ column : 11 ,
389
+ endColumn : 15 ,
252
390
messageId : "regionalIndicatorSymbol" ,
253
391
suggestions : null
254
392
} ]
255
393
} ,
256
394
{
257
395
code : "var r = /[\\uD83C\\uDDEF\\uD83C\\uDDF5]/u" ,
258
396
errors : [ {
397
+ column : 11 ,
398
+ endColumn : 35 ,
259
399
messageId : "regionalIndicatorSymbol" ,
260
400
suggestions : null
261
401
} ]
262
402
} ,
263
403
{
264
404
code : "var r = /[\\u{1F1EF}\\u{1F1F5}]/u" ,
265
405
errors : [ {
406
+ column : 11 ,
407
+ endColumn : 29 ,
266
408
messageId : "regionalIndicatorSymbol" ,
267
409
suggestions : null
268
410
} ]
@@ -271,77 +413,205 @@ ruleTester.run("no-misleading-character-class", rule, {
271
413
code : "var r = /[👨👩👦]/" ,
272
414
errors : [
273
415
{
416
+ column : 11 ,
417
+ endColumn : 13 ,
274
418
messageId : "surrogatePairWithoutUFlag" ,
275
419
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👨👩👦]/u" } ]
276
420
} ,
277
421
{
422
+ column : 12 ,
423
+ endColumn : 18 ,
278
424
messageId : "zwj" ,
279
425
suggestions : null
426
+ } ,
427
+ {
428
+ column : 14 ,
429
+ endColumn : 16 ,
430
+ messageId : "surrogatePairWithoutUFlag" ,
431
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👨👩👦]/u" } ]
432
+ } ,
433
+ {
434
+ column : 17 ,
435
+ endColumn : 19 ,
436
+ messageId : "surrogatePairWithoutUFlag" ,
437
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👨👩👦]/u" } ]
280
438
}
281
439
]
282
440
} ,
283
441
{
284
442
code : "var r = /[👨👩👦]/u" ,
285
- errors : [ {
286
- messageId : "zwj" ,
287
- suggestions : null
288
- } ]
443
+ errors : [
444
+ {
445
+ column : 11 ,
446
+ endColumn : 19 ,
447
+ messageId : "zwj" ,
448
+ suggestions : null
449
+ }
450
+ ]
289
451
} ,
290
452
{
291
453
code : "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u" ,
292
- errors : [ {
293
- messageId : "zwj" ,
294
- suggestions : null
295
- } ]
454
+ errors : [
455
+ {
456
+ column : 11 ,
457
+ endColumn : 59 ,
458
+ messageId : "zwj" ,
459
+ suggestions : null
460
+ }
461
+ ]
296
462
} ,
297
463
{
298
464
code : "var r = /[\\u{1F468}\\u{200D}\\u{1F469}\\u{200D}\\u{1F466}]/u" ,
299
- errors : [ {
300
- messageId : "zwj" ,
301
- suggestions : null
302
- } ]
465
+ errors : [
466
+ {
467
+ column : 11 ,
468
+ endColumn : 54 ,
469
+ messageId : "zwj" ,
470
+ suggestions : null
471
+ }
472
+ ]
303
473
} ,
304
474
305
475
// RegExp constructors.
476
+ {
477
+ code : String . raw `var r = RegExp("[👍]", "")` ,
478
+ errors : [ {
479
+ column : 18 ,
480
+ endColumn : 20 ,
481
+ messageId : "surrogatePairWithoutUFlag" ,
482
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = RegExp("[👍]", "u")` } ]
483
+ } ]
484
+ } ,
306
485
{
307
486
code : String . raw `var r = new RegExp("[👍]", "")` ,
308
487
errors : [ {
488
+ column : 22 ,
489
+ endColumn : 24 ,
309
490
messageId : "surrogatePairWithoutUFlag" ,
310
491
suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👍]", "u")` } ]
311
492
} ]
312
493
} ,
313
494
{
314
495
code : "var r = new RegExp('[👍]', ``)" ,
315
496
errors : [ {
497
+ column : 22 ,
498
+ endColumn : 24 ,
316
499
messageId : "surrogatePairWithoutUFlag" ,
317
500
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[👍]', `u`)" } ]
318
501
} ]
319
502
} ,
503
+ {
504
+ code : `var r = new RegExp(\`
505
+ [👍]\`)` ,
506
+ errors : [ {
507
+ line : 2 ,
508
+ endLine : 2 ,
509
+ column : 18 ,
510
+ endColumn : 20 ,
511
+ messageId : "surrogatePairWithoutUFlag" ,
512
+ suggestions : [ {
513
+ messageId : "suggestUnicodeFlag" , output : `var r = new RegExp(\`
514
+ [👍]\`, "u")`
515
+ } ]
516
+ } ]
517
+ } ,
518
+ {
519
+ code : `var r = new RegExp(\`
520
+ [❇️]\`)` ,
521
+ errors : [ {
522
+ column : 18 ,
523
+ endColumn : 20 ,
524
+ messageId : "combiningClass" ,
525
+ suggestions : null
526
+ } ]
527
+ } ,
320
528
{
321
529
code : String . raw `var r = new RegExp("[👍]", flags)` ,
322
530
errors : [ {
531
+ column : 22 ,
532
+ endColumn : 24 ,
323
533
messageId : "surrogatePairWithoutUFlag" ,
324
534
suggestions : null
325
535
} ]
326
536
} ,
327
537
{
328
538
code : String . raw `const flags = ""; var r = new RegExp("[👍]", flags)` ,
329
539
errors : [ {
540
+ column : 40 ,
541
+ endColumn : 42 ,
330
542
messageId : "surrogatePairWithoutUFlag" ,
331
543
suggestions : null
332
544
} ]
333
545
} ,
334
546
{
335
- code : String . raw `var r = new RegExp("[\\uD83D\\uDC4D]", "")` ,
547
+ code : String . raw `var r = RegExp("[\\uD83D\\uDC4D]", "")` ,
336
548
errors : [ {
549
+ column : 16 ,
550
+ endColumn : 34 ,
337
551
messageId : "surrogatePairWithoutUFlag" ,
338
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[\\uD83D\\uDC4D]", "u")` } ]
552
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = RegExp("[\\uD83D\\uDC4D]", "u")` } ]
553
+ } ]
554
+ } ,
555
+ {
556
+ code : String . raw `var r = RegExp("before[\\uD83D\\uDC4D]after", "")` ,
557
+ errors : [ {
558
+ column : 16 ,
559
+ endColumn : 45 ,
560
+ messageId : "surrogatePairWithoutUFlag" ,
561
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = RegExp("before[\\uD83D\\uDC4D]after", "u")` } ]
562
+ } ]
563
+ } ,
564
+ {
565
+ code : String . raw `var r = RegExp("[before\\uD83D\\uDC4Dafter]", "")` ,
566
+ errors : [ {
567
+ column : 16 ,
568
+ endColumn : 45 ,
569
+ messageId : "surrogatePairWithoutUFlag" ,
570
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = RegExp("[before\\uD83D\\uDC4Dafter]", "u")` } ]
571
+ } ]
572
+ } ,
573
+ {
574
+ code : String . raw `var r = RegExp("\t\t\t👍[👍]")` ,
575
+ errors : [ {
576
+ column : 16 ,
577
+ endColumn : 30 ,
578
+ messageId : "surrogatePairWithoutUFlag" ,
579
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = RegExp("\t\t\t👍[👍]", "u")` } ]
580
+ } ]
581
+ } ,
582
+ {
583
+ code : String . raw `var r = new RegExp("\u1234[\\uD83D\\uDC4D]")` ,
584
+ errors : [ {
585
+ column : 20 ,
586
+ endColumn : 44 ,
587
+ messageId : "surrogatePairWithoutUFlag" ,
588
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("\u1234[\\uD83D\\uDC4D]", "u")` } ]
589
+ } ]
590
+ } ,
591
+ {
592
+ code : String . raw `var r = new RegExp("\\u1234\\u5678👎[👍]")` ,
593
+ errors : [ {
594
+ column : 20 ,
595
+ endColumn : 42 ,
596
+ messageId : "surrogatePairWithoutUFlag" ,
597
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("\\u1234\\u5678👎[👍]", "u")` } ]
598
+ } ]
599
+ } ,
600
+ {
601
+ code : String . raw `var r = new RegExp("\\u1234\\u5678👍[👍]")` ,
602
+ errors : [ {
603
+ column : 20 ,
604
+ endColumn : 42 ,
605
+ messageId : "surrogatePairWithoutUFlag" ,
606
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("\\u1234\\u5678👍[👍]", "u")` } ]
339
607
} ]
340
608
} ,
341
609
{
342
610
code : String . raw `var r = new RegExp("[👍]", "")` ,
343
611
languageOptions : { ecmaVersion : 3 , sourceType : "script" } ,
344
612
errors : [ {
613
+ column : 22 ,
614
+ endColumn : 24 ,
345
615
messageId : "surrogatePairWithoutUFlag" ,
346
616
suggestions : null // ecmaVersion doesn't support the 'u' flag
347
617
} ]
@@ -350,13 +620,17 @@ ruleTester.run("no-misleading-character-class", rule, {
350
620
code : String . raw `var r = new RegExp("[👍]", "")` ,
351
621
languageOptions : { ecmaVersion : 5 , sourceType : "script" } ,
352
622
errors : [ {
623
+ column : 22 ,
624
+ endColumn : 24 ,
353
625
messageId : "surrogatePairWithoutUFlag" ,
354
626
suggestions : null // ecmaVersion doesn't support the 'u' flag
355
627
} ]
356
628
} ,
357
629
{
358
630
code : String . raw `var r = new RegExp("[👍]\\a", "")` ,
359
631
errors : [ {
632
+ column : 20 ,
633
+ endColumn : 29 ,
360
634
messageId : "surrogatePairWithoutUFlag" ,
361
635
suggestions : null // pattern would be invalid with the 'u' flag
362
636
} ]
@@ -365,6 +639,8 @@ ruleTester.run("no-misleading-character-class", rule, {
365
639
code : String . raw `var r = new RegExp("/(?<=[👍])", "")` ,
366
640
languageOptions : { ecmaVersion : 9 } ,
367
641
errors : [ {
642
+ column : 27 ,
643
+ endColumn : 29 ,
368
644
messageId : "surrogatePairWithoutUFlag" ,
369
645
suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("/(?<=[👍])", "u")` } ]
370
646
} ]
@@ -373,190 +649,371 @@ ruleTester.run("no-misleading-character-class", rule, {
373
649
code : String . raw `var r = new RegExp("/(?<=[👍])", "")` ,
374
650
languageOptions : { ecmaVersion : 2018 } ,
375
651
errors : [ {
652
+ column : 27 ,
653
+ endColumn : 29 ,
376
654
messageId : "surrogatePairWithoutUFlag" ,
377
655
suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("/(?<=[👍])", "u")` } ]
378
656
} ]
379
657
} ,
380
658
{
381
659
code : String . raw `var r = new RegExp("[Á]", "")` ,
382
660
errors : [ {
661
+ column : 22 ,
662
+ endColumn : 24 ,
383
663
messageId : "combiningClass" ,
384
664
suggestions : null
385
665
} ]
386
666
} ,
387
667
{
388
668
code : String . raw `var r = new RegExp("[Á]", "u")` ,
389
669
errors : [ {
670
+ column : 22 ,
671
+ endColumn : 24 ,
390
672
messageId : "combiningClass" ,
391
673
suggestions : null
392
674
} ]
393
675
} ,
394
676
{
395
677
code : String . raw `var r = new RegExp("[\\u0041\\u0301]", "")` ,
396
678
errors : [ {
679
+ column : 20 ,
680
+ endColumn : 38 ,
397
681
messageId : "combiningClass" ,
398
682
suggestions : null
399
683
} ]
400
684
} ,
401
685
{
402
686
code : String . raw `var r = new RegExp("[\\u0041\\u0301]", "u")` ,
403
687
errors : [ {
688
+ column : 20 ,
689
+ endColumn : 38 ,
404
690
messageId : "combiningClass" ,
405
691
suggestions : null
406
692
} ]
407
693
} ,
408
694
{
409
695
code : String . raw `var r = new RegExp("[\\u{41}\\u{301}]", "u")` ,
410
696
errors : [ {
697
+ column : 20 ,
698
+ endColumn : 39 ,
411
699
messageId : "combiningClass" ,
412
700
suggestions : null
413
701
} ]
414
702
} ,
415
703
{
416
704
code : String . raw `var r = new RegExp("[❇️]", "")` ,
417
705
errors : [ {
706
+ column : 22 ,
707
+ endColumn : 24 ,
418
708
messageId : "combiningClass" ,
419
709
suggestions : null
420
710
} ]
421
711
} ,
422
712
{
423
713
code : String . raw `var r = new RegExp("[❇️]", "u")` ,
424
714
errors : [ {
715
+ column : 22 ,
716
+ endColumn : 24 ,
717
+ messageId : "combiningClass" ,
718
+ suggestions : null
719
+ } ]
720
+ } ,
721
+ {
722
+ code : String . raw `new RegExp("[ \\ufe0f]", "")` ,
723
+ errors : [ {
724
+ column : 12 ,
725
+ endColumn : 24 ,
425
726
messageId : "combiningClass" ,
426
727
suggestions : null
427
728
} ]
428
729
} ,
730
+ {
731
+ code : String . raw `new RegExp("[ \\ufe0f]", "u")` ,
732
+ errors : [ {
733
+ column : 12 ,
734
+ endColumn : 24 ,
735
+ messageId : "combiningClass" ,
736
+ suggestions : null
737
+ } ]
738
+ } ,
739
+ {
740
+ code : String . raw `new RegExp("[ \\ufe0f][ \\ufe0f]")` ,
741
+ errors : [
742
+ {
743
+ column : 12 ,
744
+ endColumn : 34 ,
745
+ messageId : "combiningClass" ,
746
+ suggestions : null
747
+ }
748
+ ]
749
+ } ,
429
750
{
430
751
code : String . raw `var r = new RegExp("[\\u2747\\uFE0F]", "")` ,
431
752
errors : [ {
753
+ column : 20 ,
754
+ endColumn : 38 ,
432
755
messageId : "combiningClass" ,
433
756
suggestions : null
434
757
} ]
435
758
} ,
436
759
{
437
760
code : String . raw `var r = new RegExp("[\\u2747\\uFE0F]", "u")` ,
438
761
errors : [ {
762
+ column : 20 ,
763
+ endColumn : 38 ,
439
764
messageId : "combiningClass" ,
440
765
suggestions : null
441
766
} ]
442
767
} ,
443
768
{
444
769
code : String . raw `var r = new RegExp("[\\u{2747}\\u{FE0F}]", "u")` ,
445
770
errors : [ {
771
+ column : 20 ,
772
+ endColumn : 42 ,
446
773
messageId : "combiningClass" ,
447
774
suggestions : null
448
775
} ]
449
776
} ,
450
777
{
451
778
code : String . raw `var r = new RegExp("[👶🏻]", "")` ,
452
- errors : [ {
453
- messageId : "surrogatePairWithoutUFlag" ,
454
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👶🏻]", "u")` } ]
455
- } ]
779
+ errors : [
780
+ {
781
+ column : 22 ,
782
+ endColumn : 24 ,
783
+ messageId : "surrogatePairWithoutUFlag" ,
784
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👶🏻]", "u")` } ]
785
+ } ,
786
+ {
787
+ column : 24 ,
788
+ endColumn : 26 ,
789
+ messageId : "surrogatePairWithoutUFlag" ,
790
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👶🏻]", "u")` } ]
791
+ }
792
+ ]
456
793
} ,
457
794
{
458
795
code : String . raw `var r = new RegExp("[👶🏻]", "u")` ,
459
796
errors : [ {
797
+ column : 22 ,
798
+ endColumn : 26 ,
460
799
messageId : "emojiModifier" ,
461
800
suggestions : null
462
801
} ]
463
802
} ,
464
803
{
465
804
code : String . raw `var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")` ,
466
805
errors : [ {
806
+ column : 20 ,
807
+ endColumn : 52 ,
467
808
messageId : "emojiModifier" ,
468
809
suggestions : null
469
810
} ]
470
811
} ,
471
812
{
472
813
code : String . raw `var r = new RegExp("[\\u{1F476}\\u{1F3FB}]", "u")` ,
473
814
errors : [ {
815
+ column : 20 ,
816
+ endColumn : 44 ,
474
817
messageId : "emojiModifier" ,
475
818
suggestions : null
476
819
} ]
477
820
} ,
478
821
{
479
- code : String . raw ` var r = new RegExp("[🇯🇵]", "")` ,
822
+ code : " var r = RegExp(`\t\t\t👍[👍]`)" ,
480
823
errors : [ {
824
+ column : 23 ,
825
+ endColumn : 25 ,
481
826
messageId : "surrogatePairWithoutUFlag" ,
482
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw ` var r = new RegExp("[🇯🇵]", "u")` } ]
827
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : " var r = RegExp(`\t\t\t👍[👍]`, \"u\")" } ]
483
828
} ]
484
829
} ,
485
830
{
486
- code : String . raw ` var r = new RegExp("[🇯🇵]", "i")` ,
831
+ code : " var r = RegExp(`\\t\\t\\t👍[👍]`)" ,
487
832
errors : [ {
833
+ column : 16 ,
834
+ endColumn : 30 ,
488
835
messageId : "surrogatePairWithoutUFlag" ,
489
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw ` var r = new RegExp("[🇯🇵]", "iu")` } ]
836
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : " var r = RegExp(`\\t\\t\\t👍[👍]`, \"u\")" } ]
490
837
} ]
491
838
} ,
839
+ {
840
+ code : String . raw `var r = new RegExp("[🇯🇵]", "")` ,
841
+ errors : [
842
+ {
843
+ column : 22 ,
844
+ endColumn : 24 ,
845
+ messageId : "surrogatePairWithoutUFlag" ,
846
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u")` } ]
847
+ } ,
848
+ {
849
+ column : 24 ,
850
+ endColumn : 26 ,
851
+ messageId : "surrogatePairWithoutUFlag" ,
852
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u")` } ]
853
+ }
854
+ ]
855
+ } ,
856
+ {
857
+ code : String . raw `var r = new RegExp("[🇯🇵]", "i")` ,
858
+ errors : [
859
+ {
860
+ column : 22 ,
861
+ endColumn : 24 ,
862
+ messageId : "surrogatePairWithoutUFlag" ,
863
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "iu")` } ]
864
+ } ,
865
+ {
866
+ column : 24 ,
867
+ endColumn : 26 ,
868
+ messageId : "surrogatePairWithoutUFlag" ,
869
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "iu")` } ]
870
+ }
871
+ ]
872
+ } ,
492
873
{
493
874
code : "var r = new RegExp('[🇯🇵]', `i`)" ,
494
- errors : [ {
495
- messageId : "surrogatePairWithoutUFlag" ,
496
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `iu`)" } ]
497
- } ]
875
+ errors : [
876
+ {
877
+ column : 22 ,
878
+ endColumn : 24 ,
879
+ messageId : "surrogatePairWithoutUFlag" ,
880
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `iu`)" } ]
881
+ } ,
882
+ {
883
+ column : 24 ,
884
+ endColumn : 26 ,
885
+ messageId : "surrogatePairWithoutUFlag" ,
886
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `iu`)" } ]
887
+ }
888
+ ]
498
889
} ,
499
890
{
500
891
code : "var r = new RegExp('[🇯🇵]', `${foo}`)" ,
501
- errors : [ {
502
- messageId : "surrogatePairWithoutUFlag" ,
503
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `${foo}u`)" } ]
504
- } ]
892
+ errors : [
893
+ {
894
+ column : 22 ,
895
+ endColumn : 24 ,
896
+ messageId : "surrogatePairWithoutUFlag" ,
897
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `${foo}u`)" } ]
898
+ } ,
899
+ {
900
+ column : 24 ,
901
+ endColumn : 26 ,
902
+ messageId : "surrogatePairWithoutUFlag" ,
903
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = new RegExp('[🇯🇵]', `${foo}u`)" } ]
904
+ }
905
+ ]
505
906
} ,
506
907
{
507
908
code : String . raw `var r = new RegExp("[🇯🇵]")` ,
508
- errors : [ {
509
- messageId : "surrogatePairWithoutUFlag" ,
510
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u")` } ]
511
- } ]
909
+ errors : [
910
+ {
911
+ column : 22 ,
912
+ endColumn : 24 ,
913
+ messageId : "surrogatePairWithoutUFlag" ,
914
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u")` } ]
915
+ } ,
916
+ {
917
+ column : 24 ,
918
+ endColumn : 26 ,
919
+ messageId : "surrogatePairWithoutUFlag" ,
920
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u")` } ]
921
+ }
922
+ ]
512
923
} ,
513
924
{
514
925
code : String . raw `var r = new RegExp("[🇯🇵]",)` ,
515
926
languageOptions : { ecmaVersion : 2017 } ,
516
- errors : [ {
517
- messageId : "surrogatePairWithoutUFlag" ,
518
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u",)` } ]
519
- } ]
927
+ errors : [
928
+ {
929
+ column : 22 ,
930
+ endColumn : 24 ,
931
+ messageId : "surrogatePairWithoutUFlag" ,
932
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u",)` } ]
933
+ } ,
934
+ {
935
+ column : 24 ,
936
+ endColumn : 26 ,
937
+ messageId : "surrogatePairWithoutUFlag" ,
938
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[🇯🇵]", "u",)` } ]
939
+ }
940
+ ]
520
941
} ,
521
942
{
522
943
code : String . raw `var r = new RegExp(("[🇯🇵]"))` ,
523
- errors : [ {
524
- messageId : "surrogatePairWithoutUFlag" ,
525
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u")` } ]
526
- } ]
944
+ errors : [
945
+ {
946
+ column : 23 ,
947
+ endColumn : 25 ,
948
+ messageId : "surrogatePairWithoutUFlag" ,
949
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u")` } ]
950
+ } ,
951
+ {
952
+ column : 25 ,
953
+ endColumn : 27 ,
954
+ messageId : "surrogatePairWithoutUFlag" ,
955
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u")` } ]
956
+ }
957
+ ]
527
958
} ,
528
959
{
529
960
code : String . raw `var r = new RegExp((("[🇯🇵]")))` ,
530
- errors : [ {
531
- messageId : "surrogatePairWithoutUFlag" ,
532
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp((("[🇯🇵]")), "u")` } ]
533
- } ]
961
+ errors : [
962
+ {
963
+ column : 24 ,
964
+ endColumn : 26 ,
965
+ messageId : "surrogatePairWithoutUFlag" ,
966
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp((("[🇯🇵]")), "u")` } ]
967
+ } ,
968
+ {
969
+ column : 26 ,
970
+ endColumn : 28 ,
971
+ messageId : "surrogatePairWithoutUFlag" ,
972
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp((("[🇯🇵]")), "u")` } ]
973
+ }
974
+ ]
534
975
} ,
535
976
{
536
977
code : String . raw `var r = new RegExp(("[🇯🇵]"),)` ,
537
978
languageOptions : { ecmaVersion : 2017 } ,
538
- errors : [ {
539
- messageId : "surrogatePairWithoutUFlag" ,
540
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u",)` } ]
541
- } ]
979
+ errors : [
980
+ {
981
+ column : 23 ,
982
+ endColumn : 25 ,
983
+ messageId : "surrogatePairWithoutUFlag" ,
984
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u",)` } ]
985
+ } ,
986
+ {
987
+ column : 25 ,
988
+ endColumn : 27 ,
989
+ messageId : "surrogatePairWithoutUFlag" ,
990
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp(("[🇯🇵]"), "u",)` } ]
991
+ }
992
+ ]
542
993
} ,
543
994
{
544
995
code : String . raw `var r = new RegExp("[🇯🇵]", "u")` ,
545
996
errors : [ {
997
+ column : 22 ,
998
+ endColumn : 26 ,
546
999
messageId : "regionalIndicatorSymbol" ,
547
1000
suggestions : null
548
1001
} ]
549
1002
} ,
550
1003
{
551
1004
code : String . raw `var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")` ,
552
1005
errors : [ {
1006
+ column : 20 ,
1007
+ endColumn : 52 ,
553
1008
messageId : "regionalIndicatorSymbol" ,
554
1009
suggestions : null
555
1010
} ]
556
1011
} ,
557
1012
{
558
1013
code : String . raw `var r = new RegExp("[\\u{1F1EF}\\u{1F1F5}]", "u")` ,
559
1014
errors : [ {
1015
+ column : 20 ,
1016
+ endColumn : 44 ,
560
1017
messageId : "regionalIndicatorSymbol" ,
561
1018
suggestions : null
562
1019
} ]
@@ -565,40 +1022,70 @@ ruleTester.run("no-misleading-character-class", rule, {
565
1022
code : String . raw `var r = new RegExp("[👨👩👦]", "")` ,
566
1023
errors : [
567
1024
{
1025
+ column : 22 ,
1026
+ endColumn : 24 ,
568
1027
messageId : "surrogatePairWithoutUFlag" ,
569
1028
suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👨👩👦]", "u")` } ]
570
1029
} ,
571
1030
{
1031
+ column : 23 ,
1032
+ endColumn : 29 ,
572
1033
messageId : "zwj" ,
573
1034
suggestions : null
1035
+ } ,
1036
+ {
1037
+ column : 25 ,
1038
+ endColumn : 27 ,
1039
+ messageId : "surrogatePairWithoutUFlag" ,
1040
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👨👩👦]", "u")` } ]
1041
+ } ,
1042
+ {
1043
+ column : 28 ,
1044
+ endColumn : 30 ,
1045
+ messageId : "surrogatePairWithoutUFlag" ,
1046
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new RegExp("[👨👩👦]", "u")` } ]
574
1047
}
575
1048
]
576
1049
} ,
577
1050
{
578
1051
code : String . raw `var r = new RegExp("[👨👩👦]", "u")` ,
579
- errors : [ {
580
- messageId : "zwj" ,
581
- suggestions : null
582
- } ]
1052
+ errors : [
1053
+ {
1054
+ column : 22 ,
1055
+ endColumn : 30 ,
1056
+ messageId : "zwj" ,
1057
+ suggestions : null
1058
+ }
1059
+ ]
583
1060
} ,
584
1061
{
585
1062
code : String . raw `var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")` ,
586
- errors : [ {
587
- messageId : "zwj" ,
588
- suggestions : null
589
- } ]
1063
+ errors : [
1064
+ {
1065
+ column : 20 ,
1066
+ endColumn : 80 ,
1067
+ messageId : "zwj" ,
1068
+ suggestions : null
1069
+ }
1070
+ ]
590
1071
} ,
591
1072
{
592
1073
code : String . raw `var r = new RegExp("[\\u{1F468}\\u{200D}\\u{1F469}\\u{200D}\\u{1F466}]", "u")` ,
593
- errors : [ {
594
- messageId : "zwj" ,
595
- suggestions : null
596
- } ]
1074
+ errors : [
1075
+ {
1076
+ column : 20 ,
1077
+ endColumn : 72 ,
1078
+ messageId : "zwj" ,
1079
+ suggestions : null
1080
+ }
1081
+ ]
597
1082
} ,
598
1083
{
599
1084
code : String . raw `var r = new globalThis.RegExp("[❇️]", "")` ,
600
1085
languageOptions : { ecmaVersion : 2020 } ,
601
1086
errors : [ {
1087
+ column : 33 ,
1088
+ endColumn : 35 ,
602
1089
messageId : "combiningClass" ,
603
1090
suggestions : null
604
1091
} ]
@@ -607,25 +1094,41 @@ ruleTester.run("no-misleading-character-class", rule, {
607
1094
code : String . raw `var r = new globalThis.RegExp("[👶🏻]", "u")` ,
608
1095
languageOptions : { ecmaVersion : 2020 } ,
609
1096
errors : [ {
1097
+ column : 33 ,
1098
+ endColumn : 37 ,
610
1099
messageId : "emojiModifier" ,
611
1100
suggestions : null
612
1101
} ]
613
1102
} ,
614
1103
{
615
1104
code : String . raw `var r = new globalThis.RegExp("[🇯🇵]", "")` ,
616
1105
languageOptions : { ecmaVersion : 2020 } ,
617
- errors : [ {
618
- messageId : "surrogatePairWithoutUFlag" ,
619
- suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new globalThis.RegExp("[🇯🇵]", "u")` } ]
620
- } ]
1106
+ errors : [
1107
+ {
1108
+ column : 33 ,
1109
+ endColumn : 35 ,
1110
+ messageId : "surrogatePairWithoutUFlag" ,
1111
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new globalThis.RegExp("[🇯🇵]", "u")` } ]
1112
+ } ,
1113
+ {
1114
+ column : 35 ,
1115
+ endColumn : 37 ,
1116
+ messageId : "surrogatePairWithoutUFlag" ,
1117
+ suggestions : [ { messageId : "suggestUnicodeFlag" , output : String . raw `var r = new globalThis.RegExp("[🇯🇵]", "u")` } ]
1118
+ }
1119
+ ]
621
1120
} ,
622
1121
{
623
1122
code : String . raw `var r = new globalThis.RegExp("[\\u{1F468}\\u{200D}\\u{1F469}\\u{200D}\\u{1F466}]", "u")` ,
624
1123
languageOptions : { ecmaVersion : 2020 } ,
625
- errors : [ {
626
- messageId : "zwj" ,
627
- suggestions : null
628
- } ]
1124
+ errors : [
1125
+ {
1126
+ column : 31 ,
1127
+ endColumn : 83 ,
1128
+ messageId : "zwj" ,
1129
+ suggestions : null
1130
+ }
1131
+ ]
629
1132
} ,
630
1133
{
631
1134
code : String . raw `/[\ud83d\u{dc4d}]/u` ,
@@ -662,6 +1165,8 @@ ruleTester.run("no-misleading-character-class", rule, {
662
1165
code : "var r = /[[👶🏻]]/v" ,
663
1166
languageOptions : { ecmaVersion : 2024 } ,
664
1167
errors : [ {
1168
+ column : 12 ,
1169
+ endColumn : 16 ,
665
1170
messageId : "emojiModifier" ,
666
1171
suggestions : null
667
1172
} ]
@@ -673,6 +1178,8 @@ ruleTester.run("no-misleading-character-class", rule, {
673
1178
sourceType : "script"
674
1179
} ,
675
1180
errors : [ {
1181
+ column : 11 ,
1182
+ endColumn : 13 ,
676
1183
messageId : "surrogatePairWithoutUFlag" ,
677
1184
suggestions : null // ecmaVersion doesn't support the 'u' flag
678
1185
} ]
@@ -683,6 +1190,8 @@ ruleTester.run("no-misleading-character-class", rule, {
683
1190
ecmaVersion : 2015
684
1191
} ,
685
1192
errors : [ {
1193
+ column : 11 ,
1194
+ endColumn : 13 ,
686
1195
messageId : "surrogatePairWithoutUFlag" ,
687
1196
suggestions : [ { messageId : "suggestUnicodeFlag" , output : "var r = /[👍]/u" } ]
688
1197
} ]
0 commit comments