public function DefaultFieldComparatorWebTestCase::testMultipleFieldValuesDeletion in Changed Fields API 7.3
Same name and namespace in other branches
- 7.2 tests/default_field_comparator.test \DefaultFieldComparatorWebTestCase::testMultipleFieldValuesDeletion()
Check comparison of multi-value fields - delete a field value.
File
- tests/
default_field_comparator.test, line 242 - Test default field comparator.
Class
- DefaultFieldComparatorWebTestCase
- Class DefaultFieldComparatorWebTestCase.
Code
public function testMultipleFieldValuesDeletion() {
$node = $this
->drupalCreateNode([
'type' => 'article',
'promote' => 1,
'title' => 'Title',
'body' => [
LANGUAGE_NONE => [
[
'value' => 'Body',
'format' => filter_default_format(),
'summary' => 'Summary',
],
],
],
'field_text_test' => [
LANGUAGE_NONE => [
[
'value' => 'Text 1',
],
[
'value' => 'Text 2',
],
],
],
]);
$node->field_text_test[LANGUAGE_NONE] = [
[
'value' => 'Text 2',
],
];
node_save($node);
// Let's ensure that only field_text_test field was changed.
$is_field_text_test_updated = !empty($node->changed_fields) && count($node->changed_fields) == 1 && !empty($node->changed_fields['field_text_test']);
$this
->assertEqual($is_field_text_test_updated, TRUE, 'Only field_text_test field was changed after node updating.');
if ($is_field_text_test_updated) {
$this
->assertEqual(count($node->changed_fields['field_text_test']['old_value']), 2, 'Old field_text_test is multiple (2 values).');
$this
->assertEqual(count($node->changed_fields['field_text_test']['new_value']), 1, 'New field_text_test is single.');
$this
->assertEqual($node->changed_fields['field_text_test']['old_value'][0]['value'], 'Text 1', 'Old first field_text_test value is "Text 1".');
$this
->assertEqual($node->changed_fields['field_text_test']['old_value'][1]['value'], 'Text 2', 'Old second field_text_test first value is "Text 2".');
$this
->assertEqual($node->changed_fields['field_text_test']['new_value'][0]['value'], 'Text 2', 'New field_text_test second value is "Text 2".');
}
}