You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cacert-testmgr/external/ZendFramework-1.9.5/tests/Zend/Rest/ResultTest.php

187 lines
6.1 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_Rest
* @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: ResultTest.php 17363 2009-08-03 07:40:18Z bkarwin $
*/
/**
* Zend_Rest_Server
*/
require_once 'Zend/Rest/Client/Result.php';
/**
* PHPUnit Test Case
*/
require_once 'PHPUnit/Framework/TestCase.php';
/**
* Test cases for Zend_Rest_Server
*
* @category Zend
* @package Zend_Rest
* @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_Rest
* @group Zend_Rest_Result
*/
class Zend_Rest_ResultTest extends PHPUnit_Framework_TestCase
{
static $path;
public function __construct()
{
self::$path = dirname(__FILE__).'/responses/';
}
public function testResponseSuccess()
{
$xml = file_get_contents(self::$path ."returnString.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertTrue($client->isSuccess());
}
public function testResponseIsError()
{
$xml = file_get_contents(self::$path ."returnError.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertTrue($client->isError());
}
public function testResponseString()
{
$xml = file_get_contents(self::$path ."returnString.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertEquals("string", $client->__toString());
}
public function testResponseInt()
{
$xml = file_get_contents(self::$path ."returnInt.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertEquals("123", $client->__toString());
}
public function testResponseArray()
{
$xml = file_get_contents(self::$path ."returnArray.xml");
// <foo>bar</foo><baz>1</baz><key_1>0</key_1><bat>123</bat>
$client = new Zend_Rest_Client_Result($xml);
foreach ($client as $key => $value) {
$result_array[$key] = (string) $value;
}
$this->assertEquals(array("foo" => "bar", "baz" => "1", "key_1" => "0", "bat" => "123", "status" => "success"), $result_array);
}
public function testResponseObject()
{
$xml = file_get_contents(self::$path ."returnObject.xml");
// <foo>bar</foo><baz>1</baz><bat>123</bat><qux>0</qux><status>success</status>
$client = new Zend_Rest_Client_Result($xml);
$this->assertEquals("bar", $client->foo());
$this->assertEquals(1, $client->baz());
$this->assertEquals(123, $client->bat());
$this->assertEquals(0, $client->qux());
$this->assertEquals("success", $client->status());
}
public function testResponseTrue()
{
$xml = file_get_contents(self::$path ."returnTrue.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertTrue((bool)$client->response);
}
public function testResponseFalse()
{
$xml = file_get_contents(self::$path ."returnFalse.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertFalse((bool) $client->response());
}
public function testResponseVoid()
{
$xml = file_get_contents(self::$path . "returnVoid.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertEquals(null, $client->response());
}
public function testResponseException()
{
$xml = file_get_contents(self::$path . "returnError.xml");
$client = new Zend_Rest_Client_Result($xml);
$this->assertTrue($client->isError());
}
public function testGetXpathValue()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$key_1 = $result->key_1();
$this->assertEquals(0, $key_1);
}
public function testGetXpathValueMissing()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$lola = $result->lola;
$this->assertNull($lola);
}
public function testGetXpathValueArray()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$baz = $result->baz;
$this->assertTrue(is_array($baz), var_export($baz, 1));
$this->assertEquals('1', (string) $baz[0]);
$this->assertEquals('farama', (string) $baz[1]);
}
public function testIsset()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$this->assertTrue(isset($result->bar));
}
public function testIssetXpathValue()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$this->assertTrue(isset($result->baz));
}
public function testIssetInvalidValue()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$this->assertFalse(isset($result->lola));
}
public function testCall()
{
$xml = file_get_contents(self::$path . DIRECTORY_SEPARATOR . 'returnNestedArray.xml');
$result = new Zend_Rest_Client_Result($xml);
$returned = $result->key_1();
$this->assertEquals(0, $returned);
}
}