public function testOnDemandResolver()
 {
     $xrefDep1 = new Xref('file', '/dep1.json');
     $xrefDep1->setData(array('on-demand1' => '{{token1}}', 'on-demand2' => '{{token2}}'))->setResolved(true);
     $xrefMain = new Xref('file', '/main.json');
     $xrefMain->setData(array('include' => array('xref' => array('dep1' => array('type' => 'file', 'src' => '/dep1.json', 'resolve' => array(array('type' => 'on-demand', 'options' => array('token-prefix' => '{{', 'token-suffix' => '}}'), 'values' => array())))), 'main' => array('dep1'))))->setResolved(true);
     $treeCompiler = new TreeCompiler();
     $treeCompiler->getXrefs()->add($xrefDep1);
     $compiled = $treeCompiler->compileXref($xrefMain);
     $expected = array('on-demand1' => '{{token1}}', 'on-demand2' => '{{token2}}');
     $this->assertEquals($expected, $compiled);
     $this->onDemandTokenValues = array('token1' => 'ok1', 'token2' => 'ok2');
     $testListener = new TestEventListener(array($this, 'eventListenerCallback'));
     $eventManager = EventManager::getInstance();
     $eventManager->register($testListener);
     $this->assertTrue($eventManager->hasListeners());
     $compiled = $treeCompiler->compileXref($xrefMain);
     $expected = array('on-demand1' => 'ok1', 'on-demand2' => 'ok2');
     $this->assertEquals($expected, $compiled);
     $eventManager->remove($testListener);
     $this->assertFalse($eventManager->hasListeners());
 }
Exemplo n.º 2
0
 public function testTokensInValuesXrefLocation()
 {
     $xrefDep1 = new Xref('file', '/dep1.json');
     $xrefDep1->setData(array('content' => 'dep1.json', 'dep1version' => '{{version}}'))->setResolved(true);
     $xrefDep2 = new Xref('file', '/dep2.json');
     $xrefDep2->setData(array('include' => array('xref' => array('dep1' => array('type' => 'file', 'src' => '/dep1.json', 'resolve' => array(array('type' => 'registered', 'options' => array('token-prefix' => '{{', 'token-suffix' => '}}'), 'values-xref' => array('type' => 'file', 'src' => '/dep{{version}}.json'))))), 'main' => array('dep1'))))->setResolved(true);
     $xrefMain = new Xref('file', '/main.json');
     $xrefMain->setData(array('include' => array('xref' => array('dep2' => array('type' => 'file', 'src' => '/dep2.json', 'resolve' => array(array('type' => 'registered', 'options' => array('token-prefix' => '{{', 'token-suffix' => '}}'), 'values' => array('version' => '1'))))), 'main' => array('dep2'))))->setResolved(true);
     $treeCompiler = new TreeCompiler();
     $treeCompiler->getXrefs()->add($xrefDep1);
     $treeCompiler->getXrefs()->add($xrefDep2);
     $compiled = $treeCompiler->compileXref($xrefMain);
     $expected = array('content' => 'dep1.json', 'dep1version' => 1);
     $this->assertEquals($expected, $compiled);
 }