| @@ 24-71 (lines=48) @@ | ||
| 21 | use InvalidArgumentException; |
|
| 22 | use Mockery as m; |
|
| 23 | ||
| 24 | class HeadTest extends RealFileTestCase |
|
| 25 | { |
|
| 26 | public function testHeadNotOnLocalFileWillThrowAnException() |
|
| 27 | { |
|
| 28 | $file = m::mock(NodeInterface::class); |
|
| 29 | $flow = new Head(2); |
|
| 30 | ||
| 31 | $this->expectException(InvalidArgumentException::class); |
|
| 32 | ||
| 33 | $flow->flow($file); |
|
| 34 | } |
|
| 35 | ||
| 36 | public function testHead() |
|
| 37 | { |
|
| 38 | $file = $this->makeFile('head/initial', "line 1\nline 2\nline 3"); |
|
| 39 | $flow = new Head(1); |
|
| 40 | ||
| 41 | $output = $flow->flow($file); |
|
| 42 | ||
| 43 | static::assertNotSame($file, $output); |
|
| 44 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 45 | static::assertEquals(["line 1"], $output->getContents()); |
|
| 46 | } |
|
| 47 | ||
| 48 | public function testStaticFlow() |
|
| 49 | { |
|
| 50 | $file = $this->makeFile('head/static', "line 1\nline 2\nline 3"); |
|
| 51 | $flow = Flow::head(1); |
|
| 52 | ||
| 53 | $output = $flow->flow($file); |
|
| 54 | ||
| 55 | static::assertNotSame($file, $output); |
|
| 56 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 57 | static::assertEquals(["line 1"], $output->getContents()); |
|
| 58 | } |
|
| 59 | ||
| 60 | public function testInvokeFlow() |
|
| 61 | { |
|
| 62 | $file = $this->makeFile('head/invoke', "line 1\nline 2\nline 3"); |
|
| 63 | $flow = new Head(1); |
|
| 64 | ||
| 65 | $output = call_user_func($flow, $file); |
|
| 66 | ||
| 67 | static::assertNotSame($file, $output); |
|
| 68 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 69 | static::assertEquals(["line 1"], $output->getContents()); |
|
| 70 | } |
|
| 71 | } |
|
| 72 | ||
| @@ 24-71 (lines=48) @@ | ||
| 21 | use InvalidArgumentException; |
|
| 22 | use Mockery as m; |
|
| 23 | ||
| 24 | class TailTest extends RealFileTestCase |
|
| 25 | { |
|
| 26 | public function testTailNotOnLocalFileWillThrowAnException() |
|
| 27 | { |
|
| 28 | $file = m::mock(NodeInterface::class); |
|
| 29 | $flow = new Tail(2); |
|
| 30 | ||
| 31 | $this->expectException(InvalidArgumentException::class); |
|
| 32 | ||
| 33 | $flow->flow($file); |
|
| 34 | } |
|
| 35 | ||
| 36 | public function testTail() |
|
| 37 | { |
|
| 38 | $file = $this->makeFile('tail/initial', "line 1\nline 2\nline 3"); |
|
| 39 | $flow = new Tail(1); |
|
| 40 | ||
| 41 | $output = $flow->flow($file); |
|
| 42 | ||
| 43 | static::assertNotSame($file, $output); |
|
| 44 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 45 | static::assertEquals(["line 3"], $output->getContents()); |
|
| 46 | } |
|
| 47 | ||
| 48 | public function testStaticFlow() |
|
| 49 | { |
|
| 50 | $file = $this->makeFile('tail/static', "line 1\nline 2\nline 3"); |
|
| 51 | $flow = Flow::tail(1); |
|
| 52 | ||
| 53 | $output = $flow->flow($file); |
|
| 54 | ||
| 55 | static::assertNotSame($file, $output); |
|
| 56 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 57 | static::assertEquals(["line 3"], $output->getContents()); |
|
| 58 | } |
|
| 59 | ||
| 60 | public function testInvokeFlow() |
|
| 61 | { |
|
| 62 | $file = $this->makeFile('tail/invoke', "line 1\nline 2\nline 3"); |
|
| 63 | $flow = new Tail(1); |
|
| 64 | ||
| 65 | $output = call_user_func($flow, $file); |
|
| 66 | ||
| 67 | static::assertNotSame($file, $output); |
|
| 68 | static::assertInstanceOf(LocalFile::class, $output); |
|
| 69 | static::assertEquals(["line 3"], $output->getContents()); |
|
| 70 | } |
|
| 71 | } |
|
| 72 | ||