From 99151092682ea5d7722450777d710c6da430dad9 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Thu, 20 Nov 2014 15:38:34 +1300 Subject: [PATCH] MDL-48304 moodle_url: compare now considers anchor --- lib/tests/weblib_test.php | 10 ++++++++++ lib/weblib.php | 4 ++++ 2 files changed, 14 insertions(+) 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; }