* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ML\JsonLD\Test; use ML\IRI\IRI; use ML\JsonLD\FileGetContentsLoader; /** * Test the parsing of a JSON-LD document into a Document. */ class FileGetContentsLoaderTest extends \PHPUnit_Framework_TestCase { protected $iri; protected $loader; public function setUp() { parent::setUp(); $this->iri = new IRI('https://www.example.com'); $this->loader = new FileGetContentsLoader; } public function tearDown() { unset($iri); unset($this->loader); parent::tearDown(); } public function testParseLinkHeadersExactsValues() { $headers = array( '; param1=foo; param2="bar";', ); $parsed = $this->loader->parseLinkHeaders($headers, $this->iri); $this->assertEquals('https://www.example.com', $parsed[0]['uri']); $this->assertEquals('foo', $parsed[0]['param1']); $this->assertEquals('bar', $parsed[0]['param2']); } public function testParseLinkHeadersTrimsValues() { $headers = array( '< https://www.example.com >; param1= foo ; param2=" bar ";', ); $parsed = $this->loader->parseLinkHeaders($headers, $this->iri); $this->assertEquals('https://www.example.com', $parsed[0]['uri']); $this->assertEquals('foo', $parsed[0]['param1']); $this->assertEquals('bar', $parsed[0]['param2']); } public function testParseLinkHeadersWithMultipleHeaders() { $headers = array( '; param1=foo; param2=bar;', '; param1=fizz; param2=buzz;', ); $parsed = $this->loader->parseLinkHeaders($headers, $this->iri); $this->assertCount(2, $parsed); } public function testParseLinkHeadersWithMultipleLinks() { $headers = array( '; param1=foo; param2=bar;, ' . '; param1=fizz; param2=buzz;' ); $parsed = $this->loader->parseLinkHeaders($headers, $this->iri); $this->assertCount(2, $parsed); $this->assertEquals('https://www.example.com', $parsed[0]['uri']); $this->assertEquals('https://www.example.org', $parsed[1]['uri']); } public function testParseLinkHeadersConvertsRelativeLinksToAbsolute() { $headers = array(';'); $parsed = $this->loader->parseLinkHeaders($headers, $this->iri); $this->assertEquals('https://www.example.com/foo/bar', $parsed[0]['uri']); } }