/** * Turns a URL into a relative path. * * The result is a canonical path. This class is using functionality of Path class. * * @see Path * * @param string $url A URL to make relative. * @param string $baseUrl A base URL. * * @return string * * @throws InvalidArgumentException If the URL and base URL does * not match. */ public static function makeRelative($url, $baseUrl) { Assert::string($url, 'The URL must be a string. Got: %s'); Assert::string($baseUrl, 'The base URL must be a string. Got: %s'); Assert::contains($baseUrl, '://', '%s is not an absolute Url.'); list($baseHost, $basePath) = self::split($baseUrl); if (false === strpos($url, '://')) { if (0 === strpos($url, '/')) { $host = $baseHost; } else { $host = ''; } $path = $url; } else { list($host, $path) = self::split($url); } if ('' !== $host && $host !== $baseHost) { throw new InvalidArgumentException(sprintf('The URL "%s" cannot be made relative to "%s" since their host names are different.', $host, $baseHost)); } return Path::makeRelative($path, $basePath); }
/** * @Then I should see output :text */ public function iShouldSeeOutput($text) { Assert::contains($this->tester->getDisplay(), $text); }
/** * @Then they should have order like :firstTaxonName, :secondTaxonName, :thirdTaxonName and :fourthTaxonName */ public function theyShouldHaveOrderLikeAnd(...$taxonsNames) { $leaves = $this->createPage->getLeaves(); foreach ($leaves as $key => $leaf) { Assert::contains($taxonsNames[$key], $leaf->getText()); } }
/** * {@inheritdoc} */ public function assertPageHasContent(StaticContent $staticContent) { $this->verify(['name' => $staticContent->getName()]); Assert::contains($this->getSession()->getPage()->getHtml(), $staticContent->getTitle()); Assert::contains($this->getSession()->getPage()->getHtml(), $staticContent->getBody()); }
/** * @Then I should see that impersonating :email was successful */ public function iShouldSeeThatImpersonatingWasSuccessful($email) { Assert::contains($this->customerShowPage->getSuccessFlashMessage(), $email); }