Mercurial > hg > rr-repo
diff sites/all/libraries/ARC2/arc/tests/unit/ARC2_Test.php @ 4:ce11bbd8f642
added modules
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Thu, 19 Sep 2013 10:38:44 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/libraries/ARC2/arc/tests/unit/ARC2_Test.php Thu Sep 19 10:38:44 2013 +0100 @@ -0,0 +1,124 @@ +<?php + +require_once '../ARC2_TestCase.php'; + +class ARC2_Test extends ARC2_TestCase { + + public function testGetVersion() { + $actual = ARC2::getVersion(); + $this->assertRegExp('/^[0-9]{4}-[0-9]{2}-[0-9]{2}/', $actual, "should start with date"); + } + + public function testGetIncPath() { + $actual = ARC2::getIncPath('RDFParser'); + $this->assertStringEndsWith('parsers/', $actual, 'should create correct path'); + $this->assertTrue(is_dir($actual), 'should create correct pointer'); + } + + public function testGetScriptURI() { + $tmp = $_SERVER; + unset($_SERVER); + $actual = ARC2::getScriptURI(); + $this->assertEquals('http://localhost/unknown_path', $actual); + $_SERVER = $tmp; + + $_SERVER = array( + 'SERVER_PROTOCOL' => 'http', + 'SERVER_PORT' => 443, + 'HTTP_HOST' => 'example.com', + 'SCRIPT_NAME' => '/foo' + ); + $actual = ARC2::getScriptURI(); + $this->assertEquals('https://example.com/foo', $actual); + $_SERVER = $tmp; + + unset($_SERVER['HTTP_HOST']); + unset($_SERVER['SERVER_NAME']); + $_SERVER['SCRIPT_FILENAME'] = __FILE__; + $actual = ARC2::getScriptURI(); + $this->assertEquals('file://' . __FILE__, $actual); + $_SERVER = $tmp; + } + + public function testGetRequestURI() { + $tmp = $_SERVER; + unset($_SERVER); + $actual = ARC2::getRequestURI(); + $this->assertEquals(ARC2::getScriptURI(), $actual); + $_SERVER = $tmp; + + $_SERVER = array( + 'SERVER_PROTOCOL' => 'http', + 'SERVER_PORT' => 1234, + 'HTTP_HOST' => 'example.com', + 'REQUEST_URI' => '/foo' + ); + $actual = ARC2::getRequestURI(); + $this->assertEquals('http://example.com:1234/foo', $actual); + $_SERVER = $tmp; + } + + public function testInc() { + $actual = ARC2::inc('Class'); + $this->assertNotEquals(0, $actual); + + $actual = ARC2::inc('RDFParser'); + $this->assertNotEquals(0, $actual); + + $actual = ARC2::inc('ARC2_RDFParser'); + $this->assertNotEquals(0, $actual); + + $actual = ARC2::inc('Foo'); + $this->assertEquals(0, $actual); + + $actual = ARC2::inc('Vendor_Foo'); + $this->assertEquals(0, $actual); + } + + public function testMtime() { + $actual = ARC2::mtime(); + $this->assertTrue(is_float($actual)); + } + + public function testX() { + $actual = ARC2::x('foo', ' foobar'); + $this->assertEquals('bar', $actual[1]); + } + + public function testToUTF8() { + $actual = ARC2::toUTF8('foo'); + $this->assertEquals('foo', $actual); + + $actual = ARC2::toUTF8(utf8_encode('Iñtërnâtiônàlizætiøn')); + $this->assertEquals('Iñtërnâtiônàlizætiøn', $actual); + } + + public function testSplitURI() { + $actual = ARC2::splitURI('http://www.w3.org/XML/1998/namespacefoo'); + $this->assertEquals(array('http://www.w3.org/XML/1998/namespace', 'foo'), $actual); + + $actual = ARC2::splitURI('http://www.w3.org/2005/Atomfoo'); + $this->assertEquals(array('http://www.w3.org/2005/Atom', 'foo'), $actual); + + $actual = ARC2::splitURI('http://www.w3.org/2005/Atom#foo'); + $this->assertEquals(array('http://www.w3.org/2005/Atom#', 'foo'), $actual); + + $actual = ARC2::splitURI('http://www.w3.org/1999/xhtmlfoo'); + $this->assertEquals(array('http://www.w3.org/1999/xhtml', 'foo'), $actual); + + $actual = ARC2::splitURI('http://www.w3.org/1999/02/22-rdf-syntax-ns#foo'); + $this->assertEquals(array('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'foo'), $actual); + + $actual = ARC2::splitURI('http://example.com/foo'); + $this->assertEquals(array('http://example.com/', 'foo'), $actual); + + $actual = ARC2::splitURI('http://example.com/foo/bar'); + $this->assertEquals(array('http://example.com/foo/', 'bar'), $actual); + + $actual = ARC2::splitURI('http://example.com/foo#bar'); + $this->assertEquals(array('http://example.com/foo#', 'bar'), $actual); + + } + + +}