Exemple #1
0
 /**
  * @issue ZF-5435
  */
 public function testContainerMaintainsCorrectOrderOfItems()
 {
     $this->helper->offsetSetFile(1, 'test1.js');
     $this->helper->offsetSetFile(20, 'test2.js');
     $this->helper->offsetSetFile(10, 'test3.js');
     $this->helper->offsetSetFile(5, 'test4.js');
     $test = $this->helper->toString();
     $expected = '<script type="text/javascript" src="test1.js"></script>' . PHP_EOL . '<script type="text/javascript" src="test4.js"></script>' . PHP_EOL . '<script type="text/javascript" src="test3.js"></script>' . PHP_EOL . '<script type="text/javascript" src="test2.js"></script>';
     $this->assertEquals($expected, $test);
 }
Exemple #2
0
 /**
  * @param ScriptContainer $container
  * @param string|number $place
  * @return callable
  */
 protected function getInjector($container, $place)
 {
     $insert = null;
     switch ($place) {
         case self::PLACE_APPEND:
             $insert = function ($jsFile, $type, $attrs) use($container) {
                 $container->appendFile($jsFile, $type, $attrs);
             };
             break;
         case self::PLACE_PREPEND:
             $insert = function ($jsFile, $type, $attrs) use($container) {
                 $container->prependFile($jsFile, $type, $attrs);
             };
             break;
         default:
             if (is_numeric($place)) {
                 $insert = function ($jsFile, $type, $attrs) use($container, &$place) {
                     $container->offsetSetFile($place, $jsFile, $type, $attrs);
                     $place++;
                 };
             }
             break;
     }
     if (!is_callable($insert)) {
         throw new \RuntimeException('Failed to make JS files injector.');
     }
     return $insert;
 }