Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / tests / Regression / GitHub / 1351 / Issue1351Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
new file mode 100644 (file)
index 0000000..f688c55
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+class Issue1351Test extends PHPUnit_Framework_TestCase
+{
+    protected $instance;
+
+    /**
+     * @runInSeparateProcess
+     */
+    public function testFailurePre()
+    {
+        $this->instance = new ChildProcessClass1351();
+        $this->assertFalse(true, 'Expected failure.');
+    }
+
+    public function testFailurePost()
+    {
+        $this->assertNull($this->instance);
+        $this->assertFalse(class_exists('ChildProcessClass1351', false), 'ChildProcessClass1351 is not loaded.');
+    }
+
+    /**
+     * @runInSeparateProcess
+     */
+    public function testExceptionPre()
+    {
+        $this->instance = new ChildProcessClass1351();
+        try {
+            throw new LogicException('Expected exception.');
+        } catch (LogicException $e) {
+            throw new RuntimeException('Expected rethrown exception.', 0, $e);
+        }
+    }
+
+    public function testExceptionPost()
+    {
+        $this->assertNull($this->instance);
+        $this->assertFalse(class_exists('ChildProcessClass1351', false), 'ChildProcessClass1351 is not loaded.');
+    }
+
+    public function testPhpCoreLanguageException()
+    {
+        // User-space code cannot instantiate a PDOException with a string code,
+        // so trigger a real one.
+        $connection = new PDO('sqlite::memory:');
+        $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+        $connection->query("DELETE FROM php_wtf WHERE exception_code = 'STRING'");
+    }
+}