Exemplo n.º 1
0
 /**
  * This method is called before the first test of this test class is run.
  *
  * @return  void
  *
  * @since   12.1
  */
 public static function setUpBeforeClass()
 {
     // We always want the default database test case to use an SQLite memory database.
     $options = array('driver' => 'sqlite', 'database' => ':memory:', 'prefix' => 'jos_');
     try {
         // Attempt to instantiate the driver.
         self::$driver = JDatabaseDriver::getInstance($options);
         // Create a new PDO instance for an SQLite memory database and load the test schema into it.
         $pdo = new PDO('sqlite::memory:');
         $pdo->exec(file_get_contents(JPATH_TESTS . '/schema/ddl.sql'));
         // Set the PDO instance to the driver using reflection whizbangery.
         TestReflection::setValue(self::$driver, 'connection', $pdo);
     } catch (RuntimeException $e) {
         self::$driver = null;
     }
     // If for some reason an exception object was returned set our database object to null.
     if (self::$driver instanceof Exception) {
         self::$driver = null;
     }
     // Setup the factory pointer for the driver and stash the old one.
     self::$_stash = JFactory::$database;
     JFactory::$database = self::$driver;
 }