@@ -484,97 +484,90 @@ public function testSuppressLineWithinDocblock()
484
484
/**
485
485
* Test that using a single line ignore does not interfere with other suppressions.
486
486
*
487
+ * @param string $before Annotation to place before the code.
488
+ * @param string $after Annotation to place after the code.
489
+ *
490
+ * @dataProvider dataNestedSuppressLine
491
+ * @covers PHP_CodeSniffer\Tokenizers\Tokenizer::createPositionMap
492
+ *
487
493
* @return void
488
494
*/
489
- public function testNestedSuppressLine ()
495
+ public function testNestedSuppressLine ($ before , $ after )
490
496
{
491
- $ config = new Config ();
492
- $ config ->standards = ['Generic ' ];
493
- $ config ->sniffs = ['Generic.PHP.LowerCaseConstant ' ];
494
-
495
- $ ruleset = new Ruleset ($ config );
496
-
497
- // Process with disable/enable suppression and no single line suppression.
498
- $ content = '<?php ' .PHP_EOL .'// phpcs:disable ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'// phpcs:enable ' ;
499
- $ file = new DummyFile ($ content , $ ruleset , $ config );
500
- $ file ->process ();
501
-
502
- $ errors = $ file ->getErrors ();
503
- $ numErrors = $ file ->getErrorCount ();
504
- $ this ->assertEquals (0 , $ numErrors );
505
- $ this ->assertCount (0 , $ errors );
506
-
507
- // Process with disable/enable @ suppression and no single line suppression.
508
- $ content = '<?php ' .PHP_EOL .'// @phpcs:disable ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'// @phpcs:enable ' ;
509
- $ file = new DummyFile ($ content , $ ruleset , $ config );
510
- $ file ->process ();
511
-
512
- $ errors = $ file ->getErrors ();
513
- $ numErrors = $ file ->getErrorCount ();
514
- $ this ->assertEquals (0 , $ numErrors );
515
- $ this ->assertCount (0 , $ errors );
516
-
517
- // Process with disable/enable suppression and no single line suppression (hash comment).
518
- $ content = '<?php ' .PHP_EOL .'# phpcs:disable ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'# phpcs:enable ' ;
519
- $ file = new DummyFile ($ content , $ ruleset , $ config );
520
- $ file ->process ();
521
-
522
- $ errors = $ file ->getErrors ();
523
- $ numErrors = $ file ->getErrorCount ();
524
- $ this ->assertEquals (0 , $ numErrors );
525
- $ this ->assertCount (0 , $ errors );
526
-
527
- // Process with disable/enable suppression and no single line suppression (deprecated syntax).
528
- $ content = '<?php ' .PHP_EOL .'// @codingStandardsIgnoreStart ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'// @codingStandardsIgnoreEnd ' ;
529
- $ file = new DummyFile ($ content , $ ruleset , $ config );
530
- $ file ->process ();
531
-
532
- $ errors = $ file ->getErrors ();
533
- $ numErrors = $ file ->getErrorCount ();
534
- $ this ->assertEquals (0 , $ numErrors );
535
- $ this ->assertCount (0 , $ errors );
497
+ static $ config , $ ruleset ;
536
498
537
- // Process with line suppression nested within disable/enable suppression.
538
- $ content = ' <?php ' . PHP_EOL . ' // phpcs:disable ' . PHP_EOL . ' // phpcs:ignore ' . PHP_EOL . ' $var = FALSE; ' . PHP_EOL . ' $var = TRUE; ' . PHP_EOL . ' // phpcs:enable ' ;
539
- $ file = new DummyFile ( $ content , $ ruleset , $ config ) ;
540
- $ file -> process () ;
499
+ if ( isset ( $ config , $ ruleset ) === false ) {
500
+ $ config = new Config () ;
501
+ $ config -> standards = [ ' Generic ' ] ;
502
+ $ config -> sniffs = [ ' Generic.PHP.LowerCaseConstant ' ] ;
541
503
542
- $ errors = $ file ->getErrors ();
543
- $ numErrors = $ file ->getErrorCount ();
544
- $ this ->assertEquals (0 , $ numErrors );
545
- $ this ->assertCount (0 , $ errors );
504
+ $ ruleset = new Ruleset ($ config );
505
+ }
546
506
547
- // Process with line @ suppression nested within disable/enable @ suppression.
548
- $ content = '<?php ' .PHP_EOL .'// @phpcs:disable ' .PHP_EOL .'// @phpcs:ignore ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'// @phpcs:enable ' ;
507
+ $ content = <<<EOD
508
+ <?php
509
+ $ before
510
+ \$var = FALSE;
511
+ \$var = TRUE;
512
+ $ after
513
+ EOD ;
549
514
$ file = new DummyFile ($ content , $ ruleset , $ config );
550
515
$ file ->process ();
551
516
552
- $ errors = $ file ->getErrors ();
553
- $ numErrors = $ file ->getErrorCount ();
554
- $ this ->assertEquals (0 , $ numErrors );
555
- $ this ->assertCount (0 , $ errors );
517
+ $ this ->assertSame (0 , $ file ->getErrorCount ());
518
+ $ this ->assertCount (0 , $ file ->getErrors ());
556
519
557
- // Process with line @ suppression nested within disable/enable @ suppression (hash comment).
558
- $ content = '<?php ' .PHP_EOL .'# @phpcs:disable ' .PHP_EOL .'# @phpcs:ignore ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'# @phpcs:enable ' ;
559
- $ file = new DummyFile ($ content , $ ruleset , $ config );
560
- $ file ->process ();
520
+ }//end testNestedSuppressLine()
561
521
562
- $ errors = $ file ->getErrors ();
563
- $ numErrors = $ file ->getErrorCount ();
564
- $ this ->assertEquals (0 , $ numErrors );
565
- $ this ->assertCount (0 , $ errors );
566
522
567
- // Process with line suppression nested within disable/enable suppression (deprecated syntax).
568
- $ content = '<?php ' .PHP_EOL .'// @codingStandardsIgnoreStart ' .PHP_EOL .'// @codingStandardsIgnoreLine ' .PHP_EOL .'$var = FALSE; ' .PHP_EOL .'$var = TRUE; ' .PHP_EOL .'// @codingStandardsIgnoreEnd ' ;
569
- $ file = new DummyFile ($ content , $ ruleset , $ config );
570
- $ file ->process ();
523
+ /**
524
+ * Data provider.
525
+ *
526
+ * @see testNestedSuppressLine()
527
+ *
528
+ * @return array
529
+ */
530
+ public function dataNestedSuppressLine ()
531
+ {
532
+ return [
533
+ // Process with disable/enable suppression and no single line suppression.
534
+ 'disable/enable: slash comment, no single line suppression ' => [
535
+ 'before ' => '// phpcs:disable ' ,
536
+ 'after ' => '// phpcs:enable ' ,
537
+ ],
538
+ 'disable/enable: slash comment, with @, no single line suppression ' => [
539
+ 'before ' => '// @phpcs:disable ' ,
540
+ 'after ' => '// @phpcs:enable ' ,
541
+ ],
542
+ 'disable/enable: hash comment, no single line suppression ' => [
543
+ 'before ' => '# phpcs:disable ' ,
544
+ 'after ' => '# phpcs:enable ' ,
545
+ ],
546
+ 'old style: slash comment, no single line suppression ' => [
547
+ 'before ' => '// @codingStandardsIgnoreStart ' ,
548
+ 'after ' => '// @codingStandardsIgnoreEnd ' ,
549
+ ],
571
550
572
- $ errors = $ file ->getErrors ();
573
- $ numErrors = $ file ->getErrorCount ();
574
- $ this ->assertEquals (0 , $ numErrors );
575
- $ this ->assertCount (0 , $ errors );
551
+ // Process with line suppression nested within disable/enable suppression.
552
+ 'disable/enable: slash comment, next line nested single line suppression ' => [
553
+ 'before ' => '// phpcs:disable ' .PHP_EOL .'// phpcs:ignore ' ,
554
+ 'after ' => '// phpcs:enable ' ,
555
+ ],
556
+ 'disable/enable: slash comment, with @, next line nested single line suppression ' => [
557
+ 'before ' => '// @phpcs:disable ' .PHP_EOL .'// @phpcs:ignore ' ,
558
+ 'after ' => '// @phpcs:enable ' ,
559
+ ],
560
+ 'disable/enable: hash comment, next line nested single line suppression ' => [
561
+ 'before ' => '# @phpcs:disable ' .PHP_EOL .'# @phpcs:ignore ' ,
562
+ 'after ' => '# @phpcs:enable ' ,
563
+ ],
564
+ 'old style: slash comment, next line nested single line suppression ' => [
565
+ 'before ' => '// @codingStandardsIgnoreStart ' .PHP_EOL .'// @codingStandardsIgnoreLine ' ,
566
+ 'after ' => '// @codingStandardsIgnoreEnd ' ,
567
+ ],
568
+ ];
576
569
577
- }//end testNestedSuppressLine ()
570
+ }//end dataNestedSuppressLine ()
578
571
579
572
580
573
/**
0 commit comments