PageRenderTime 33ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/Zend/GData/Calendar/WebContentTest.php

https://github.com/sidealice/zf2
PHP | 142 lines | 94 code | 16 blank | 32 comment | 6 complexity | 3a801adc00254ac18454a27cc4b9f6fa MD5 | raw file
  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_GData_Calendar
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. */
  21. /**
  22. * @namespace
  23. */
  24. namespace ZendTest\GData\Calendar;
  25. use Zend\GData\Calendar\Extension;
  26. /**
  27. * @category Zend
  28. * @package Zend_GData_Calendar
  29. * @subpackage UnitTests
  30. * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
  31. * @license http://framework.zend.com/license/new-bsd New BSD License
  32. * @group Zend_GData
  33. * @group Zend_GData_Calendar
  34. */
  35. class WebContentTest extends \PHPUnit_Framework_TestCase
  36. {
  37. public function setUp() {
  38. $this->webContentText = file_get_contents(
  39. 'Zend/GData/Calendar/_files/WebContentElementSample1.xml',
  40. true);
  41. $this->webContent = new Extension\WebContent();
  42. }
  43. public function testEmptyWebContentShouldHaveNoExtensionElements() {
  44. $this->assertTrue(is_array($this->webContent->extensionElements));
  45. $this->assertTrue(count($this->webContent->extensionElements) == 0);
  46. }
  47. public function testEmptyWebContentShouldHaveNoExtensionAttributes() {
  48. $this->assertTrue(is_array($this->webContent->extensionAttributes));
  49. $this->assertTrue(count($this->webContent->extensionAttributes) == 0);
  50. }
  51. public function testSampleWebContentShouldHaveNoExtensionElements() {
  52. $this->webContent->transferFromXML($this->webContentText);
  53. $this->assertTrue(is_array($this->webContent->extensionElements));
  54. $this->assertTrue(count($this->webContent->extensionElements) == 0);
  55. }
  56. public function testSampleWebContentShouldHaveNoExtensionAttributes() {
  57. $this->webContent->transferFromXML($this->webContentText);
  58. $this->assertTrue(is_array($this->webContent->extensionAttributes));
  59. $this->assertTrue(count($this->webContent->extensionAttributes) == 0);
  60. }
  61. public function testNormalWebContentShouldHaveNoExtensionElements() {
  62. $this->webContent->url = "http://nowhere.invalid/";
  63. $this->webContent->height = "100";
  64. $this->webContent->width = "200";
  65. $this->assertEquals($this->webContent->url, "http://nowhere.invalid/");
  66. $this->assertEquals($this->webContent->height, "100");
  67. $this->assertEquals($this->webContent->width, "200");
  68. $this->assertEquals(count($this->webContent->extensionElements), 0);
  69. $newWebContent = new Extension\WebContent();
  70. $newWebContent->transferFromXML($this->webContent->saveXML());
  71. $this->assertEquals(count($newWebContent->extensionElements), 0);
  72. $newWebContent->extensionElements = array(
  73. new \Zend\GData\App\Extension\Element('foo', 'atom', null, 'bar'));
  74. $this->assertEquals(count($newWebContent->extensionElements), 1);
  75. $this->assertEquals($newWebContent->url, "http://nowhere.invalid/");
  76. $this->assertEquals($newWebContent->height, "100");
  77. $this->assertEquals($newWebContent->width, "200");
  78. /* try constructing using magic factory */
  79. $cal = new \Zend\GData\Calendar();
  80. $newWebContent2 = $cal->newWebContent();
  81. $newWebContent2->transferFromXML($newWebContent->saveXML());
  82. $this->assertEquals(count($newWebContent2->extensionElements), 1);
  83. $this->assertEquals($newWebContent2->url, "http://nowhere.invalid/");
  84. $this->assertEquals($newWebContent2->height, "100");
  85. $this->assertEquals($newWebContent2->width, "200");
  86. }
  87. public function testEmptyWebContentToAndFromStringShouldMatch() {
  88. $webContentXml = $this->webContent->saveXML();
  89. $newWebContent = new Extension\WebContent();
  90. $newWebContent->transferFromXML($webContentXml);
  91. $newWebContentXml = $newWebContent->saveXML();
  92. $this->assertTrue($webContentXml == $newWebContentXml);
  93. }
  94. public function testWebContentWithValueToAndFromStringShouldMatch() {
  95. $this->webContent->url = "http://nowhere.invalid/";
  96. $this->webContent->height = "100";
  97. $this->webContent->width = "200";
  98. $webContentXml = $this->webContent->saveXML();
  99. $newWebContent = new Extension\WebContent();
  100. $newWebContent->transferFromXML($webContentXml);
  101. $newWebContentXml = $newWebContent->saveXML();
  102. $this->assertTrue($webContentXml == $newWebContentXml);
  103. $this->assertEquals($this->webContent->url, "http://nowhere.invalid/");
  104. $this->assertEquals($this->webContent->height, "100");
  105. $this->assertEquals($this->webContent->width, "200");
  106. }
  107. public function testExtensionAttributes() {
  108. $extensionAttributes = $this->webContent->extensionAttributes;
  109. $extensionAttributes['foo1'] = array('name'=>'foo1', 'value'=>'bar');
  110. $extensionAttributes['foo2'] = array('name'=>'foo2', 'value'=>'rab');
  111. $this->webContent->extensionAttributes = $extensionAttributes;
  112. $this->assertEquals('bar', $this->webContent->extensionAttributes['foo1']['value']);
  113. $this->assertEquals('rab', $this->webContent->extensionAttributes['foo2']['value']);
  114. $webContentXml = $this->webContent->saveXML();
  115. $newWebContent = new Extension\WebContent();
  116. $newWebContent->transferFromXML($webContentXml);
  117. $this->assertEquals('bar', $newWebContent->extensionAttributes['foo1']['value']);
  118. $this->assertEquals('rab', $newWebContent->extensionAttributes['foo2']['value']);
  119. }
  120. public function testConvertFullWebContentToAndFromString() {
  121. $this->webContent->transferFromXML($this->webContentText);
  122. $this->assertEquals($this->webContent->url, "http://www.google.com/logos/july4th06.gif");
  123. $this->assertEquals($this->webContent->height, "120");
  124. $this->assertEquals($this->webContent->width, "276");
  125. }
  126. }