/**
  * @see http://php.net/manual/en/function.parse-url.php
  * @param $expected
  * @param $actual
  * @param $fields
  */
 public static function assertUrlSame($expected, $actual, $fields = array('host', 'path', 'query', 'fragment', 'scheme', 'port', 'user', 'pass'))
 {
     $expected = parse_url($expected);
     $actual = parse_url($actual);
     foreach ($fields as $fld) {
         if ($fld == 'query' and array_key_exists('query', $expected) and array_key_exists('query', $actual)) {
             $a1 = array();
             $a2 = array();
             parse_str($expected['query'], $a1);
             parse_str($actual['query'], $a2);
             MpAssertions::assertArraySameValues($a1, $a2);
         } else {
             CakeTestCase::assertSame(@$expected[$fld], @$actual[$fld]);
         }
     }
 }
 public function testAssertArraySameValues()
 {
     MpAssertions::assertArraySameValues(array(0, 1, 2), array(2, 1, 0));
     MpAssertions::assertArraySameValues(array('a' => 'A', 'b' => 'B'), array('c' => 'B', 'd' => 'A'));
 }
 public function testViewNoQuery2()
 {
     $this->testAction('/dane?q');
     MpAssertions::assertUrlSamePathAndQuery('/', $this->headers['Location']);
 }