function testRequirementsBackend()
 {
     $backend = new Requirements_Backend();
     $backend->js('tests/phpunit/data/a.js');
     $this->assertCount(1, $backend->get_js(), "There should be only 1 file included in required javascript.");
     $this->assertContains('tests/phpunit/data/a.js', $backend->get_js(), "/tests/phpunit/data/a.js should be included in required javascript.");
     $backend->js('tests/phpunit/data/b.js');
     $this->assertCount(2, $backend->get_js(), "There should be 2 files included in required javascript.");
     $backend->block('tests/phpunit/data/a.js');
     $this->assertCount(1, $backend->get_js(), "There should be only 1 file included in required javascript.");
     $this->assertNotContains('tests/phpunit/data/a.js', $backend->get_js(), "/tests/phpunit/data/a.js should not be included in required javascript after it has been blocked.");
     $this->assertContains('tests/phpunit/data/b.js', $backend->get_js(), "/tests/phpunit/data/b.js should be included in required javascript.");
     $backend->css('tests/phpunit/data/a.css');
     $this->assertCount(1, $backend->get_css(), "There should be only 1 file included in required css.");
     $this->assertArrayHasKey('a.css', $backend->get_css(), "/tests/phpunit/data/a.css should be in required css.");
     $this->assertContains(array('file' => 'tests/phpunit/data/a.css', 'media' => null), $backend->get_css(), "/tests/phpunit/data/a.css should be in required css.");
     $backend->block('tests/phpunit/data/a.css');
     $this->assertCount(0, $backend->get_css(), "There should be nothing in required css after file has been blocked.");
     // Test unblock_all()
     $backend->unblock_all();
     $this->assertCount(2, $backend->get_js(), "There should be only 2 files included in required css.");
     $this->assertCount(1, $backend->get_css(), "There should be only 1 file included in required javascript.");
     // Testing clear()
     $backend->js('tests/phpunit/data/c.css');
     $backend->clear();
     $this->assertCount(0, $backend->get_css(), "There should be nothing in required css after requirements cleared.");
     $this->assertCount(0, $backend->get_js(), "There should be nothing in required js after requirements cleared.");
     // Testing js block by id
     $backend->js('tests/phpunit/data/a.js');
     $backend->block('a.js');
     $this->assertCount(0, $backend->get_js(), "There should be nothing in required js after file has be blocked.");
     // Testing css block by id
     $backend->css('tests/phpunit/data/a.css');
     $backend->block('a.css');
     $this->assertCount(0, $backend->get_css(), "There should be nothing in required css after file has been blocked.");
     // Testing unblock
     $backend->unblock('a.js');
     $this->assertCount(1, $backend->get_js(), "There should be only 1 file included in required javascript.");
 }