Example #1
0
 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(' '));
 }
Example #2
0
 /**
  * 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('/'));
 }