summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandylowe.lowemedia@gmail.com <andylowe.lowemedia@gmail.com@deae1e92-32f9-c189-e222-5b9b5081a27a>2011-03-15 12:15:59 +0000
committerandylowe.lowemedia@gmail.com <andylowe.lowemedia@gmail.com@deae1e92-32f9-c189-e222-5b9b5081a27a>2011-03-15 12:15:59 +0000
commit6b982b9b32b2e8542c1fb32f918223b6061192a9 (patch)
tree4f2c4f99ccb9abefc3a2a3349090f1aa565e8782
parent8fbc17b817a432d985c5e2976218d98c56c05845 (diff)
downloadphp-ssrs-6b982b9b32b2e8542c1fb32f918223b6061192a9.zip
php-ssrs-6b982b9b32b2e8542c1fb32f918223b6061192a9.tar.gz
php-ssrs-6b982b9b32b2e8542c1fb32f918223b6061192a9.tar.bz2
Boolean check added along with exception thrown if variable not a boolean
-rwxr-xr-xlibrary/SSRS/Report.php5
-rwxr-xr-xtests/library/SSRS/ReportTest.php15
2 files changed, 19 insertions, 1 deletions
diff --git a/library/SSRS/Report.php b/library/SSRS/Report.php
index c12a325..9b3f890 100755
--- a/library/SSRS/Report.php
+++ b/library/SSRS/Report.php
@@ -189,7 +189,10 @@ class SSRS_Report {
* @param boolean $recursive
* @return SSRS_Object_CatalogItems
*/
- public function listChildren($itemPath, $recursive = false) {
+ public function listChildren($itemPath, $recursive=false) {
+ if (!is_bool($recursive)) {
+ throw new SSRS_Report_Exception('Recursive Must Be a Boolean');
+ }
$params = array(
'ItemPath' => $itemPath,
'Recursive' => $recursive
diff --git a/tests/library/SSRS/ReportTest.php b/tests/library/SSRS/ReportTest.php
index 68a41de..a0e1245 100755
--- a/tests/library/SSRS/ReportTest.php
+++ b/tests/library/SSRS/ReportTest.php
@@ -83,6 +83,21 @@ class SSRS_ReportTest extends PHPUnit_Framework_TestCase {
$this->assertEquals($expected, $result);
}
+ public function testLoadChildrenCheckRecursiveParameterIsSetAndIsBoolean() {
+ $soapMock = $this->getMockFromWsdl(dirname(__FILE__) . '/ReportTest/ReportService2010.wsdl', 'SoapClientMockChildren2');
+
+ $recursiveParam = true;
+
+ $soapMock->expects($this->any())
+ ->method('ListChildren')
+ ->with($this->equalTo(array('ItemPath' => '/Reports', 'Recursive' => true)));
+
+ $ssrs = new SSRS_Report('http://test/ReportServer');
+ $ssrs->setSoapService($soapMock);
+
+ $result = $ssrs->listChildren('/Reports', $recursiveParam);
+ }
+
public function testLoadItemDefinitionsReturnsXMLStringWithInStdClass() {
$soapMock = $this->getMockFromWsdl(dirname(__FILE__) . '/ReportTest/ReportService2010.wsdl', 'SoapClientMockDefinitions');