summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2015-03-08 17:13:02 -0700
committerStanislav Malyshev <stas@php.net>2015-03-08 17:13:02 -0700
commita2a20d29a85c311ba1ecf44aaa2468ca477b3b48 (patch)
treeb1a14d977f22a26fc27d04d3f0912cc58bdd211e
parentd7931f8f66b2b718e7d06893161341b15eb45a5a (diff)
parentdea7bc87860d409250e760d9be8b55f043a86f2b (diff)
downloadphp-git-a2a20d29a85c311ba1ecf44aaa2468ca477b3b48.tar.gz
Merge branch 'pull-request/1134' into PHP-5.5
* pull-request/1134: 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