Author: chabotc
Date: Tue Aug 5 15:39:25 2008
New Revision: 683011
URL: http://svn.apache.org/viewvc?rev=683011&view=rev
Log:
Adds a test for most aspects of gadget rendering
Added:
incubator/shindig/trunk/php/test/gadgets/GadgetServerTest.php
Removed:
incubator/shindig/trunk/php/test/gadgets/GadgetServerInvalid.php
incubator/shindig/trunk/php/test/gadgets/example.xml
Modified:
incubator/shindig/trunk/php/test/gadgets/GadgetSpecParserTest.php
Added: incubator/shindig/trunk/php/test/gadgets/GadgetServerTest.php
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/gadgets/GadgetServerTest.php?rev=683011&view=auto
==============================================================================
--- incubator/shindig/trunk/php/test/gadgets/GadgetServerTest.php (added)
+++ incubator/shindig/trunk/php/test/gadgets/GadgetServerTest.php Tue Aug 5
15:39:25 2008
@@ -0,0 +1,152 @@
+<?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.
+ */
+
+/**
+ * GadgetServer test case.
+ */
+class GadgetServerTest extends PHPUnit_Framework_TestCase {
+
+ /**
+ * @var GadgetServer
+ */
+ private $GadgetServer;
+ private $gadget;
+
+ /**
+ * Prepares the environment before running a test.
+ */
+ protected function setUp()
+ {
+ parent::setUp();
+ $this->GadgetServer = new GadgetServer();
+ // prevent polution from other test cases + make sure we're not
testing
+ // a cached result
+ $_GET = array('nocache' => 1);
+ $_POST = array();
+ $GadgetContext = new GadgetContext('GADGET');
+
$GadgetContext->setUrl('http://test.chabotc.com/testGadget.xml');
+ $this->gadget =
$this->GadgetServer->processGadget($GadgetContext);
+ }
+
+ /**
+ * Cleans up the environment after running a test.
+ */
+ protected function tearDown()
+ {
+ $this->GadgetServer = null;
+ $this->gadget = null;
+ parent::tearDown();
+ }
+
+ /**
+ * Tests GadgetServer->processGadget()
+ */
+ public function testProcessGadget()
+ {
+ $this->assertTrue($this->gadget instanceof Gadget);
+ }
+
+ /**
+ * Tests gadget html view
+ */
+ public function testGadgetHtmlView()
+ {
+ $view = $this->gadget->getView('canvas');
+ $this->assertEquals('canvas', $view->getName());
+ $this->assertEquals('HTML', $view->getType());
+ $this->assertEquals('', $view->getHref());
+ $this->assertEquals("content", $view->getContent());
+ $this->assertEquals("400", $view->preferedHeight);
+ $this->assertEquals("300", $view->preferedWidth);
+ $this->assertFalse($view->getQuirks());
+ }
+
+ /**
+ * Tests gadget url view
+ */
+ public function testGadgetUrlView()
+ {
+ $view = $this->gadget->getView('external');
+ $this->assertEquals('external', $view->getName());
+ $this->assertEquals('URL', $view->getType());
+ $this->assertEquals('http://example.com/foo.html',
$view->getHref());
+ $this->assertTrue($view->getQuirks());
+ }
+
+ /**
+ * Tests gadget user prefs
+ */
+ public function testGadgetUserPrefs()
+ {
+ $prefs = $this->gadget->getUserPrefs();
+ $this->assertTrue(is_array($prefs));
+ $this->assertTrue(isset($prefs[0]));
+ $pref = $prefs[0];
+ $this->assertEquals('testpref', $pref->getName());
+ $this->assertEquals('test', $pref->getDefaultValue());
+ $expectedEnumValues = array('bar' => 'foo', 'test' => 'test');
+ $this->assertEquals($expectedEnumValues,
$pref->getEnumValues());
+ }
+
+ /**
+ * Tests gadget requires
+ */
+ public function testGadgetRequires()
+ {
+ $requires = $this->gadget->getRequires();
+ $this->assertArrayHasKey('opensocial-0.7', $requires);
+ $this->assertArrayHasKey('dynamic-height', $requires);
+ $this->assertArrayHasKey('views', $requires);
+ $this->assertArrayHasKey('tabs', $requires);
+ $this->assertArrayHasKey('flash', $requires);
+ $this->assertArrayHasKey('setprefs', $requires);
+ }
+
+ /**
+ * Tests all the basic + extended gadget module preferences
+ */
+ public function testGadgetModulePreferences()
+ {
+ $this->assertEquals('example author',
$this->gadget->getAuthor());
+ $this->assertEquals('[EMAIL PROTECTED]',
$this->gadget->getAuthorEmail());
+ $this->assertEquals('example org',
$this->gadget->getAuthorAffiliation());
+ $this->assertEquals('example location',
$this->gadget->getAuthorLocation());
+ $this->assertEquals('example photo',
$this->gadget->getAuthorPhoto());
+ $this->assertEquals('example about me',
$this->gadget->getAuthorAboutme());
+ $this->assertEquals('example quote',
$this->gadget->getAuthorQuote());
+ $this->assertEquals('example link',
$this->gadget->getAuthorLink());
+ $this->assertEquals('true', $this->gadget->getShowStats());
+ $this->assertEquals('true',
$this->gadget->getShowInDirectory());
+ $this->assertEquals('200', $this->gadget->getWidth());
+ $this->assertEquals('100', $this->gadget->getHeight());
+ $this->assertEquals('example category',
$this->gadget->getCategory());
+ $this->assertEquals('example category2',
$this->gadget->getCategory2());
+ $this->assertEquals('true', $this->gadget->getSingleton());
+ $this->assertEquals('true', $this->gadget->getRenderInline());
+ $this->assertEquals('true', $this->gadget->getScaling());
+ $this->assertEquals('true', $this->gadget->getScrolling());
+ $this->assertEquals('http://example.org',
$this->gadget->getTitleUrl());
+ $this->assertEquals('example title', $this->gadget->getTitle());
+ $this->assertEquals('http://example.org/thumbnail.gif',
$this->gadget->getThumbnail());
+ $this->assertEquals('http://example.org/screenshot.gif',
$this->gadget->getScreenshot());
+ $this->assertEquals('example directory title',
$this->gadget->getDirectoryTitle());
+ $this->assertEquals('description',
$this->gadget->getDescription());
+ }
+}
Modified: incubator/shindig/trunk/php/test/gadgets/GadgetSpecParserTest.php
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/gadgets/GadgetSpecParserTest.php?rev=683011&r1=683010&r2=683011&view=diff
==============================================================================
--- incubator/shindig/trunk/php/test/gadgets/GadgetSpecParserTest.php (original)
+++ incubator/shindig/trunk/php/test/gadgets/GadgetSpecParserTest.php Tue Aug
5 15:39:25 2008
@@ -68,7 +68,7 @@
}
/**
- * Tests GadgetSpecParser->parse()
+ * Tests GadgetSpecParser->parse() exception
*/
public function testParseExeption()
{