From 64a1a0d67eb5aecc8e6d78469b19f58e8443c717 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Sun, 11 Oct 2009 02:14:43 +0000 Subject: #600554 by sun: Fixed drupal_parse_url() to work with clean URLs disabled (with tests). --- modules/simpletest/tests/common.test | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'modules/simpletest/tests/common.test') diff --git a/modules/simpletest/tests/common.test b/modules/simpletest/tests/common.test index fe37b416a..53d493210 100644 --- a/modules/simpletest/tests/common.test +++ b/modules/simpletest/tests/common.test @@ -120,6 +120,24 @@ class CommonURLUnitTest extends DrupalUnitTestCase { 'fragment' => 'foo', ); $this->assertEqual(drupal_parse_url($url), $result, t('External URL parsed correctly.')); + + // Verify proper parsing of URLs when clean URLs are disabled. + $result = array( + 'path' => 'foo/bar', + 'query' => array('bar' => 'baz'), + 'fragment' => 'foo', + ); + // Non-clean URLs #1: Absolute URL generated by url(). + $url = $GLOBALS['base_url'] . '/?q=foo/bar&bar=baz#foo'; + $this->assertEqual(drupal_parse_url($url), $result, t('Absolute URL with clean URLs disabled parsed correctly.')); + + // Non-clean URLs #2: Relative URL generated by url(). + $url = '?q=foo/bar&bar=baz#foo'; + $this->assertEqual(drupal_parse_url($url), $result, t('Relative URL with clean URLs disabled parsed correctly.')); + + // Non-clean URLs #3: URL generated by url() on non-Apache webserver. + $url = 'index.php?q=foo/bar&bar=baz#foo'; + $this->assertEqual(drupal_parse_url($url), $result, t('Relative URL on non-Apache webserver with clean URLs disabled parsed correctly.')); } /** -- cgit v1.2.3