/**
  * Tests the parse method
  *
  * @param   string   $url                 An associative array with variables
  * @param   integer  $menubool            JROUTER_MODE_RAW or JROUTER_MODE_SEF
  * @param   array    $expectedVars        An associative array with $_SERVER vars
  * @param   array    $expectedGlobalVars  An associative array with $_SERVER vars
  *
  * @return  void
  *
  * @dataProvider  casesParseRawRoute
  * @since         3.4
  */
 public function testParseRawRoute($url, $menubool, $expectedVars, $expectedGlobalVars)
 {
     $uri = new JUri($url);
     if (isset($expectedGlobalVars['Itemid'])) {
         $app = $this->object->getApp();
         $app->input->set('Itemid', $expectedGlobalVars['Itemid']);
         $this->object->setApp($app);
     }
     if ($menubool) {
         $menu = TestMockMenu::create($this, false);
         $menu->expects($this->any())->method('getDefault')->will($this->returnValue(null));
         $this->object->setMenu($menu);
     }
     $vars = $this->object->runParseRawRoute($uri);
     $this->assertEquals($expectedVars, $vars);
     $this->assertEquals($expectedGlobalVars, $this->object->getVars());
 }