@@ -10,6 +10,104 @@ ruleTester.run('explicit-member-accessibility', rule, {
10
10
{
11
11
filename : 'test.ts' ,
12
12
code : `
13
+ class Test {
14
+ public constructor(private foo: string) {}
15
+ }
16
+ ` ,
17
+ options : [
18
+ {
19
+ accessibility : 'explicit' ,
20
+ overrides : { parameterProperties : 'explicit' } ,
21
+ } ,
22
+ ] ,
23
+ } ,
24
+ {
25
+ filename : 'test.ts' ,
26
+ code : `
27
+ class Test {
28
+ public constructor(private readonly foo: string) {}
29
+ }
30
+ ` ,
31
+ options : [
32
+ {
33
+ accessibility : 'explicit' ,
34
+ overrides : { parameterProperties : 'explicit' } ,
35
+ } ,
36
+ ] ,
37
+ } ,
38
+ {
39
+ filename : 'test.ts' ,
40
+ code : `
41
+ class Test {
42
+ public constructor(private foo: string) {}
43
+ }
44
+ ` ,
45
+ options : [
46
+ {
47
+ accessibility : 'explicit' ,
48
+ overrides : { parameterProperties : 'off' } ,
49
+ } ,
50
+ ] ,
51
+ } ,
52
+ {
53
+ filename : 'test.ts' ,
54
+ code : `
55
+ class Test {
56
+ public constructor(protected foo: string) {}
57
+ }
58
+ ` ,
59
+ options : [
60
+ {
61
+ accessibility : 'explicit' ,
62
+ overrides : { parameterProperties : 'off' } ,
63
+ } ,
64
+ ] ,
65
+ } ,
66
+ {
67
+ filename : 'test.ts' ,
68
+ code : `
69
+ class Test {
70
+ public constructor(public foo: string) {}
71
+ }
72
+ ` ,
73
+ options : [
74
+ {
75
+ accessibility : 'explicit' ,
76
+ overrides : { parameterProperties : 'off' } ,
77
+ } ,
78
+ ] ,
79
+ } ,
80
+ {
81
+ filename : 'test.ts' ,
82
+ code : `
83
+ class Test {
84
+ public constructor(readonly foo: string) {}
85
+ }
86
+ ` ,
87
+ options : [
88
+ {
89
+ accessibility : 'explicit' ,
90
+ overrides : { parameterProperties : 'off' } ,
91
+ } ,
92
+ ] ,
93
+ } ,
94
+ {
95
+ filename : 'test.ts' ,
96
+ code : `
97
+ class Test {
98
+ public constructor(private readonly foo: string) {}
99
+ }
100
+ ` ,
101
+ options : [
102
+ {
103
+ accessibility : 'explicit' ,
104
+ overrides : { parameterProperties : 'off' } ,
105
+ } ,
106
+ ] ,
107
+ } ,
108
+ {
109
+ filename : 'test.ts' ,
110
+ code : `
13
111
class Test {
14
112
protected name: string
15
113
private x: number
@@ -147,11 +245,90 @@ class Test {
147
245
} ,
148
246
] ,
149
247
} ,
248
+ {
249
+ filename : 'test.ts' ,
250
+ code : `
251
+ class Test {
252
+ constructor(public foo: number){}
253
+ }
254
+ ` ,
255
+ options : [
256
+ {
257
+ accessibility : 'no-public' ,
258
+ } ,
259
+ ] ,
260
+ } ,
150
261
] ,
151
262
invalid : [
152
263
{
153
264
filename : 'test.ts' ,
154
265
code : `
266
+ export class XXXX {
267
+ public constructor(readonly value: string) {}
268
+ }
269
+ ` ,
270
+ options : [
271
+ {
272
+ accessibility : 'off' ,
273
+ overrides : {
274
+ parameterProperties : 'explicit' ,
275
+ } ,
276
+ } ,
277
+ ] ,
278
+ errors : [
279
+ {
280
+ messageId : 'missingAccessibility' ,
281
+ column : 22 ,
282
+ line : 3 ,
283
+ } ,
284
+ ] ,
285
+ } ,
286
+ {
287
+ filename : 'test.ts' ,
288
+ code : `
289
+ export class WithParameterProperty {
290
+ public constructor(readonly value: string) {}
291
+ }
292
+ ` ,
293
+ options : [ { accessibility : 'explicit' } ] ,
294
+ errors : [ { messageId : 'missingAccessibility' } ] ,
295
+ } ,
296
+ {
297
+ filename : 'test.ts' ,
298
+ code : `
299
+ export class XXXX {
300
+ public constructor(readonly samosa: string) {}
301
+ }
302
+ ` ,
303
+ options : [
304
+ {
305
+ accessibility : 'off' ,
306
+ overrides : {
307
+ constructors : 'explicit' ,
308
+ parameterProperties : 'explicit' ,
309
+ } ,
310
+ } ,
311
+ ] ,
312
+ errors : [ { messageId : 'missingAccessibility' } ] ,
313
+ } ,
314
+ {
315
+ filename : 'test.ts' ,
316
+ code : `
317
+ class Test {
318
+ public constructor(readonly foo: string) {}
319
+ }
320
+ ` ,
321
+ options : [
322
+ {
323
+ accessibility : 'explicit' ,
324
+ overrides : { parameterProperties : 'explicit' } ,
325
+ } ,
326
+ ] ,
327
+ errors : [ { messageId : 'missingAccessibility' } ] ,
328
+ } ,
329
+ {
330
+ filename : 'test.ts' ,
331
+ code : `
155
332
class Test {
156
333
x: number
157
334
public getX () {
@@ -365,18 +542,21 @@ class Test {
365
542
code : `
366
543
class Test {
367
544
constructor(public x: number){}
545
+ public foo(): string {
546
+ return 'foo';
547
+ }
368
548
}
369
549
` ,
370
550
errors : [
371
551
{
372
- messageId : 'unwantedPublicAccessibility ' ,
552
+ messageId : 'missingAccessibility ' ,
373
553
line : 3 ,
374
- column : 15 ,
554
+ column : 3 ,
375
555
} ,
376
556
] ,
377
557
options : [
378
558
{
379
- accessibility : 'no-public' ,
559
+ overrides : { parameterProperties : 'no-public' } ,
380
560
} ,
381
561
] ,
382
562
} ,
@@ -385,9 +565,6 @@ class Test {
385
565
code : `
386
566
class Test {
387
567
constructor(public x: number){}
388
- public foo(): string {
389
- return 'foo';
390
- }
391
568
}
392
569
` ,
393
570
errors : [
@@ -396,30 +573,26 @@ class Test {
396
573
line : 3 ,
397
574
column : 3 ,
398
575
} ,
399
- {
400
- messageId : 'unwantedPublicAccessibility' ,
401
- line : 3 ,
402
- column : 15 ,
403
- } ,
404
- ] ,
405
- options : [
406
- {
407
- overrides : { parameterProperties : 'no-public' } ,
408
- } ,
409
576
] ,
410
577
} ,
411
578
{
412
579
filename : 'test.ts' ,
413
580
code : `
414
581
class Test {
415
- constructor(public x: number){}
582
+ constructor(public readonly x: number){}
416
583
}
417
584
` ,
585
+ options : [
586
+ {
587
+ accessibility : 'off' ,
588
+ overrides : { parameterProperties : 'no-public' } ,
589
+ } ,
590
+ ] ,
418
591
errors : [
419
592
{
420
- messageId : 'missingAccessibility ' ,
593
+ messageId : 'unwantedPublicAccessibility ' ,
421
594
line : 3 ,
422
- column : 3 ,
595
+ column : 15 ,
423
596
} ,
424
597
] ,
425
598
} ,
0 commit comments