From f34368b738ddfa38fd5e643ce00f63045342b65e Mon Sep 17 00:00:00 2001 From: Alex Pott Date: Wed, 29 Oct 2014 09:39:28 +0000 Subject: [PATCH] Issue #2302253 by ultimike | Ryan Weal: Fixed User profile "selection" type field type does not migrate from D6 if any of the available options contain a dot. --- .../migrate_drupal/src/Tests/Dump/Drupal6User.php | 6 +++--- .../src/Tests/Dump/Drupal6UserProfileFields.php | 2 +- .../src/Tests/d6/MigrateDrupal6Test.php | 2 +- .../src/Tests/d6/MigrateUserProfileFieldTest.php | 4 +++- ...luesTest.php => MigrateUserProfileValuesTest.php} | 12 +++++++++--- .../migrate_drupal/src/Tests/d6/MigrateUserTest.php | 6 ++++-- 6 files changed, 21 insertions(+), 11 deletions(-) rename core/modules/migrate_drupal/src/Tests/d6/{MigrateProfileValuesTest.php => MigrateUserProfileValuesTest.php} (93%) diff --git a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6User.php b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6User.php index f8892c334e13..d30c69748997 100644 --- a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6User.php +++ b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6User.php @@ -449,21 +449,21 @@ class Drupal6User extends Drupal6DumpBase { array('fid' => 8, 'uid' => 2, 'value' => 'red'), array('fid' => 9, 'uid' => 2, 'value' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nulla sapien, congue nec risus ut, adipiscing aliquet felis. Maecenas quis justo vel nulla varius euismod. Quisque metus metus, cursus sit amet sem non, bibendum vehicula elit. Cras dui nisl, eleifend at iaculis vitae, lacinia ut felis. Nullam aliquam ligula volutpat nulla consectetur accumsan. Maecenas tincidunt molestie diam, a accumsan enim fringilla sit amet. Morbi a tincidunt tellus. Donec imperdiet scelerisque porta. Sed quis sem bibendum eros congue sodales. Vivamus vel fermentum est, at rutrum orci. Nunc consectetur purus ut dolor pulvinar, ut volutpat felis congue. Cras tincidunt odio sed neque sollicitudin, vehicula tempor metus scelerisque.'), array('fid' => 10, 'uid' => 2, 'value' => '1'), - array('fid' => 11, 'uid' => 2, 'value' => 'Fitness spammers'), + array('fid' => 11, 'uid' => 2, 'value' => 'Back\slash'), array('fid' => 12, 'uid' => 2, 'value' => "AC/DC\n,,Eagles\r\nElton John,Lemonheads\r\n\r\nRolling Stones\rQueen\nThe White Stripes"), array('fid' => 13, 'uid' => 2, 'value' => "http://example.com/blog"), array('fid' => 14, 'uid' => 2, 'value' => 'a:3:{s:5:"month";s:1:"6";s:3:"day";s:1:"2";s:4:"year";s:4:"1974";}'), array('fid' => 8, 'uid' => 8, 'value' => 'brown'), array('fid' => 9, 'uid' => 8, 'value' => 'Nunc condimentum ligula felis, eget lacinia purus accumsan at. Pellentesque eu lobortis felis. Duis at accumsan nisl, vel pulvinar risus. Nullam venenatis, tellus non eleifend hendrerit, augue nulla rhoncus leo, eget convallis enim sem ut velit. Mauris tincidunt enim ut eros volutpat dapibus. Curabitur augue libero, imperdiet eget orci sed, malesuada dapibus tellus. Nam lacus sapien, convallis vitae quam vel, bibendum commodo odio.'), array('fid' => 10, 'uid' => 8, 'value' => '0'), - array('fid' => 11, 'uid' => 8, 'value' => 'Spammers'), + array('fid' => 11, 'uid' => 8, 'value' => 'Forward/slash'), array('fid' => 12, 'uid' => 8, 'value' => "Deep Purple\nWho\nThe Beatles"), array('fid' => 13, 'uid' => 8, 'value' => "http://blog.example.com"), array('fid' => 14, 'uid' => 8, 'value' => 'a:3:{s:5:"month";s:1:"9";s:3:"day";s:1:"9";s:4:"year";s:4:"1980";}'), array('fid' => 8, 'uid' => 15, 'value' => 'orange'), array('fid' => 9, 'uid' => 15, 'value' => 'Donec a diam volutpat augue fringilla fringilla. Mauris ultricies turpis ut lacus tempus, vitae pharetra lacus mattis. Nulla semper dui euismod sem bibendum, in eleifend nisi malesuada. Vivamus orci mauris, volutpat vitae enim ac, aliquam tempus lectus.'), array('fid' => 10, 'uid' => 15, 'value' => '1'), - array('fid' => 11, 'uid' => 15, 'value' => 'Pill spammers'), + array('fid' => 11, 'uid' => 15, 'value' => 'Dot.in.the.middle'), array('fid' => 12, 'uid' => 15, 'value' => "ABBA\nBoney M"), array('fid' => 13, 'uid' => 15, 'value' => "http://example.com/journal"), array('fid' => 14, 'uid' => 15, 'value' => 'a:3:{s:5:"month";s:2:"11";s:3:"day";s:2:"25";s:4:"year";s:4:"1982";}'), diff --git a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6UserProfileFields.php b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6UserProfileFields.php index 3df09a0b1464..90a376285aff 100644 --- a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6UserProfileFields.php +++ b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6UserProfileFields.php @@ -186,7 +186,7 @@ class Drupal6UserProfileFields extends Drupal6DumpBase { 'register' => '0', 'visibility' => '4', 'autocomplete' => '0', - 'options' => "Pill spammers\r\nFitness spammers", + 'options' => "Pill spammers\r\nFitness spammers\r\nBack\slash\r\nForward/slash\r\nDot.in.the.middle", ), array( 'fid' => '12', diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php index cb4268c7c50a..e8e34455a0ab 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php @@ -258,7 +258,7 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase { __NAMESPACE__ . '\MigrateNodeRevisionTest', __NAMESPACE__ . '\MigrateNodeTest', __NAMESPACE__ . '\MigrateNodeTypeTest', - __NAMESPACE__ . '\MigrateProfileValuesTest', + __NAMESPACE__ . '\MigrateUserProfileValuesTest', __NAMESPACE__ . '\MigrateSearchConfigsTest', __NAMESPACE__ . '\MigrateSearchPageTest', __NAMESPACE__ . '\MigrateSimpletestConfigsTest', diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php index 3f89a9b08836..735e045df3f1 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php @@ -57,8 +57,10 @@ class MigrateUserProfileFieldTest extends MigrateDrupalTestBase { $settings = $field_storage->getSettings(); $this->assertEqual($settings['allowed_values'], array( 'Pill spammers' => 'Pill spammers', - 'Spammers' => 'Spammers', 'Fitness spammers' => 'Fitness spammers', + 'Back\slash' => 'Back\slash', + 'Forward/slash' => 'Forward/slash', + 'Dot.in.the.middle' => 'Dot.in.the.middle', 'Faithful servant' => 'Faithful servant', 'Anonymous donor' => 'Anonymous donor', )); diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileValuesTest.php similarity index 93% rename from core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php rename to core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileValuesTest.php index 00dbce165c7a..1e6b5866b3b3 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileValuesTest.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\migrate_drupal\Tests\d6\MigrateProfileValuesTest. + * Contains \Drupal\migrate_drupal\Tests\d6\MigrateUserProfileValuesTest. */ namespace Drupal\migrate_drupal\Tests\d6; @@ -18,7 +18,7 @@ use Drupal\user\Entity\User; * * @group migrate_drupal */ -class MigrateProfileValuesTest extends MigrateDrupalTestBase { +class MigrateUserProfileValuesTest extends MigrateDrupalTestBase { /** * The modules to be enabled during the test. @@ -147,7 +147,7 @@ class MigrateProfileValuesTest extends MigrateDrupalTestBase { $this->assertEqual($user->profile_color->value, 'red'); $this->assertEqual($user->profile_biography->value, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nulla sapien, congue nec risus ut, adipiscing aliquet felis. Maecenas quis justo vel nulla varius euismod. Quisque metus metus, cursus sit amet sem non, bibendum vehicula elit. Cras dui nisl, eleifend at iaculis vitae, lacinia ut felis. Nullam aliquam ligula volutpat nulla consectetur accumsan. Maecenas tincidunt molestie diam, a accumsan enim fringilla sit amet. Morbi a tincidunt tellus. Donec imperdiet scelerisque porta. Sed quis sem bibendum eros congue sodales. Vivamus vel fermentum est, at rutrum orci. Nunc consectetur purus ut dolor pulvinar, ut volutpat felis congue. Cras tincidunt odio sed neque sollicitudin, vehicula tempor metus scelerisque.'); $this->assertEqual($user->profile_sell_address->value, '1'); - $this->assertEqual($user->profile_sold_to->value, 'Fitness spammers'); + $this->assertEqual($user->profile_sold_to->value, 'Back\slash'); $this->assertEqual($user->profile_bands[0]->value, 'AC/DC'); $this->assertEqual($user->profile_bands[1]->value, 'Eagles'); $this->assertEqual($user->profile_bands[2]->value, 'Elton John'); @@ -156,6 +156,12 @@ class MigrateProfileValuesTest extends MigrateDrupalTestBase { $this->assertEqual($user->profile_bands[5]->value, 'Queen'); $this->assertEqual($user->profile_bands[6]->value, 'The White Stripes'); $this->assertEqual($user->profile_birthdate->value, '1974-06-02'); + + $user = User::load(8); + $this->assertEqual($user->profile_sold_to->value, 'Forward/slash'); + + $user = User::load(15); + $this->assertEqual($user->profile_sold_to->value, 'Dot.in.the.middle'); } } diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php index 82f60f03a4c1..4a187bc39664 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php @@ -7,6 +7,8 @@ namespace Drupal\migrate_drupal\Tests\d6; +use Drupal\user\Entity\User; +use Drupal\file\Entity\File; use Drupal\Core\Database\Database; use Drupal\migrate\MigrateExecutable; use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase; @@ -151,7 +153,7 @@ class MigrateUserTest extends MigrateDrupalTestBase { $migration_format = entity_load('migration', 'd6_filter_format'); $signature_format = $migration_format->getIdMap()->lookupDestinationId(array($source->signature_format)); - $user = user_load($source->uid); + $user = User::load($source->uid); $this->assertEqual($user->id(), $source->uid); $this->assertEqual($user->label(), $source->name); $this->assertEqual($user->getEmail(), $source->mail); @@ -174,7 +176,7 @@ class MigrateUserTest extends MigrateDrupalTestBase { // We have one empty picture in the data so don't try load that. if (!empty($source->picture)) { // Test the user picture. - $file = file_load($user->user_picture->target_id); + $file = File::load($user->user_picture->target_id); $this->assertEqual($file->getFilename(), basename($source->picture)); }