diff --git a/lib/tests/weblib_test.php b/lib/tests/weblib_test.php index ab5f019c970..513ee7b43ba 100644 --- a/lib/tests/weblib_test.php +++ b/lib/tests/weblib_test.php @@ -285,6 +285,16 @@ class core_weblib_testcase extends advanced_testcase { $this->assertTrue($url1->compare($url2, URL_MATCH_BASE)); $this->assertTrue($url1->compare($url2, URL_MATCH_PARAMS)); $this->assertTrue($url1->compare($url2, URL_MATCH_EXACT)); + + $url1->set_anchor('test'); + $this->assertTrue($url1->compare($url2, URL_MATCH_BASE)); + $this->assertTrue($url1->compare($url2, URL_MATCH_PARAMS)); + $this->assertFalse($url1->compare($url2, URL_MATCH_EXACT)); + + $url2->set_anchor('test'); + $this->assertTrue($url1->compare($url2, URL_MATCH_BASE)); + $this->assertTrue($url1->compare($url2, URL_MATCH_PARAMS)); + $this->assertTrue($url1->compare($url2, URL_MATCH_EXACT)); } public function test_out_as_local_url() { diff --git a/lib/weblib.php b/lib/weblib.php index ee5b31a12b0..dd91f8d2edd 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -646,6 +646,10 @@ class moodle_url { } } + if ($url->anchor !== $this->anchor) { + return false; + } + return true; }