/tests/Zend/GData/OpenSearchTotalResultsTest.php

https://github.com/Exercise/zf2 · PHP · 129 lines · 80 code · 16 blank · 33 comment · 6 complexity · e09f4b3123c3207bf05d0d8a3598adcb 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_OpenSearch
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id $
  21. */
  22. /**
  23. * @namespace
  24. */
  25. namespace ZendTest\GData;
  26. use Zend\GData\Extension;
  27. /**
  28. * @category Zend
  29. * @package Zend_GData_OpenSearch
  30. * @subpackage UnitTests
  31. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  32. * @license http://framework.zend.com/license/new-bsd New BSD License
  33. * @group Zend_GData
  34. * @group Zend_GData_OpenSearch
  35. */
  36. class OpenSearchTotalResultsTest extends \PHPUnit_Framework_TestCase
  37. {
  38. public function setUp() {
  39. $this->openSearchTotalResultsText = file_get_contents(
  40. 'Zend/GData/_files/OpenSearchTotalResultsElementSample1.xml',
  41. true);
  42. $this->openSearchTotalResults = new Extension\OpenSearchTotalResults();
  43. }
  44. public function testEmptyOpenSearchTotalResultsShouldHaveNoExtensionElements() {
  45. $this->assertTrue(is_array($this->openSearchTotalResults->extensionElements));
  46. $this->assertTrue(count($this->openSearchTotalResults->extensionElements) == 0);
  47. }
  48. public function testEmptyOpenSearchTotalResultsShouldHaveNoExtensionAttributes() {
  49. $this->assertTrue(is_array($this->openSearchTotalResults->extensionAttributes));
  50. $this->assertTrue(count($this->openSearchTotalResults->extensionAttributes) == 0);
  51. }
  52. public function testSampleOpenSearchTotalResultsShouldHaveNoExtensionElements() {
  53. $this->openSearchTotalResults->transferFromXML($this->openSearchTotalResultsText);
  54. $this->assertTrue(is_array($this->openSearchTotalResults->extensionElements));
  55. $this->assertTrue(count($this->openSearchTotalResults->extensionElements) == 0);
  56. }
  57. public function testSampleOpenSearchTotalResultsShouldHaveNoExtensionAttributes() {
  58. $this->openSearchTotalResults->transferFromXML($this->openSearchTotalResultsText);
  59. $this->assertTrue(is_array($this->openSearchTotalResults->extensionAttributes));
  60. $this->assertTrue(count($this->openSearchTotalResults->extensionAttributes) == 0);
  61. }
  62. public function testNormalOpenSearchTotalResultsShouldHaveNoExtensionElements() {
  63. $this->openSearchTotalResults->text = "42";
  64. $this->assertEquals("42", $this->openSearchTotalResults->text);
  65. $this->assertEquals(0, count($this->openSearchTotalResults->extensionElements));
  66. $newOpenSearchTotalResults = new Extension\OpenSearchTotalResults();
  67. $newOpenSearchTotalResults->transferFromXML($this->openSearchTotalResults->saveXML());
  68. $this->assertEquals(0, count($newOpenSearchTotalResults->extensionElements));
  69. $newOpenSearchTotalResults->extensionElements = array(
  70. new \Zend\GData\App\Extension\Element('foo', 'atom', null, 'bar'));
  71. $this->assertEquals(1, count($newOpenSearchTotalResults->extensionElements));
  72. $this->assertEquals("42", $newOpenSearchTotalResults->text);
  73. /* try constructing using magic factory */
  74. $gdata = new \Zend\GData\GData();
  75. $newOpenSearchTotalResults2 = $gdata->newOpenSearchTotalResults();
  76. $newOpenSearchTotalResults2->transferFromXML($newOpenSearchTotalResults->saveXML());
  77. $this->assertEquals(1, count($newOpenSearchTotalResults2->extensionElements));
  78. $this->assertEquals("42", $newOpenSearchTotalResults2->text);
  79. }
  80. public function testEmptyOpenSearchTotalResultsToAndFromStringShouldMatch() {
  81. $openSearchTotalResultsXml = $this->openSearchTotalResults->saveXML();
  82. $newOpenSearchTotalResults = new Extension\OpenSearchTotalResults();
  83. $newOpenSearchTotalResults->transferFromXML($openSearchTotalResultsXml);
  84. $newOpenSearchTotalResultsXml = $newOpenSearchTotalResults->saveXML();
  85. $this->assertTrue($openSearchTotalResultsXml == $newOpenSearchTotalResultsXml);
  86. }
  87. public function testOpenSearchTotalResultsWithValueToAndFromStringShouldMatch() {
  88. $this->openSearchTotalResults->text = "42";
  89. $openSearchTotalResultsXml = $this->openSearchTotalResults->saveXML();
  90. $newOpenSearchTotalResults = new Extension\OpenSearchTotalResults();
  91. $newOpenSearchTotalResults->transferFromXML($openSearchTotalResultsXml);
  92. $newOpenSearchTotalResultsXml = $newOpenSearchTotalResults->saveXML();
  93. $this->assertTrue($openSearchTotalResultsXml == $newOpenSearchTotalResultsXml);
  94. $this->assertEquals("42", $this->openSearchTotalResults->text);
  95. }
  96. public function testExtensionAttributes() {
  97. $extensionAttributes = $this->openSearchTotalResults->extensionAttributes;
  98. $extensionAttributes['foo1'] = array('name'=>'foo1', 'value'=>'bar');
  99. $extensionAttributes['foo2'] = array('name'=>'foo2', 'value'=>'rab');
  100. $this->openSearchTotalResults->extensionAttributes = $extensionAttributes;
  101. $this->assertEquals('bar', $this->openSearchTotalResults->extensionAttributes['foo1']['value']);
  102. $this->assertEquals('rab', $this->openSearchTotalResults->extensionAttributes['foo2']['value']);
  103. $openSearchTotalResultsXml = $this->openSearchTotalResults->saveXML();
  104. $newOpenSearchTotalResults = new Extension\OpenSearchTotalResults();
  105. $newOpenSearchTotalResults->transferFromXML($openSearchTotalResultsXml);
  106. $this->assertEquals('bar', $newOpenSearchTotalResults->extensionAttributes['foo1']['value']);
  107. $this->assertEquals('rab', $newOpenSearchTotalResults->extensionAttributes['foo2']['value']);
  108. }
  109. public function testConvertFullOpenSearchTotalResultsToAndFromString() {
  110. $this->openSearchTotalResults->transferFromXML($this->openSearchTotalResultsText);
  111. $this->assertEquals("12", $this->openSearchTotalResults->text);
  112. }
  113. }