summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/node/node.install34
-rw-r--r--modules/simpletest/tests/upgrade/upgrade.node.test64
2 files changed, 14 insertions, 84 deletions
diff --git a/modules/node/node.install b/modules/node/node.install
index 14290e3ad..c5378dc85 100644
--- a/modules/node/node.install
+++ b/modules/node/node.install
@@ -469,26 +469,7 @@ function node_update_dependencies() {
* @ingroup update-api-6.x-to-7.x
*/
function _update_7000_node_get_types() {
- $node_types = db_query('SELECT * FROM {node_type}')->fetchAllAssoc('type', PDO::FETCH_OBJ);
-
- // Create default settings for orphan nodes.
- $all_types = db_query('SELECT DISTINCT type FROM {node}')->fetchCol();
- $extra_types = array_diff($all_types, array_keys($node_types));
-
- foreach ($extra_types as $type) {
- $type_object = new stdClass;
- $type_object->type = $type;
-
- // In Drupal 6, whether you have a body field or not is a flag in the node
- // type table. If it's enabled, nodes may or may not have an empty string
- // for the bodies. As we can't detect what this setting should be in
- // Drupal 7 without access to the Drupal 6 node type settings, we assume
- // the default, which is to enable the body field.
- $type_object->has_body = 1;
- $type_object->body_label = 'Body';
- $node_types[$type_object->type] = $type_object;
- }
- return $node_types;
+ return db_query('SELECT * FROM {node_type}')->fetchAllAssoc('type', PDO::FETCH_OBJ);
}
/**
@@ -619,6 +600,19 @@ function node_update_7006(&$sandbox) {
// Get node type info, specifically the body field settings.
$node_types = _update_7000_node_get_types();
+ // Create default settings for orphan nodes.
+ $extra_types = db_query('SELECT DISTINCT type FROM {node} WHERE type NOT IN (:types)', array(':types' => array_keys($node_types)))->fetchCol();
+ foreach ($extra_types as $type) {
+ $type_object = new stdClass;
+ $type_object->type = $type;
+ // Always create a body. Querying node_revisions for a non-empty body
+ // would skip creating body fields for types that have a body but
+ // the nodes of that type so far had empty bodies.
+ $type_object->has_body = 1;
+ $type_object->body_label = 'Body';
+ $node_types[$type_object->type] = $type_object;
+ }
+
// Add body field instances for existing node types.
foreach ($node_types as $node_type) {
if ($node_type->has_body) {
diff --git a/modules/simpletest/tests/upgrade/upgrade.node.test b/modules/simpletest/tests/upgrade/upgrade.node.test
index 774ab58e1..163dbef5e 100644
--- a/modules/simpletest/tests/upgrade/upgrade.node.test
+++ b/modules/simpletest/tests/upgrade/upgrade.node.test
@@ -46,70 +46,6 @@ class NodeBodyUpgradePathTestCase extends UpgradePathTestCase {
}
/**
- * Upgrade test for node disabled node types.
- *
- * Load a filled installation of Drupal 6 and run the upgrade process on it.
- */
-class DisabledNodeTypeTestCase extends UpgradePathTestCase {
- public static function getInfo() {
- return array(
- 'name' => 'Disabled node type upgrade path',
- 'description' => 'Disabled node type upgrade path tests.',
- 'group' => 'Upgrade path',
- );
- }
-
- public function setUp() {
- // Path to the database dump.
- $this->databaseDumpFiles = array(
- drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.filled.database.php',
- drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.node_type_broken.database.php',
- );
- parent::setUp();
- }
-
- /**
- * Test a successful upgrade.
- */
- public function testDisabledNodeTypeUpgrade() {
- $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.'));
- $this->assertTrue(field_info_instance('comment', 'comment_body', 'comment_node_broken'), 'Comment body field instance was created for comments attached to the disabled broken node type');
- }
-}
-
-/**
- * Upgrade test for node disabled node types.
- *
- * Load a filled installation of Drupal 6 and run the upgrade process on it.
- */
-class DisabledNodeTypeTestCase extends UpgradePathTestCase {
- public static function getInfo() {
- return array(
- 'name' => 'Disabled node type upgrade path',
- 'description' => 'Disabled node type upgrade path tests.',
- 'group' => 'Upgrade path',
- );
- }
-
- public function setUp() {
- // Path to the database dump.
- $this->databaseDumpFiles = array(
- drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.filled.database.php',
- drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.node_type_broken.database.php',
- );
- parent::setUp();
- }
-
- /**
- * Test a successful upgrade.
- */
- public function testDisabledNodeTypeUpgrade() {
- $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.'));
- $this->assertTrue(field_info_instance('comment', 'comment_body', 'comment_node_broken'), 'Comment body field instance was created for comments attached to the disabled broken node type');
- }
-}
-
-/**
* Upgrade test for node type poll.
*
* Load a bare installation of Drupal 6 and run the upgrade process on it.