/**
  * @dataProvider contextPathsAndRequestPathsDataProvider
  * @test
  */
 public function resolveConsidersDimensionValuesPassedViaTheContextPathForRenderingTheUrl($contextPath, $expectedUriPath)
 {
     $this->contentDimensionPresetSource->setConfiguration(array('language' => array('default' => 'en_US', 'defaultPreset' => 'en_US', 'presets' => array('en_US' => array('label' => 'English (US)', 'values' => array('en_US'), 'uriSegment' => 'en'), 'de_DE' => array('label' => 'Deutsch', 'values' => array('de_DE', 'en_US'), 'uriSegment' => 'de'))), 'country' => array('default' => 'global', 'defaultPreset' => 'global', 'presets' => array('global' => array('label' => 'Global', 'values' => array('global'), 'uriSegment' => 'global'), 'us' => array('label' => 'USA', 'values' => array('us'), 'uriSegment' => 'us'), 'de' => array('label' => 'Deutschland', 'values' => array('de'), 'uriSegment' => 'de')))));
     $mockContext = $this->buildMockContext(array('workspaceName' => 'live'));
     $mockContext->mockSite = $this->getMockBuilder(Site::class)->disableOriginalConstructor()->getMock();
     $mockSiteNode = $this->buildSiteNode($mockContext, '/sites/examplecom');
     $mockSiteNode->expects($this->any())->method('getContextPath')->will($this->returnValue('/sites/examplecom'));
     $mockContext->mockSiteNode = $mockSiteNode;
     $mockSubNode = $this->buildSubNode($mockContext->mockSiteNode, 'features');
     $mockSubNode->mockProperties['uriPathSegment'] = 'features';
     $mockSubNode->expects($this->any())->method('getContextPath')->will($this->returnValue('/sites/examplecom/features'));
     $mockContext->expects($this->any())->method('getNode')->will($this->returnCallback(function ($nodePath) use($mockSubNode, $mockSiteNode) {
         switch ($nodePath) {
             case '/sites/examplecom/features':
                 return $mockSubNode;
             case '/sites/examplecom':
                 return $mockSiteNode;
             default:
                 return null;
         }
     }));
     $routeValues = array('node' => $contextPath);
     $this->assertTrue($this->routePartHandler->resolve($routeValues));
     $this->assertSame($expectedUriPath, $this->routePartHandler->getValue());
 }