public function testGetSubstitutedUrl() { $view = array('href' => 'http://example.com/gadget.php?foo=bar&mid=__MODULE_ID__'); $redirectUri = $this->gadgetUrlRenderer->getSubstitutedUrl($this->gadget, $view); $parsedUrl = parse_url($redirectUri); $queryParameters = array(); parse_str($parsedUrl['query'], $queryParameters); $this->assertEquals('example.com', $parsedUrl['host']); $this->assertEquals('/gadget.php', $parsedUrl['path']); $this->assertEquals('dynamic-height:opensocial-0.8.js', $queryParameters['libs']); $this->assertEquals('en', $queryParameters['lang']); $this->assertEquals('US', $queryParameters['country']); $this->assertEquals('bar', $queryParameters['foo']); $this->assertEquals('value', $queryParameters['up_key']); $this->assertEquals('0', $queryParameters['mid']); }
/** * Tests GadgetHtmlRenderer->addHeadTags() */ public function testAddHeadTags() { ob_start(); $this->gadgetHtmlRenderer->renderGadget($this->gadget, $this->view); ob_end_clean(); $this->gadgetHtmlRenderer->addHeadTags($this->domElement, $this->domDocument); // TODO: currently we just test the script part $tmpNodeList = $this->domElement->getElementsByTagName("script"); $scripts = $this->gadgetHtmlRenderer->getJavaScripts(); $idx = 0; foreach ($tmpNodeList as $tmpNode) { $script = $scripts[$idx++]; if ($script['type'] == 'inline') { $this->assertEquals('text/javascript', $tmpNode->getAttribute('type')); $this->assertEquals(trim($script['content']), trim($tmpNode->nodeValue)); } else { $this->assertEquals($script['content'], $tmpNode->getAttribute('src')); } } }