CSS Unit Tests.
Hierarchy
- DrupalTestCase
- DrupalUnitTestCase
- BatchPercentagesUnitTestCase
- BlockTemplateSuggestionsUnitTest
- BootstrapGetFilenameTestCase
- BootstrapMiscTestCase
- BootstrapOverrideServerVariablesTestCase
- BootstrapResettableStaticTestCase
- BootstrapTimerTestCase
- CascadingStylesheetsUnitTest
- CommonSizeTestCase
- CommonXssUnitTest
- DrupalAttributesUnitTest
- DrupalHTMLIdentifierTestCase
- DrupalJSONTest
- DrupalTagsHandlingTestCase
- FilterUnitTestCase
- GraphUnitTest
- ImageDimensionsScaleTestCase
- InfoFileParserTestCase
- LocaleBrowserDetectionTest
- MenuTreeDataTestCase
- ParseInfoFilesTestCase
- SearchExcerptTestCase
- SearchExpressionInsertExtractTestCase
- SimpleTestMissingDependentModuleUnitTest
- TableSortTest
- ThemeHtmlTag
- UnicodeUnitTest
- UpdateCoreUnitTestCase
- ValidUrlTestCase
- DrupalUnitTestCase
Functions & methods
| Name | Description |
|---|---|
| CascadingStylesheetsUnitTest::getInfo | |
| CascadingStylesheetsUnitTest::testLoadCssBasic | Tests basic CSS loading with and without optimization via drupal_load_stylesheet(). |
| DrupalTestCase::assert | Internal helper: stores the assert. |
| DrupalTestCase::assertEqual | Check to see if two values are equal. |
| DrupalTestCase::assertFalse | Check to see if a value is false (an empty string, 0, NULL, or FALSE). |
| DrupalTestCase::assertIdentical | Check to see if two values are identical. |
| DrupalTestCase::assertNotEqual | Check to see if two values are not equal. |
| DrupalTestCase::assertNotIdentical | Check to see if two values are not identical. |
| DrupalTestCase::assertNotNull | Check to see if a value is not NULL. |
| DrupalTestCase::assertNull | Check to see if a value is NULL. |
| DrupalTestCase::assertTrue | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). |
| DrupalTestCase::deleteAssert | Delete an assertion record by message ID. |
| DrupalTestCase::error | Fire an error assertion. |
| DrupalTestCase::errorHandler | Handle errors during test runs. |
| DrupalTestCase::exceptionHandler | Handle exceptions. |
| DrupalTestCase::fail | Fire an assertion that is always negative. |
| DrupalTestCase::generatePermutations | Converts a list of possible parameters into a stack of permutations. |
| DrupalTestCase::getAssertionCall | Cycles through backtrace until the first non-assertion method is found. |
| DrupalTestCase::insertAssert | Store an assertion from outside the testing context. |
| DrupalTestCase::pass | Fire an assertion that is always positive. |
| DrupalTestCase::randomName | Generates a random string containing letters and numbers. |
| DrupalTestCase::randomString | Generates a random string of ASCII characters of codes 32 to 126. |
| DrupalTestCase::run | Run all tests in this class. |
| DrupalTestCase::verbose | Logs verbose message in a text file. |
| DrupalUnitTestCase::setUp | Sets up unit test environment. |
| DrupalUnitTestCase::tearDown | |
| DrupalUnitTestCase::__construct | Constructor for DrupalUnitTestCase. Overrides DrupalTestCase::__construct |
Properties
| Name | Description |
|---|---|
| DrupalTestCase::$assertions | Assertions thrown in that test case. |
| DrupalTestCase::$databasePrefix | The database prefix of this test run. |
| DrupalTestCase::$originalFileDirectory | The original file directory, before it was changed for testing purposes. |
| DrupalTestCase::$results | Current results of this test case. |
| DrupalTestCase::$setup | Flag to indicate whether the test has been set up. |
| DrupalTestCase::$skipClasses | This class is skipped when looking for the source of an assertion. |
| DrupalTestCase::$testId | The test run ID. |
| DrupalTestCase::$timeLimit | Time limit for the test. |
File
- modules/
simpletest/ tests/ common.test, line 879 - Tests for common.inc functionality.
View source
class CascadingStylesheetsUnitTest extends DrupalUnitTestCase {
public static function getInfo() {
return array(
'name' => 'CSS Unit Tests',
'description' => 'Unit tests on CSS functions like aggregation.',
'group' => 'System',
);
}
/**
* Tests basic CSS loading with and without optimization via drupal_load_stylesheet().
*
* Known tests:
* - Retain white-space in selectors. (http://drupal.org/node/472820)
* - Proper URLs in imported files. (http://drupal.org/node/265719)
* - Retain pseudo-selectors. (http://drupal.org/node/460448)
*/
function testLoadCssBasic() {
// Array of files to test living in 'simpletest/files/css_test_files/'.
// - Original: name.css
// - Unoptimized expected content: name.css.unoptimized.css
// - Optimized expected content: name.css.optimized.css
$testfiles = array(
'css_input_without_import.css',
'css_input_with_import.css',
'comment_hacks.css',
);
$path = drupal_get_path('module', 'simpletest') . '/files/css_test_files';
foreach ($testfiles as $file) {
$expected = file_get_contents("$path/$file.unoptimized.css");
$unoptimized_output = drupal_load_stylesheet("$path/$file.unoptimized.css", FALSE);
$this->assertEqual($unoptimized_output, $expected, t('Unoptimized CSS file has expected contents (@file)', array('@file' => $file)));
$expected = file_get_contents("$path/$file.optimized.css");
$optimized_output = drupal_load_stylesheet("$path/$file", TRUE);
$this->assertEqual($optimized_output, $expected, t('Optimized CSS file has expected contents (@file)', array('@file' => $file)));
// Repeat the tests by accessing the stylesheets by URL.
$expected = file_get_contents("$path/$file.unoptimized.css");
$unoptimized_output_url = drupal_load_stylesheet($GLOBALS['base_url'] . "/$path/$file.unoptimized.css", FALSE);
$this->assertEqual($unoptimized_output, $expected, t('Unoptimized CSS file (loaded from an URL) has expected contents (@file)', array('@file' => $file)));
$expected = file_get_contents("$path/$file.optimized.css");
$optimized_output = drupal_load_stylesheet($GLOBALS['base_url'] . "/$path/$file", TRUE);
$this->assertEqual($optimized_output, $expected, t('Optimized CSS file (loaded from an URL) has expected contents (@file)', array('@file' => $file)));
}
}
}