Version 1
[yaffs-website] / web / core / tests / Drupal / Tests / Core / Database / Stub / StubPDO.php
diff --git a/web/core/tests/Drupal/Tests/Core/Database/Stub/StubPDO.php b/web/core/tests/Drupal/Tests/Core/Database/Stub/StubPDO.php
new file mode 100644 (file)
index 0000000..74737b0
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+
+namespace Drupal\Tests\Core\Database\Stub;
+
+/**
+ * A stub of \PDO for testing purposes.
+ *
+ * We override the constructor method so that PHPUnit can mock the \PDO class.
+ * \PDO itself can't be mocked, so we have to create a subclass. This subclass
+ * is being used to unit test Connection, so we don't need a functional database
+ * but we do need a mock \PDO object.
+ *
+ * @see Drupal\Tests\Core\Database\ConnectionTest
+ * @see Drupal\Core\Database\Connection
+ * @see http://stackoverflow.com/questions/3138946/mocking-the-pdo-object-using-phpunit
+ */
+class StubPDO extends \PDO {
+
+  /**
+   * Construction method.
+   *
+   * We override this construction method with a no-op in order to mock \PDO
+   * under unit tests.
+   *
+   * @see http://stackoverflow.com/questions/3138946/mocking-the-pdo-object-using-phpunit
+   */
+  public function __construct() {
+    // No-op.
+  }
+
+}