Пример #1
0
 public function testSlice()
 {
     $this->assertEquals(['b', 'c'], P::slice(1, 3, ['a', 'b', 'c', 'd']));
     $this->assertEquals(['b', 'c', 'd'], P::slice(1, NULL, ['a', 'b', 'c', 'd']));
     $this->assertEquals(['a', 'b', 'c'], P::slice(0, -1, ['a', 'b', 'c', 'd']));
     $this->assertEquals(['b', 'c'], P::slice(-3, -1, ['a', 'b', 'c', 'd']));
     $this->assertEquals(['b', 'c'], P::slice(-3, -1, ['a', 'b', 'c', 'd']));
     $this->assertEquals(['c' => 'd', 'e' => 'f'], P::slice(-3, -1, ['a' => 'b', 'c' => 'd', 'e' => 'f', 'g' => 'h']));
     $a = function () {
         (yield 'a');
         (yield 'b');
         (yield 'c');
         (yield 'd');
     };
     $this->assertEquals(['b', 'c'], P::slice(1, 3, $a()));
 }