Verified Commit 4bab3268 authored by Dave Long's avatar Dave Long
Browse files

Issue #3371828 by quietone: NodeCompleteNodeTranslationLookup should return...

Issue #3371828 by quietone: NodeCompleteNodeTranslationLookup should return NULL for non translated lookups

(cherry picked from commit c6eb9052)
parent 5b37bdb1
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -30,6 +30,10 @@ class NodeCompleteNodeTranslationLookup extends ProcessPluginBase {
   */
  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
    if (is_array($value) && count($value) === 3) {
      // If the language is 'und' then the node was not translated.
      if ($value[2] === 'und') {
        return NULL;
      }
      unset($value[1]);
      return array_values($value);
    }
+23 −3
Original line number Diff line number Diff line
@@ -43,9 +43,6 @@ protected function setUp(): void {
    $this->executeMigrations([
      'language',
      'd6_node_settings',
      'd6_node',
      'd6_node_translation',
      'd6_url_alias',
    ]);
  }

@@ -72,6 +69,29 @@ private function assertPath(int $pid, array $conditions, PathAliasInterface $pat
   * Tests the URL alias migration.
   */
  public function testUrlAlias() {
    $this->executeMigrations([
      'd6_node',
      'd6_node_translation',
      'd6_url_alias',
    ]);
    $this->checkUrlMigration();
  }

  /**
   * Tests the URL alias migration using the node complete migration.
   */
  public function testNodeCompleteUrlAlias() {
    $this->executeMigrations([
      'd6_node_complete',
      'd6_url_alias',
    ]);
    $this->checkUrlMigration();
  }

  /**
   * Checks the migration results.
   */
  protected function checkUrlMigration() {
    $id_map = $this->getMigration('d6_url_alias')->getIdMap();
    // Test that the field exists.
    $conditions = [