diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-05-04 15:59:28 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-05-04 15:59:28 +0000 |
commit | b4848f661acdf3a8dadb475419e782939ed3108c (patch) | |
tree | 6683f4bd221c2b93979d367826783d8b1f3b44f1 /modules/simpletest/tests/common.test | |
parent | ac3d3aa5192910e0697490aaf74166dcc16e00cd (diff) | |
download | brdo-b4848f661acdf3a8dadb475419e782939ed3108c.tar.gz brdo-b4848f661acdf3a8dadb475419e782939ed3108c.tar.bz2 |
- Patch #296326 by dereine, kscheirer, nagba, mr.baileys: l() and active class tests.
Diffstat (limited to 'modules/simpletest/tests/common.test')
-rw-r--r-- | modules/simpletest/tests/common.test | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/simpletest/tests/common.test b/modules/simpletest/tests/common.test index cdec4ed98..07a72463c 100644 --- a/modules/simpletest/tests/common.test +++ b/modules/simpletest/tests/common.test @@ -86,6 +86,28 @@ class CommonURLUnitTest extends DrupalWebTestCase { $this->assertTrue(strpos($link, $sanitized_path) !== FALSE, t('XSS attack @path was filtered', array('@path' => $path))); } + /* + * Tests for active class in l() function. + */ + function testLActiveClass() { + $link = l($this->randomName(), $_GET['q']); + $this->assertTrue($this->hasClass($link, 'active'), t('Class @class is present on link to the current page', array('@class' => 'active'))); + } + + /** + * Tests for custom class in l() function. + */ + function testLCustomClass() { + $class = $this->randomName(); + $link = l($this->randomName(), $_GET['q'], array('attributes' => array('class' => array($class)))); + $this->assertTrue($this->hasClass($link, $class), t('Custom class @class is present on link when requested', array('@class' => $class))); + $this->assertTrue($this->hasClass($link, 'active'), t('Class @class is present on link to the current page', array('@class' => 'active'))); + } + + private function hasClass($link, $class) { + return preg_match('|class="([^\"\s]+\s+)*' . $class . '|', $link); + } + /** * Test drupal_get_query_parameters(). */ |