public function testSuffix()
 {
     $template = '<html><head></head><body><header>My header</header><p>Body</p></body></html>';
     $basePath = $this->getCurrentRelativePath();
     $basePath = 'framework' . substr($basePath, strlen(FRAMEWORK_DIR));
     $backend = new Requirements_Backend();
     $backend->javascript($basePath . '/RequirementsTest_a.js');
     $backend->javascript($basePath . '/RequirementsTest_b.js?foo=bar&bla=blubb');
     $backend->css($basePath . '/RequirementsTest_a.css');
     $backend->css($basePath . '/RequirementsTest_b.css?foo=bar&bla=blubb');
     $backend->set_suffix_requirements(true);
     $html = $backend->includeInHTML(false, $template);
     $this->assertRegexp('/RequirementsTest_a\\.js\\?m=[\\d]*"/', $html);
     $this->assertRegexp('/RequirementsTest_b\\.js\\?m=[\\d]*&amp;foo=bar&amp;bla=blubb"/', $html);
     $this->assertRegexp('/RequirementsTest_a\\.css\\?m=[\\d]*"/', $html);
     $this->assertRegexp('/RequirementsTest_b\\.css\\?m=[\\d]*&amp;foo=bar&amp;bla=blubb"/', $html);
     $backend->set_suffix_requirements(false);
     $html = $backend->includeInHTML(false, $template);
     $this->assertNotContains('RequirementsTest_a.js=', $html);
     $this->assertNotRegexp('/RequirementsTest_a\\.js\\?m=[\\d]*"/', $html);
     $this->assertNotRegexp('/RequirementsTest_b\\.js\\?m=[\\d]*&amp;foo=bar&amp;bla=blubb"/', $html);
     $this->assertNotRegexp('/RequirementsTest_a\\.css\\?m=[\\d]*"/', $html);
     $this->assertNotRegexp('/RequirementsTest_b\\.css\\?m=[\\d]*&amp;foo=bar&amp;bla=blubb"/', $html);
 }
 function testArgsInUrls()
 {
     $backend = new Requirements_Backend();
     $backend->set_combined_files_enabled(TRUE);
     $backend->set_suffix_requirements(TRUE);
     $backend->js('tests/phpunit/data/RequirementsTest_a.js?test=1&test=2&test=3');
     $backend->css('tests/phpunit/data/RequirementsTest_a.css?test=1&test=2&test=3');
     $backend->delete_combined_files('RequirementsTest_bc.js');
     $html = $backend->render();
     /* Javascript has correct path */
     $this->assertRegexp('#src=".*\\/RequirementsTest_a\\.js\\?m=\\d\\d+&test=1&test=2&test=3#', $html, 'javascript has correct path and mtime suffix');
     /* CSS has correct path */
     $this->assertRegexp('#href=".*\\/RequirementsTest_a\\.css\\?m=\\d\\d+&test=1&test=2&test=3#', $html, 'css has correct path and mtime suffix');
     // Testing again without mtime suffix
     $backend->set_suffix_requirements(FALSE);
     $html = $backend->render();
     /* Javascript has correct path */
     $this->assertRegexp('#src=".*\\/RequirementsTest_a\\.js\\?test=1&test=2&test=3#', $html, 'javascript has correct path');
     /* CSS has correct path */
     $this->assertRegexp('#href=".*\\/RequirementsTest_a\\.css\\?test=1&test=2&test=3#', $html, 'css has correct path');
 }