/** * Testing Web->enqueueScript($script) */ public function testEnqueueAndOutputScript() { self::$web->enqueueScript(array("name" => "modernizr.js", "uri" => "/system/templates/js/modernizr.js", "weight" => 10)); // Test one script $this->assertEquals(count(self::$web->_scripts), 1); $this->assertEquals($this->captureOutput(self::$web, 'outputScripts'), "<script src='/system/templates/js/modernizr.js'></script>"); // Test a second script self::$web->enqueueScript(array("name" => "jquery.js", "uri" => "/system/templates/js/jquery.js", "weight" => 50)); $this->assertEquals(count(self::$web->_scripts), 2); $this->assertEquals($this->captureOutput(self::$web, 'outputScripts'), "<script src='/system/templates/js/jquery.js'></script><script src='/system/templates/js/modernizr.js'></script>"); // Test that adding a previous value isnt duplicated self::$web->enqueueScript(array("name" => "jquery.js", "uri" => "/system/templates/js/jquery.js", "weight" => 50)); $this->assertEquals(count(self::$web->_scripts), 2); $this->assertEquals($this->captureOutput(self::$web, 'outputScripts'), "<script src='/system/templates/js/jquery.js'></script><script src='/system/templates/js/modernizr.js'></script>"); // Test weight based sorting by injecting another script which should sort to the middle self::$web->enqueueScript(array("name" => "myscript.js", "uri" => "/eek/myscript.js", "weight" => 20)); $this->assertEquals(count(self::$web->_scripts), 3); $this->assertEquals($this->captureOutput(self::$web, 'outputScripts'), "<script src='/system/templates/js/jquery.js'></script><script src='/eek/myscript.js'></script><script src='/system/templates/js/modernizr.js'></script>"); }