JavascriptsHelperTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /*
  3. * This file is part of the symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. require_once __DIR__.'/../../../../bootstrap.php';
  11. use Symfony\Components\Templating\Helper\AssetsHelper;
  12. use Symfony\Components\Templating\Helper\JavascriptsHelper;
  13. use Symfony\Components\Templating\Helper\HelperSet;
  14. use Symfony\Components\Templating\Engine;
  15. use Symfony\Components\Templating\Loader\FilesystemLoader;
  16. $t = new LimeTest(4);
  17. $helperSet = new HelperSet(array(
  18. new AssetsHelper(),
  19. ));
  20. // ->add()
  21. $t->diag('->add()');
  22. $helper = new JavascriptsHelper();
  23. $helperSet->set($helper);
  24. $helper->add('foo');
  25. $t->is($helper->get(), array('/foo' => array()), '->add() adds a JavaScript');
  26. $helper->add('/foo');
  27. $t->is($helper->get(), array('/foo' => array()), '->add() does not add the same JavaScript twice');
  28. $helper = new JavascriptsHelper();
  29. $helperSet->set($helper);
  30. $helperSet->get('assets')->setBaseURLs('http://assets.example.com/');
  31. $helper->add('foo');
  32. $t->is($helper->get(), array('http://assets.example.com/foo' => array()), '->add() converts the JavaScript to a public path');
  33. // ->__toString()
  34. $t->diag('->__toString()');
  35. $helper = new JavascriptsHelper();
  36. $helperSet->set($helper);
  37. $helperSet->get('assets')->setBaseURLs('');
  38. $helperSet->setEngine($engine = new Engine(new FilesystemLoader('/')));
  39. $helper->add('foo', array('class' => 'ba>'));
  40. $t->is($helper->__toString(), '<script type="text/javascript" src="/foo" class="ba&gt;"></script>', '->__toString() converts the JavaScript configuration to HTML');