diff --git a/modules/simpletest/tests/taxonomy_test.install b/modules/simpletest/tests/taxonomy_test.install index ae741f0e6fe3dba4552da9d6d48f712e323d0edf..2d771d0e22d8b5aff5e9325c85c72bb740f9ff67 100644 --- a/modules/simpletest/tests/taxonomy_test.install +++ b/modules/simpletest/tests/taxonomy_test.install @@ -10,14 +10,9 @@ * Implement hook_schema(). */ function taxonomy_test_schema() { - $schema['term_antonym'] = array( - 'description' => 'Stores term antonyms.', + $schema['taxonomy_term_antonym'] = array( + 'description' => 'Stores term antonym.', 'fields' => array( - 'taid' => array( - 'type' => 'serial', - 'not null' => TRUE, - 'description' => 'Primary Key: Unique term antonym ID.', - ), 'tid' => array( 'type' => 'int', 'unsigned' => TRUE, @@ -33,11 +28,7 @@ function taxonomy_test_schema() { 'description' => 'The name of the antonym.', ), ), - 'indexes' => array( - 'tid' => array('tid'), - 'name_tid' => array('name', 'tid'), - ), - 'primary key' => array('taid'), + 'primary key' => array('tid'), ); return $schema; diff --git a/modules/simpletest/tests/taxonomy_test.module b/modules/simpletest/tests/taxonomy_test.module index beda61a5d12e5cfc5579f9e332c5b655b6cf2e68..536e5a100764363c22cc1d0f42e663f432acb7f3 100644 --- a/modules/simpletest/tests/taxonomy_test.module +++ b/modules/simpletest/tests/taxonomy_test.module @@ -11,7 +11,10 @@ */ function taxonomy_test_taxonomy_term_load(&$terms) { foreach ($terms as $term) { - $term->antonyms = taxonomy_test_get_antonyms($term->tid); + $antonym = taxonomy_test_get_antonym($term->tid); + if ($antonym) { + $term->antonym = $antonym; + } } } @@ -19,17 +22,13 @@ function taxonomy_test_taxonomy_term_load(&$terms) { * Implement hook_taxonomy_term_insert(). */ function taxonomy_test_taxonomy_term_insert($term) { - if (!empty($term->antonyms)) { - foreach (explode ("\n", str_replace("\r", '', $term->antonyms)) as $antonym) { - if ($antonym) { - db_insert('term_antonym') - ->fields(array( - 'tid' => $term->tid, - 'name' => rtrim($antonym), - )) - ->execute(); - } - } + if (!empty($term->antonym)) { + db_insert('taxonomy_term_antonym') + ->fields(array( + 'tid' => $term->tid, + 'name' => trim($term->antonym) + )) + ->execute(); } } @@ -37,18 +36,13 @@ function taxonomy_test_taxonomy_term_insert($term) { * Implement hook_taxonomy_term_update(). */ function taxonomy_test_taxonomy_term_update($term) { - taxonomy_test_taxonomy_term_delete($term); - if (!empty($term->antonyms)) { - foreach (explode ("\n", str_replace("\r", '', $term->antonyms)) as $antonym) { - if ($antonym) { - db_insert('term_antonym') - ->fields(array( - 'tid' => $term->tid, - 'name' => rtrim($antonym), - )) - ->execute(); - } - } + if (!empty($term->antonym)) { + db_merge('taxonomy_term_antonym') + ->key(array('tid' => $term->tid)) + ->fields(array( + 'name' => trim($term->antonym) + )) + ->execute(); } } @@ -56,7 +50,7 @@ function taxonomy_test_taxonomy_term_update($term) { * Implement hook_taxonomy_term_delete(). */ function taxonomy_test_taxonomy_term_delete($term) { - db_delete('term_antonym') + db_delete('taxonomy_term_antonym') ->condition('tid', $term->tid) ->execute(); } @@ -66,29 +60,23 @@ function taxonomy_test_taxonomy_term_delete($term) { */ function taxonomy_test_form_alter(&$form, $form_state, $form_id) { if ($form_id == 'taxonomy_form_term') { - $antonyms = taxonomy_test_get_antonyms($form['#term']['tid']); - $form['advanced']['antonyms'] = array( - '#type' => 'textarea', - '#title' => t('Antonyms'), - '#default_value' => !empty($antonyms) ? implode("\n", $antonyms) : NULL, - '#description' => t('Antonyms of this term, one antonym per line.') + $antonym = taxonomy_test_get_antonym($form['#term']['tid']); + $form['advanced']['antonym'] = array( + '#type' => 'textfield', + '#title' => t('Antonym'), + '#default_value' => !empty($antonym) ? $antonym : '', + '#description' => t('Antonym of this term.') ); } } /** - * Return an array of antonyms of the given term ID. + * Return the antonym of the given term ID. */ -function taxonomy_test_get_antonyms($tid) { - if ($tid) { - $antonyms = array(); - $result = db_query('SELECT name FROM {term_antonym} WHERE tid = :tid', array(':tid' => $tid)); - foreach($result as $antonym) { - $antonyms[] = $antonym->name; - } - return $antonyms; - } - else { - return FALSE; - } +function taxonomy_test_get_antonym($tid) { + return db_select('taxonomy_term_antonym', 'ta') + ->fields('ta', array('name')) + ->condition('tid', $tid) + ->execute() + ->fetchField(); } diff --git a/modules/taxonomy/taxonomy.test b/modules/taxonomy/taxonomy.test index 8c97a1f9675d040d62c97665ef451ce4ae258886..89e3912db4415ccb4ad6ce2dd97d12089e63f068 100644 --- a/modules/taxonomy/taxonomy.test +++ b/modules/taxonomy/taxonomy.test @@ -705,26 +705,26 @@ class TaxonomyHooksTestCase extends TaxonomyWebTestCase { // Create a term with one antonym. $edit = array( 'name' => $this->randomName(), - 'antonyms' => 'Long', + 'antonym' => 'Long', ); $this->drupalPost('admin/structure/taxonomy/' . $vocabulary->vid . '/add', $edit, t('Save')); $term = reset(taxonomy_get_term_by_name($edit['name'])); - $this->assertEqual($term->antonyms[0], $edit['antonyms'], t('Antonyms were loaded into the term object')); + $this->assertEqual($term->antonym, $edit['antonym'], t('Antonym was loaded into the term object')); // Update the term with a different antonym. $edit = array( 'name' => $this->randomName(), - 'antonyms' => 'Short', + 'antonym' => 'Short', ); $this->drupalPost('taxonomy/term/' . $term->tid . '/edit', $edit, t('Save')); taxonomy_terms_static_reset(); $term = taxonomy_term_load($term->tid); - $this->assertTrue(in_array($edit['antonyms'], $term->antonyms), t('Antonym was successfully edited')); + $this->assertEqual($edit['antonym'], $term->antonym, t('Antonym was successfully edited')); // Delete the term. taxonomy_term_delete($term->tid); - $antonyms = db_query('SELECT taid FROM {term_antonym} WHERE tid = :tid', array(':tid' => $term->tid))->fetchField(); - $this->assertFalse($antonyms, t('The antonyms were deleted from the database.')); + $antonym = db_query('SELECT tid FROM {taxonomy_term_antonym} WHERE tid = :tid', array(':tid' => $term->tid))->fetchField(); + $this->assertFalse($antonym, t('The antonym were deleted from the database.')); } }