コード例 #1
0
ファイル: XmlParserAttr.php プロジェクト: OpenBX/obx.core
 /**
  * @param $filePath
  * @dataProvider getXmlFilePath
  * @depends testAddAttrAfterTableCreation
  */
 public function testAddAttr($filePath)
 {
     $Parser = new XmlParser($filePath);
     $Parser->dropTempTables();
     $Parser->addAttribute('available:offer_avail', 'offer', 3, true, true);
     $Parser->addAttribute('id:common_id', false, false, true, true);
     $Parser->addAttribute('id:offer_id', 'offer', 3, true, true);
     $Parser->createTempTables();
 }
コード例 #2
0
ファイル: XmlParserTest.php プロジェクト: OpenBX/obx.core
 /**
  * @param string $filePath
  * @dataProvider getXmlFilePath
  */
 public function testParser($filePath)
 {
     // Что бы сделать пошаговость в публичке надо использовать $NS через регистрацию данныз в:
     //bitrix/modules/main/tools.php
     //FormDecode();
     $ITERATION = array();
     $Parser = new XmlParser($filePath);
     //$Parser->setReadSize(100);
     $Parser->setReadTimeLimit(1);
     $Parser->dropTempTables();
     $Parser->createTempTables();
     $prevFilePosition = 0;
     while (!$Parser->readXML($ITERATION)) {
         $this->assertGreaterThanOrEqual($prevFilePosition, $ITERATION['file_position']);
         $prevFilePosition = $ITERATION['file_position'];
     }
     $Parser->indexTempTables();
 }
コード例 #3
0
ファイル: XmlParserEvent.php プロジェクト: OpenBX/obx.core
 /**
  * @param string $filePath
  * @dataProvider getXmlFilePath
  */
 public function testWrongFile($filePath)
 {
     $ITERATION = array();
     $Parser = new XmlParser($filePath);
     $test = $this;
     $Parser->onBeforeAdd(function ($Parser, &$arFields) use($test) {
         /** @var \OBX\Core\Xml\Parser $Parser */
         if ($arFields['NAME'] == 'offers') {
             $Parser->breakReading();
             $Parser->endElement();
             // shop
             $Parser->endElement();
             // yml_catalog
         }
     });
     $Parser->dropTempTables();
     $Parser->createTempTables();
     $prevFilePosition = 0;
     while (!$Parser->readXML($ITERATION)) {
         $this->assertGreaterThanOrEqual($prevFilePosition, $ITERATION['file_position']);
         $prevFilePosition = $ITERATION['file_position'];
     }
 }