8398c9048d
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
166 lines
5.5 KiB
PHP
166 lines
5.5 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_YouTube
|
|
* @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 $
|
|
*/
|
|
|
|
/**
|
|
* Test helper
|
|
*/
|
|
require_once dirname(dirname(dirname(dirname(__FILE__)))) . DIRECTORY_SEPARATOR . 'TestHelper.php';
|
|
|
|
require_once 'Zend/Gdata/YouTube/VideoQuery.php';
|
|
require_once 'Zend/Gdata/YouTube.php';
|
|
|
|
/**
|
|
* @category Zend
|
|
* @package Zend_Gdata_YouTube
|
|
* @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_YouTube
|
|
*/
|
|
class Zend_Gdata_YouTube_VideoQueryTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
|
|
public function testQueryStringConstruction () {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$query->setOrderBy('viewCount');
|
|
$query->setVideoQuery('foobar');
|
|
$expectedString = '?orderby=viewCount&vq=foobar';
|
|
$this->assertEquals($expectedString, $query->getQueryString());
|
|
}
|
|
|
|
public function testQueryStringConstructionV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$query->setOrderBy('viewCount');
|
|
$query->setVideoQuery('version2');
|
|
$expectedString = '?orderby=viewCount&q=version2';
|
|
$this->assertEquals($expectedString, $query->getQueryString(2));
|
|
}
|
|
|
|
public function testSafeSearchQueryV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
$query->setRacy('include');
|
|
try {
|
|
$query->getQueryString(2);
|
|
} catch (Zend_Gdata_App_VersionException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
$this->assertTrue($exceptionCaught, 'Zend_Gdata_App_VersionException' .
|
|
' expected but not found');
|
|
}
|
|
|
|
public function testLocationRadiusV1() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
$query->setLocationRadius('1km');
|
|
try {
|
|
$query->getQueryString(1);
|
|
} catch (Zend_Gdata_App_VersionException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
$this->assertTrue($exceptionCaught, 'Zend_Gdata_App_VersionException' .
|
|
' expected but not found');
|
|
}
|
|
|
|
public function testLocationV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$query->setLocation('-37.122,122.01');
|
|
$expectedString = '?location=-37.122%2C122.01';
|
|
$this->assertEquals($expectedString, $query->getQueryString(2));
|
|
}
|
|
|
|
public function testLocationExceptionOnNonNumericV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
|
|
try {
|
|
$query->setLocation('mars');
|
|
} catch (Zend_Gdata_App_InvalidArgumentException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
|
|
$this->assertTrue($exceptionCaught, 'Expected Zend_Gdata_App_' .
|
|
'IllegalArgumentException when using alpha in setLocation');
|
|
}
|
|
|
|
public function testLocationExceptionOnOnlyOneCoordinateV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
|
|
try {
|
|
$query->setLocation('-25.001');
|
|
} catch (Zend_Gdata_App_InvalidArgumentException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
|
|
$this->assertTrue($exceptionCaught, 'Expected Zend_Gdata_App_' .
|
|
'IllegalArgumentException when using only 1 coordinate ' .
|
|
'in setLocation');
|
|
}
|
|
|
|
public function testUploaderExceptionOnInvalidV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
|
|
try {
|
|
$query->setUploader('invalid');
|
|
} catch (Zend_Gdata_App_InvalidArgumentException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
|
|
$this->assertTrue($exceptionCaught, 'Expected Zend_Gdata_App_' .
|
|
'IllegalArgumentException when using invalid string in ' .
|
|
'setUploader.');
|
|
}
|
|
|
|
public function testProjectionPresentInV2Query() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$query->setVideoQuery('foo');
|
|
$expectedString = 'http://gdata.youtube.com/feeds/api/videos?q=foo';
|
|
$this->assertEquals($expectedString, $query->getQueryUrl(2));
|
|
}
|
|
|
|
public function testSafeSearchParametersInV2() {
|
|
$yt = new Zend_Gdata_YouTube();
|
|
$query = $yt->newVideoQuery();
|
|
$exceptionCaught = false;
|
|
try {
|
|
$query->setSafeSearch('invalid');
|
|
} catch (Zend_Gdata_App_InvalidArgumentException $e) {
|
|
$exceptionCaught = true;
|
|
}
|
|
$this->assertTrue($exceptionCaught, 'Expected Zend_Gdata_App_' .
|
|
'InvalidArgumentException when using invalid value for ' .
|
|
'safeSearch.');
|
|
}
|
|
|
|
}
|