public function testArray() { $base = ['a' => 'b', 'c' => 'd']; $arr = new ArrayObject($base); $this->assertEquals(new ArrayObject(['b', 'd']), $arr->values()); $this->assertEquals(new ArrayObject(['a', 'c']), $arr->keys()); $this->assertEquals($base, $arr->toArray()); $new = []; foreach ($arr as $k => $v) { $new[$k] = $v; } $this->assertEquals($new, $arr->toArray()); $this->assertEquals(new ArrayObject(['b' => 'a', 'd' => 'c']), $arr->flip()); $arr = new ArrayObject(['these', 'are', 'my', 'items']); $this->assertEquals(new Text('these are my items'), $arr->join(' ')); }
/** * Returns a copy of this path truncated after the given number of segments. * * @param int $count * @return Path */ public function upToSegment($count) { $segments = new ArrayObject(); for ($i = 0; $i < $count; $i++) { $segments->push($this->segments[$i]); } return new Path($segments->join('/')); }