summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2015-03-08 17:13:25 -0700
committerStanislav Malyshev <stas@php.net>2015-03-08 17:13:25 -0700
commitdcc031470a4665ce5753dcbdcbb6f1e47bce0966 (patch)
treeb477055ad762f9dc2ed741c19cb9955892f6ac48
parentb0d1e236464a5775791b0136f37b119267eeb317 (diff)
parenta2a20d29a85c311ba1ecf44aaa2468ca477b3b48 (diff)
downloadphp-git-dcc031470a4665ce5753dcbdcbb6f1e47bce0966.tar.gz
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: Regression tests for SplFileInfo class setters
-rw-r--r--ext/spl/tests/SplFileInfo_setFileClass_basic.phpt19
-rw-r--r--ext/spl/tests/SplFileInfo_setFileClass_error.phpt16
-rw-r--r--ext/spl/tests/SplFileInfo_setInfoClass_basic.phpt23
-rw-r--r--ext/spl/tests/SplFileInfo_setInfoClass_error.phpt16
4 files changed, 74 insertions, 0 deletions
diff --git a/ext/spl/tests/SplFileInfo_setFileClass_basic.phpt b/ext/spl/tests/SplFileInfo_setFileClass_basic.phpt
new file mode 100644
index 0000000000..00d9541b91
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_setFileClass_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+SplFileInfo::setFileClass() expects SplFileObject or child class
+--FILE--
+<?php
+
+class MyFileObject extends SplFileObject {}
+
+$info = new SplFileInfo(__FILE__);
+
+$info->setFileClass('MyFileObject');
+echo get_class($info->openFile()), "\n";
+
+$info->setFileClass('SplFileObject');
+echo get_class($info->openFile()), "\n";
+
+?>
+--EXPECT--
+MyFileObject
+SplFileObject
diff --git a/ext/spl/tests/SplFileInfo_setFileClass_error.phpt b/ext/spl/tests/SplFileInfo_setFileClass_error.phpt
new file mode 100644
index 0000000000..7443998013
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_setFileClass_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+SplFileInfo::setFileClass() throws exception for invalid class
+--FILE--
+<?php
+
+$info = new SplFileInfo(__FILE__);
+
+try {
+ $info->setFileClass('stdClass');
+} catch (UnexpectedValueException $e) {
+ echo $e->getMessage(), "\n";
+}
+
+?>
+--EXPECT--
+SplFileInfo::setFileClass() expects parameter 1 to be a class name derived from SplFileObject, 'stdClass' given
diff --git a/ext/spl/tests/SplFileInfo_setInfoClass_basic.phpt b/ext/spl/tests/SplFileInfo_setInfoClass_basic.phpt
new file mode 100644
index 0000000000..fe19aca2ab
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_setInfoClass_basic.phpt
@@ -0,0 +1,23 @@
+--TEST--
+SplFileInfo::setInfoClass() expects SplFileInfo or child class
+--FILE--
+<?php
+
+class MyInfoObject extends SplFileInfo {}
+
+$info = new SplFileInfo(__FILE__);
+
+$info->setInfoClass('MyInfoObject');
+echo get_class($info->getFileInfo()), "\n";
+echo get_class($info->getPathInfo()), "\n";
+
+$info->setInfoClass('SplFileInfo');
+echo get_class($info->getFileInfo()), "\n";
+echo get_class($info->getPathInfo()), "\n";
+
+?>
+--EXPECT--
+MyInfoObject
+MyInfoObject
+SplFileInfo
+SplFileInfo
diff --git a/ext/spl/tests/SplFileInfo_setInfoClass_error.phpt b/ext/spl/tests/SplFileInfo_setInfoClass_error.phpt
new file mode 100644
index 0000000000..aa884b30a0
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_setInfoClass_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+SplFileInfo::setInfoClass() throws exception for invalid class
+--FILE--
+<?php
+
+$info = new SplFileInfo(__FILE__);
+
+try {
+ $info->setInfoClass('stdClass');
+} catch (UnexpectedValueException $e) {
+ echo $e->getMessage(), "\n";
+}
+
+?>
+--EXPECTF--
+SplFileInfo::setInfoClass() expects parameter 1 to be a class name derived from SplFileInfo, 'stdClass' given