function testEncodedParameters() { $url = new SimpleUrl(""); $url->addRequestParameter("a", '?!"\'#~@[]{}:;<>,./|£$%^&*()_+-='); $this->assertIdentical($request = $url->getEncodedRequest(), "?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%A3%24%25%5E%26%2A%28%29_%2B-%3D"); $url = new SimpleUrl("?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%A3%24%25%5E%26%2A%28%29_%2B-%3D"); $request = $url->getRequest(); $this->assertEqual($request["a"], '?!"\'#~@[]{}:;<>,./|£$%^&*()_+-='); }
function assertUrl($raw, $parts, $params = false) { if (!is_array($params)) { $params = array(); } $url = new SimpleUrl($raw); $this->assertIdentical($url->getScheme(), $parts[0], "[{$raw}] scheme->%s"); $this->assertIdentical($url->getUsername(), $parts[1], "[{$raw}] username->%s"); $this->assertIdentical($url->getPassword(), $parts[2], "[{$raw}] password->%s"); $this->assertIdentical($url->getHost(), $parts[3], "[{$raw}] host->%s"); $this->assertIdentical($url->getPort(), $parts[4], "[{$raw}] port->%s"); $this->assertIdentical($url->getPath(), $parts[5], "[{$raw}] path->%s"); $this->assertIdentical($url->getTld(), $parts[6], "[{$raw}] tld->%s"); $this->assertIdentical($url->getEncodedRequest(), $parts[7], "[{$raw}] encoded->%s"); $query = new SimpleQueryString(); foreach ($params as $key => $value) { $query->add($key, $value); } $this->assertIdentical($url->getRequest(), $query, "[{$raw}] request->%s"); $this->assertIdentical($url->getFragment(), $parts[8], "[{$raw}] fragment->%s"); }
function assertUrl($raw, $parts, $params = false, $coords = false) { if (!is_array($params)) { $params = array(); } $url = new SimpleUrl($raw); $this->assertIdentical($url->getScheme(), $parts[0], "[{$raw}] scheme -> %s"); $this->assertIdentical($url->getUsername(), $parts[1], "[{$raw}] username -> %s"); $this->assertIdentical($url->getPassword(), $parts[2], "[{$raw}] password -> %s"); $this->assertIdentical($url->getHost(), $parts[3], "[{$raw}] host -> %s"); $this->assertIdentical($url->getPort(), $parts[4], "[{$raw}] port -> %s"); $this->assertIdentical($url->getPath(), $parts[5], "[{$raw}] path -> %s"); $this->assertIdentical($url->getTld(), $parts[6], "[{$raw}] tld -> %s"); $this->assertIdentical($url->getEncodedRequest(), $parts[7], "[{$raw}] encoded -> %s"); $this->assertIdentical($url->getRequest(), $params, "[{$raw}] request -> %s"); $this->assertIdentical($url->getFragment(), $parts[8], "[{$raw}] fragment -> %s"); if ($coords) { $this->assertIdentical($url->getX(), $coords[0], "[{$raw}] x -> %s"); $this->assertIdentical($url->getY(), $coords[1], "[{$raw}] y -> %s"); } }