Open Monograph Press  3.3.0
LinkTest.php
1 <?php
2 
4 
7 
8 class LinkTest extends GuzzleTestCase
9 {
10  public function testParsesLinks()
11  {
12  $link = new Link('Link', '<http:/.../front.jpeg>; rel=front; type="image/jpeg", <http://.../back.jpeg>; rel=back; type="image/jpeg", <http://.../side.jpeg?test=1>; rel=side; type="image/jpeg"');
13  $links = $link->getLinks();
14  $this->assertEquals(array(
15  array(
16  'rel' => 'front',
17  'type' => 'image/jpeg',
18  'url' => 'http:/.../front.jpeg',
19  ),
20  array(
21  'rel' => 'back',
22  'type' => 'image/jpeg',
23  'url' => 'http://.../back.jpeg',
24  ),
25  array(
26  'rel' => 'side',
27  'type' => 'image/jpeg',
28  'url' => 'http://.../side.jpeg?test=1'
29  )
30  ), $links);
31 
32  $this->assertEquals(array(
33  'rel' => 'back',
34  'type' => 'image/jpeg',
35  'url' => 'http://.../back.jpeg',
36  ), $link->getLink('back'));
37 
38  $this->assertTrue($link->hasLink('front'));
39  $this->assertFalse($link->hasLink('foo'));
40  }
41 
42  public function testCanAddLink()
43  {
44  $link = new Link('Link', '<http://foo>; rel=a; type="image/jpeg"');
45  $link->addLink('http://test.com', 'test', array('foo' => 'bar'));
46  $this->assertEquals(
47  '<http://foo>; rel=a; type="image/jpeg", <http://test.com>; rel="test"; foo="bar"',
48  (string) $link
49  );
50  }
51 
52  public function testCanParseLinksWithCommas()
53  {
54  $link = new Link('Link', '<http://example.com/TheBook/chapter1>; rel="previous"; title="start, index"');
55  $this->assertEquals(array(
56  array(
57  'rel' => 'previous',
58  'title' => 'start, index',
59  'url' => 'http://example.com/TheBook/chapter1',
60  )
61  ), $link->getLinks());
62  }
63 }
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Tests\Http\Message\Header\LinkTest\testParsesLinks
testParsesLinks()
Definition: LinkTest.php:10
Guzzle\Tests\Http\Message\Header\LinkTest\testCanAddLink
testCanAddLink()
Definition: LinkTest.php:42
Guzzle\Tests\Http\Message\Header\LinkTest\testCanParseLinksWithCommas
testCanParseLinksWithCommas()
Definition: LinkTest.php:52
Guzzle\Tests\Http\Message\Header\LinkTest
Definition: LinkTest.php:8
Guzzle\Tests\Http\Message\Header
Definition: HeaderFactoryTest.php:3