Author: chabotc
Date: Tue Nov 18 23:34:54 2008
New Revision: 718895

URL: http://svn.apache.org/viewvc?rev=718895&view=rev
Log:
Output converter unittests by Pan Jie

Added:
    incubator/shindig/trunk/php/test/social/OutputAtomConverterTest.php
    incubator/shindig/trunk/php/test/social/OutputJsonConverterTest.php
    incubator/shindig/trunk/php/test/social/OutputXmlConverterTest.php

Added: incubator/shindig/trunk/php/test/social/OutputAtomConverterTest.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/social/OutputAtomConverterTest.php?rev=718895&view=auto
==============================================================================
--- incubator/shindig/trunk/php/test/social/OutputAtomConverterTest.php (added)
+++ incubator/shindig/trunk/php/test/social/OutputAtomConverterTest.php Tue Nov 
18 23:34:54 2008
@@ -0,0 +1,93 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+/**
+ * OutputAtomConverter test case.
+ */
+class OutputAtomConverterTest extends PHPUnit_Framework_TestCase {
+       
+       /**
+        * @var OutputAtomConverter
+        */
+       private $OutputAtomConverter;
+
+       /**
+        * Prepares the environment before running a test.
+        */
+       protected function setUp()
+       {
+               parent::setUp();
+               $this->OutputAtomConverter = new OutputAtomConverter(); 
+       }
+
+       /**
+        * Cleans up the environment after running a test.
+        */
+       protected function tearDown()
+       {
+               $this->OutputAtomConverter = null;              
+               parent::tearDown();
+       }
+
+       /**
+        * Tests OutputAtomConverter->outputResponse()
+        */
+       public function testOutputResponse()
+       {
+               $inputConverter = new InputAtomConverter();
+               $outputConverter = new OutputAtomConverter();
+               $servletRequest = array('url' => '/people/1/@self');
+               $requestItem = 
RestRequestItem::createWithRequest($servletRequest, null,
+                   $inputConverter, $outputConverter);
+               
$requestItem->applyUrlTemplate("/people/{userId}/{groupId}/{personId}");
+               $response = array( 'entry' => array('isOwner' => false,
+                   'isViewer' => false, 'displayName' => '1 1', 'id' => '1'));
+               $responseItem = new ResponseItem(null, null, $response);
+               ob_start();
+               $outputConverter->outputResponse($responseItem, $requestItem);
+               $output = ob_get_clean();
+               $expected = '<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom";>
+  <title>person entry for shindig:1</title>
+  <author>
+    <uri>urn:guid:1</uri>
+    <name>shindig:1</name>
+  </author>
+  <id>urn:guid:1</id>
+  <updated>2008-11-17T11:24:39-08:00</updated>
+  <content type="application/xml">
+    <person xmlns="http://ns.opensocial.org/2008/opensocial";>
+      <entry>
+        <isOwner></isOwner>
+        <isViewer></isViewer>
+        <displayName>1 1</displayName>
+        <id>1</id>
+      </entry>
+    </person>
+  </content>
+</entry>
+';
+               $outputXml = simplexml_load_string($output);
+               $expectedXml = simplexml_load_string($expected);
+               $expectedXml->updated = $outputXml->updated;
+               $this->assertEquals($expectedXml, $outputXml);
+       }
+
+}
+

