Merge branch '7.x' of git.drupal.org:project/drupal into 7.x

merge-requests/26/head
Dries Buytaert 2011-05-13 11:57:39 -04:00
commit 43c4a88db3
2 changed files with 14 additions and 84 deletions

View File

@ -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) {

View File

@ -45,70 +45,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.
*