protected function copyAll(Driver $src, Driver $dst)
 {
     foreach ($src->getDatabaseNames() as $db) {
         if ($db != 'test') {
             continue;
         }
         $dst->createDatabase($db);
         foreach ($src->getSchemaNames($db) as $schema) {
             $dst->createSchema($db, $schema);
             foreach ($src->getTableNames($db, $schema) as $table) {
                 $dst->setTable($db, $schema, $src->getTable($db, $schema, $table));
             }
         }
     }
 }
 public function testGetNames()
 {
     $drv = new MysQLDriver(['pdo' => $this->getPDOPassthrough(['foo'])]);
     $this->assertEquals(['foo'], $drv->getDatabaseNames());
     $this->assertEquals([Driver::SCHEMA_DEFAULT], $drv->getSchemaNames('ignored'));
     $this->assertEquals(['foo'], $drv->getTableNames('ignored', 'ignored'));
     $drv = new MySQLDriver(['pdo' => $this->getPDOPassthrough(false)]);
     $this->assertFalse($drv->getDatabaseNames());
     $this->assertFalse($drv->getSchemaNames('ignored'));
     $this->assertFalse($drv->getTableNames('ignored', 'ignored'));
     $drv = new MySQLDriver(['pdo' => $this->getPDOPassthrough(new PDOException())]);
     $this->assertFalse($drv->getDatabaseNames());
     $this->assertFalse($drv->getSchemaNames('ignored'));
     $this->assertFalse($drv->getTableNames('ignored', 'ignored'));
 }