134 lines
4.9 KiB
PHP
134 lines
4.9 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Zend Framework
|
||
|
*
|
||
|
* LICENSE
|
||
|
*
|
||
|
* This source file is subject to the new BSD license that is bundled
|
||
|
* with this package in the file LICENSE.txt.
|
||
|
* It is also available through the world-wide-web at this URL:
|
||
|
* http://framework.zend.com/license/new-bsd
|
||
|
* If you did not receive a copy of the license and are unable to
|
||
|
* obtain it through the world-wide-web, please send an email
|
||
|
* to license@zend.com so we can send you a copy immediately.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Gdata_App
|
||
|
* @subpackage UnitTests
|
||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @version $Id $
|
||
|
*/
|
||
|
|
||
|
require_once 'Zend/Gdata/App/MockBase.php';
|
||
|
|
||
|
/**
|
||
|
* @category Zend
|
||
|
* @package Zend_Gdata_App
|
||
|
* @subpackage UnitTests
|
||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @group Zend_Gdata
|
||
|
* @group Zend_Gdata_App
|
||
|
*/
|
||
|
class Zend_Gdata_App_BaseTest extends PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
public function setUp()
|
||
|
{
|
||
|
$this->fileName = 'Zend/Gdata/App/_files/FeedSample1.xml';
|
||
|
$this->base = new Zend_Gdata_App_MockBase();
|
||
|
}
|
||
|
|
||
|
public function testUnknownNamespaceReturnsInput() {
|
||
|
$this->assertEquals('example',
|
||
|
$this->base->lookupNamespace('example'));
|
||
|
}
|
||
|
public function testAtomV1NamespaceReturnedByDefault() {
|
||
|
$this->assertEquals('http://www.w3.org/2005/Atom',
|
||
|
$this->base->lookupNamespace('atom'));
|
||
|
}
|
||
|
|
||
|
public function testAtomPubV1NamespaceReturnedByDefault() {
|
||
|
$this->assertEquals('http://purl.org/atom/app#',
|
||
|
$this->base->lookupNamespace('app'));
|
||
|
}
|
||
|
|
||
|
public function testAtomV1NamespaceReturnedWhenSpecifyingMajorVersion() {
|
||
|
$this->assertEquals('http://www.w3.org/2005/Atom',
|
||
|
$this->base->lookupNamespace('atom',
|
||
|
1));
|
||
|
}
|
||
|
|
||
|
public function testAtomV1NamespaceReturnedWhenSpecifyingMajorAndMinorVersion() {
|
||
|
$this->assertEquals('http://www.w3.org/2005/Atom',
|
||
|
$this->base->lookupNamespace('atom',
|
||
|
1, 0));
|
||
|
}
|
||
|
|
||
|
public function testAtomPubV1NamespaceReturnedWhenSpecifyingMajorVersion() {
|
||
|
$this->assertEquals('http://purl.org/atom/app#',
|
||
|
$this->base->lookupNamespace('app',
|
||
|
1));
|
||
|
}
|
||
|
|
||
|
public function testAtomPubV1NamespaceReturnedWhenSpecifyingMajorAndMinorVersion() {
|
||
|
$this->assertEquals('http://purl.org/atom/app#',
|
||
|
$this->base->lookupNamespace('app',
|
||
|
1, 0));
|
||
|
}
|
||
|
|
||
|
public function testAtomPubV2NamespaceReturnedWhenSpecifyingMajorVersion() {
|
||
|
$this->assertEquals('http://www.w3.org/2007/app',
|
||
|
$this->base->lookupNamespace('app',
|
||
|
2));
|
||
|
}
|
||
|
|
||
|
public function testAtomPubV2NamespaceReturnedWhenSpecifyingMajorAndMinorVersion() {
|
||
|
$this->assertEquals('http://www.w3.org/2007/app',
|
||
|
$this->base->lookupNamespace('app',
|
||
|
2, 0));
|
||
|
}
|
||
|
|
||
|
public function testNullReturnsLatestVersion() {
|
||
|
$this->assertEquals('http://www.w3.org/2007/app',
|
||
|
$this->base->lookupNamespace('app',
|
||
|
null, null));
|
||
|
}
|
||
|
|
||
|
public function testRegisterNamespaceWorksWithoutVersion() {
|
||
|
$ns = 'http://example.net/namespaces.foo';
|
||
|
$prefix = 'foo';
|
||
|
$this->base->registerNamespace($prefix, $ns);
|
||
|
$result = $this->base->lookupNamespace($prefix);
|
||
|
$this->assertEquals($ns, $result);
|
||
|
}
|
||
|
|
||
|
public function testRegisterNamespaceAllowsSettingMajorVersion() {
|
||
|
$ns = 'http://example.net/namespaces.foo';
|
||
|
$prefix = 'foo';
|
||
|
$this->base->registerNamespace($prefix, 'wrong-1', 1);
|
||
|
$this->base->registerNamespace($prefix, $ns, 2);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-3', 3);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-4', 4);
|
||
|
$result = $this->base->lookupNamespace($prefix, 2);
|
||
|
$this->assertEquals($ns, $result);
|
||
|
}
|
||
|
|
||
|
public function testRegisterNamespaceAllowsSettingMinorVersion() {
|
||
|
$ns = 'http://example.net/namespaces.foo';
|
||
|
$prefix = 'foo';
|
||
|
$this->base->registerNamespace($prefix, 'wrong-1', 1);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-2-0', 2,0);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-2-1', 2,1);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-2-2', 2,2);
|
||
|
$this->base->registerNamespace($prefix, $ns, 2, 3);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-2-4', 2,4);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-3-0', 3-0);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-3-1', 3-1);
|
||
|
$this->base->registerNamespace($prefix, 'wrong-4', 4);
|
||
|
$result = $this->base->lookupNamespace($prefix, 2, 3);
|
||
|
$this->assertEquals($ns, $result);
|
||
|
}
|
||
|
|
||
|
}
|