示例#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 testAlreadyParsed()
 {
     $parser = DataSources::getParser();
     $a_path = '/some/path/with[filter!=conditions]/#/./iterators/too';
     $parsed = $parser->parse($a_path);
     $parsed_again = $parser->parse($parsed);
     $this->assertEquals($parsed, $parsed_again);
 }
示例#3
0
文件: NodeTest.php 项目: Envalo/APath
 public function testMethodChaining()
 {
     $node = DataSources::getNode();
     $node->setPart('some_part')->addFilter('some_filter')->setCondition('some_condition')->addFilter('some_other_filter')->setPart('some_other_part');
     $this->assertEquals('some_other_part', $node->getPart());
     $this->assertEquals('some_condition', $node->getCondition());
     $this->assertEquals(array('some_filter', 'some_other_filter'), $node->getFilters());
 }
示例#4
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'));
 }
示例#5
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);
 }