Added: incubator/shindig/trunk/php/test/social/OutputJsonConverterTest.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/social/OutputJsonConverterTest.php?rev=718895&view=auto
==============================================================================
--- incubator/shindig/trunk/php/test/social/OutputJsonConverterTest.php (added)
+++ incubator/shindig/trunk/php/test/social/OutputJsonConverterTest.php Tue Nov 
18 23:34:54 2008
@@ -0,0 +1,77 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+/**
+ * OutputJsonConverter test case.
+ */
+class OutputJsonConverterTest extends PHPUnit_Framework_TestCase {
+       
+       /**
+        * @var OutputJsonConverter
+        */
+       private $OutputJsonConverter;
+
+       /**
+        * Prepares the environment before running a test.
+        */
+       protected function setUp()
+       {
+               parent::setUp();
+               $this->OutputJsonConverter = new OutputJsonConverter(); 
+       }
+
+       /**
+        * Cleans up the environment after running a test.
+        */
+       protected function tearDown()
+       {
+               $this->OutputJsonConverter = null;              
+               parent::tearDown();
+       }
+
+       /**
+        * Tests OutputJsonConverter->outputResponse()
+        */
+       public function testOutputResponse()
+       {
+               $inputConverter = new InputJsonConverter();
+               $outputConverter = new OutputJsonConverter();
+               $servletRequest = array('url' => '/people/1/@self');
+               $requestItem = 
RestRequestItem::createWithRequest($servletRequest, null,
+                   $inputConverter, $outputConverter);
+               
$requestItem->applyUrlTemplate("/people/{userId}/{groupId}/{personId}");
+               $response = array( 'entry' => array('isOwner' => false,
+                   'isViewer' => false, 'displayName' => '1 1', 'id' => '1'));
+               $responseItem = new ResponseItem(null, null, $response);
+               ob_start();
+               $outputConverter->outputResponse($responseItem, $requestItem);
+               $output = ob_get_clean();
+               $expected = '{
+  "entry": {
+    "isOwner": false,
+    "isViewer": false,
+    "displayName": "1 1",
+    "id": "1"
+  }
+}';
+               $this->assertEquals($expected, $output);
+       }
+
+}
+

Added: incubator/shindig/trunk/php/test/social/OutputXmlConverterTest.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/social/OutputXmlConverterTest.php?rev=718895&view=auto
==============================================================================
--- incubator/shindig/trunk/php/test/social/OutputXmlConverterTest.php (added)
+++ incubator/shindig/trunk/php/test/social/OutputXmlConverterTest.php Tue Nov 
18 23:34:54 2008
@@ -0,0 +1,81 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+/**
+ * OutputXmlConverter test case.
+ */
+class OutputXmlConverterTest extends PHPUnit_Framework_TestCase {
+       
+       /**
+        * @var OutputXmlConverter
+        */
+       private $OutputXmlConverter;
+
+       /**
+        * Prepares the environment before running a test.
+        */
+       protected function setUp()
+       {
+               parent::setUp();
+               $this->OutputXmlConverter = new OutputXmlConverter();   
+       }
+
+       /**
+        * Cleans up the environment after running a test.
+        */
+       protected function tearDown()
+       {
+               $this->OutputXmlConverter = null;               
+               parent::tearDown();
+       }
+
+       /**
+        * Tests OutputXmlConverter->outputResponse()
+        */
+       public function testOutputResponse()
+       {
+               $inputConverter = new InputXmlConverter();
+               $outputConverter = new OutputXmlConverter();
+               $servletRequest = array('url' => '/people/1/@self');
+               $requestItem = 
RestRequestItem::createWithRequest($servletRequest, null,
+                   $inputConverter, $outputConverter);
+               
$requestItem->applyUrlTemplate("/people/{userId}/{groupId}/{personId}");
+               $response = array( 'entry' => array('isOwner' => false,
+                   'isViewer' => false, 'displayName' => '1 1', 'id' => '1'));
+               $responseItem = new ResponseItem(null, null, $response);
+               ob_start();
+               $outputConverter->outputResponse($responseItem, $requestItem);
+               $output = ob_get_clean();
+               $expected = '<?xml version="1.0" encoding="UTF-8"?>
+<response>
+  <person>
+    <entry>
+      <isOwner></isOwner>
+      <isViewer></isViewer>
+      <displayName>1 1</displayName>
+      <id>1</id>
+    </entry>
+  </person>
+</response>
+';
+               $this->assertEquals($expected, $output);
+       }
+
+}
+


Reply via email to