Mercurial > hg > isophonics-drupal-site
diff core/modules/migrate/tests/src/Unit/TestSqlIdMap.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/migrate/tests/src/Unit/TestSqlIdMap.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,79 @@ +<?php + +namespace Drupal\Tests\migrate\Unit; + +use Drupal\Core\Database\Connection; +use Drupal\migrate\Plugin\MigrationInterface; +use Drupal\migrate\MigrateException; +use Drupal\migrate\Plugin\migrate\id_map\Sql; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; + +/** + * Defines a SQL ID map for use in tests. + */ +class TestSqlIdMap extends Sql implements \Iterator { + + /** + * Constructs a TestSqlIdMap object. + * + * @param \Drupal\Core\Database\Connection $database + * The database. + * @param array $configuration + * The configuration. + * @param string $plugin_id + * The plugin ID for the migration process to do. + * @param mixed $plugin_definition + * The configuration for the plugin. + * @param \Drupal\migrate\Plugin\MigrationInterface $migration + * The migration to do. + * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher + * The event dispatcher service. + */ + public function __construct(Connection $database, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher) { + $this->database = $database; + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $event_dispatcher); + } + + /** + * {@inheritdoc} + */ + public function getDatabase() { + return parent::getDatabase(); + } + + /** + * Gets the field schema. + * + * @param array $id_definition + * An array defining the field, with a key 'type'. + * + * @return array + * A field schema depending on value of key 'type'. An empty array is + * returned if 'type' is not defined. + * + * @throws \Drupal\migrate\MigrateException + */ + protected function getFieldSchema(array $id_definition) { + if (!isset($id_definition['type'])) { + return []; + } + switch ($id_definition['type']) { + case 'integer': + return [ + 'type' => 'int', + 'not null' => TRUE, + ]; + + case 'string': + return [ + 'type' => 'varchar', + 'length' => 255, + 'not null' => FALSE, + ]; + + default: + throw new MigrateException($id_definition['type'] . ' not supported'); + } + } + +}