From 7f6127f3f83fc1af539b0a1f4981b98877da547c Mon Sep 17 00:00:00 2001 From: Aidan Woods Date: Fri, 22 Feb 2019 15:30:00 +0000 Subject: [PATCH] Ensure we cover all mutations in tests --- tests/src/Parsing/LineTest.php | 40 +++++++++++++++++++++++++++++++++ tests/src/Parsing/LinesTest.php | 16 +++++++++++++ tests/src/StateTest.php | 10 +++++++++ 3 files changed, 66 insertions(+) create mode 100644 tests/src/Parsing/LineTest.php diff --git a/tests/src/Parsing/LineTest.php b/tests/src/Parsing/LineTest.php new file mode 100644 index 0000000..ad6afc0 --- /dev/null +++ b/tests/src/Parsing/LineTest.php @@ -0,0 +1,40 @@ +assertSame('foo', $Line->ltrimBodyUpto(100)); + + + $this->assertSame(" \t \t \t \tfoo", $Line->ltrimBodyUpto(1)); + $this->assertSame("\t \t \t \tfoo", $Line->ltrimBodyUpto(2)); + $this->assertSame(" \t \t \tfoo", $Line->ltrimBodyUpto(3)); + $this->assertSame("\t \t \tfoo", $Line->ltrimBodyUpto(4)); + $this->assertSame(" \t \tfoo", $Line->ltrimBodyUpto(5)); + $this->assertSame(" \t \tfoo", $Line->ltrimBodyUpto(6)); + $this->assertSame(" \t \tfoo", $Line->ltrimBodyUpto(7)); + $this->assertSame(" \t \tfoo", $Line->ltrimBodyUpto(8)); + $this->assertSame("\t \tfoo", $Line->ltrimBodyUpto(9)); + $this->assertSame(" \tfoo", $Line->ltrimBodyUpto(10)); + $this->assertSame(" \tfoo", $Line->ltrimBodyUpto(11)); + $this->assertSame(" \tfoo", $Line->ltrimBodyUpto(12)); + $this->assertSame(" \tfoo", $Line->ltrimBodyUpto(13)); + $this->assertSame("\tfoo", $Line->ltrimBodyUpto(14)); + $this->assertSame('foo', $Line->ltrimBodyUpto(15)); + $this->assertSame('foo', $Line->ltrimBodyUpto(16)); + } +} diff --git a/tests/src/Parsing/LinesTest.php b/tests/src/Parsing/LinesTest.php index 17bf57c..4ac0ce0 100644 --- a/tests/src/Parsing/LinesTest.php +++ b/tests/src/Parsing/LinesTest.php @@ -83,4 +83,20 @@ final class LinesTest extends TestCase $this->assertSame($Lines->trailingBlankLines(), 0); } + + /** + * @return void + * @throws \PHPUnit\Framework\ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException + */ + public function testAppendNegativeBlankLines() + { + $Lines = Lines::fromTextLines('foo', 0); + + $this->assertSame($Lines->trailingBlankLines(), 0); + + $Lines = $Lines->appendingBlankLines(-1); + + $this->assertSame($Lines->trailingBlankLines(), 0); + } } diff --git a/tests/src/StateTest.php b/tests/src/StateTest.php index 22d5311..0cc58a2 100644 --- a/tests/src/StateTest.php +++ b/tests/src/StateTest.php @@ -29,4 +29,14 @@ final class StateTest extends TestCase $this->assertFalse($UpdatedState->get(StrictMode::class)->isEnabled()); $this->assertFalse($UpdatedState->get(Breaks::class)->isEnabled()); } + + /** + * @return void + * @throws \PHPUnit\Framework\ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException + */ + public function testStateCloneVisibility() + { + $this->assertInstanceOf(State::class, clone(new State)); + } }