Skip to content

Commit db36d26

Browse files
committed
More example tests added.
1 parent 98906bd commit db36d26

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

tests/unit/Examples/ExamplesTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,4 +159,29 @@ public function testSelectorsPipe()
159159
$subview[':'] = [55, 77];
160160
$this->assertSame([1, 2, 3, 4, 55, 6, 77, 8, 9, 10], $originalArray);
161161
}
162+
163+
public function testSelectorsPipeNested()
164+
{
165+
$originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
166+
167+
$selector = new PipeSelector([
168+
new SliceSelector('::2'),
169+
new PipeSelector([
170+
new MaskSelector([true, false, true, true, true]),
171+
new IndexListSelector([0, 1, 2]),
172+
]),
173+
new SliceSelector('1:'),
174+
]);
175+
176+
$view = ArrayView::toView($originalArray);
177+
$this->assertTrue(isset($view[$selector]));
178+
179+
$subview = $view->subview($selector);
180+
181+
$this->assertSame([5, 7], $subview->toArray());
182+
$this->assertSame([5, 7], $subview[':']);
183+
184+
$subview[':'] = [55, 77];
185+
$this->assertSame([1, 2, 3, 4, 55, 6, 77, 8, 9, 10], $originalArray);
186+
}
162187
}

0 commit comments

Comments
 (0)