示例#1
0
 public function testMultiFilteredIterator()
 {
     $engine = DataSources::getEngine();
     $data = DataSources::getOrderData();
     $results = $engine->extract($data, '/order/items/#/.[warehouse_id==3][sku=="SKU1"][price>=10]');
     $this->_testItemResults($results, 1);
 }
示例#2
0
 public function testHasChild()
 {
     $data = DataSources::getOrderData();
     $engine = DataSources::getEngine();
     $results = $engine->extract($data, '/order/items/1');
     $this->assertEquals(1, count($results));
     $result =& $results[0];
     $pointer = new Envalo_APath_Pointer($result, 'some_part', '/orders/items/1', null);
     $this->assertTrue($pointer->hasChild('sku'));
 }
示例#3
0
 public function testSubstringMatch()
 {
     $engine = DataSources::getEngine();
     $data = DataSources::getOrderData();
     $results = $engine->extract($data, '/order/items/#/.[sku=~KU1]');
     $this->_testItemResults($results, 1);
     $results = $engine->extract($data, '/order/items/#/.[sku=@"SKUYYY,SKU1,SKU2,SKUXXX"]');
     $this->_testItemResults($results, 2);
     $results = $engine->extract($data, '/order/items/#/.[sku!@"SKUYYY,SKU1,SKU2,SKU3"]');
     $this->_testItemResults($results, 1);
     $results = $engine->extract($data, '/order/items/#/.[sku=~SKU]');
     $this->_testItemResults($results, 4);
     $results = $engine->extract($data, '/order/items/#/.[sku!~KU1]');
     $this->_testItemResults($results, 3);
     $results = $engine->extract($data, '/order/items/#/.[sku!~SKU]');
     $this->_testItemResults($results, 0);
     $results = $engine->extract($data, '/order/items/#/.[sku!~KU5]');
     $this->_testItemResults($results, 4);
 }