commit b04f00955fa56f3f04237745c9848fcbc39285e6 Author: fago Date: Wed Feb 27 11:35:40 2013 +0100 any type tests diff --git a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php index 583015b..bb7558a 100644 --- a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php @@ -197,6 +197,25 @@ public function testGetAndSet() { $this->assertEqual($typed_data->validate()->count(), 0); $typed_data->setValue('invalid'); $this->assertEqual($typed_data->validate()->count(), 1, 'Validation detected invalid value.'); + + // Any type. + $value = array('foo'); + $typed_data = $this->createTypedData(array('type' => 'any'), $value); + $this->assertIdentical($typed_data->getValue(), $value, 'Any value was fetched.'); + $new_value = 'test@example.com'; + $typed_data->setValue($new_value); + $this->assertIdentical($typed_data->getValue(), $new_value, 'Any value was changed.'); + $this->assertTrue(is_string($typed_data->getString()), 'Any value was converted to string'); + $this->assertEqual($typed_data->validate()->count(), 0); + $typed_data->setValue(NULL); + $this->assertNull($typed_data->getValue(), 'Any wrapper is null-able.'); + $this->assertEqual($typed_data->validate()->count(), 0); + // We cannot test invalid values as everything is valid for the any type, + // but make sure an array or object value passes validation also. + $typed_data->setValue(array('entry')); + $this->assertEqual($typed_data->validate()->count(), 0); + $typed_data->setValue((object) array('entry')); + $this->assertEqual($typed_data->validate()->count(), 0); } /**