| 1 |
<? |
|---|
| 2 |
class Element_Convert extends Element_Base { |
|---|
| 3 |
|
|---|
| 4 |
public function test_text_to_number() { |
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
$form = $this->createForm(); |
|---|
| 9 |
|
|---|
| 10 |
//$element = patForms_Element::convertElement($element, 'number'); |
|---|
| 11 |
|
|---|
| 12 |
$form->convertElement('name', 'number'); |
|---|
| 13 |
$element = $form->getElement('name'); |
|---|
| 14 |
|
|---|
| 15 |
$expected = 'patForms_Element_Number'; |
|---|
| 16 |
$result = get_class($element); |
|---|
| 17 |
$this->assertTrue($result === $expected); |
|---|
| 18 |
|
|---|
| 19 |
$expected = '<input name="name" type="text" value="0" />'; |
|---|
| 20 |
$result = self::stripElementId($element->serialize()); |
|---|
| 21 |
$this->assertSameVerbose($expected, $result); |
|---|
| 22 |
} |
|---|
| 23 |
|
|---|
| 24 |
public function test_text_to_number_with_numeric_value() { |
|---|
| 25 |
|
|---|
| 26 |
patErrorManager::pushExpect(PATFORMS_ELEMENT_ERROR_VALUE_NOT_CONVERTABLE); |
|---|
| 27 |
|
|---|
| 28 |
$form = $this->createForm(); |
|---|
| 29 |
$element = $form->getElement('name'); |
|---|
| 30 |
$element->setValue('1000'); |
|---|
| 31 |
$element = patForms_Element::convertElement($element, 'number'); |
|---|
| 32 |
|
|---|
| 33 |
$expected = '<input name="name" type="text" value="1000" />'; |
|---|
| 34 |
$result = self::stripElementId($element->serialize()); |
|---|
| 35 |
$this->assertSameVerbose($expected, $result); |
|---|
| 36 |
} |
|---|
| 37 |
|
|---|
| 38 |
public function test_text_to_number_with_string_value() { |
|---|
| 39 |
|
|---|
| 40 |
|
|---|
| 41 |
// we expect an error to be thrown |
|---|
| 42 |
|
|---|
| 43 |
patErrorManager::pushExpect(PATFORMS_ELEMENT_ERROR_VALUE_NOT_CONVERTABLE); |
|---|
| 44 |
|
|---|
| 45 |
$form = $this->createForm(); |
|---|
| 46 |
$element = $form->getElement('name'); |
|---|
| 47 |
$element->setValue('Sven'); |
|---|
| 48 |
$element = patForms_Element::convertElement($element, 'number'); |
|---|
| 49 |
|
|---|
| 50 |
$expected = PATFORMS_ELEMENT_ERROR_VALUE_NOT_CONVERTABLE; |
|---|
| 51 |
$result = array_pop(array_pop(patErrorManager::getExpect())); |
|---|
| 52 |
patErrorManager::clearExpect(); |
|---|
| 53 |
|
|---|
| 54 |
$this->assertSameVerbose($expected, $result); |
|---|
| 55 |
} |
|---|
| 56 |
|
|---|
| 57 |
public function test_enum_to_set() { |
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 |
|
|---|
| 61 |
$form = $this->createForm(array('formname' => 'enum')); |
|---|
| 62 |
$element = $form->getElement('area'); |
|---|
| 63 |
$element->setValue('a01'); |
|---|
| 64 |
$element = patForms_Element::convertElement($element, 'set'); |
|---|
| 65 |
|
|---|
| 66 |
$expected = 'patForms_Element_Set'; |
|---|
| 67 |
$result = get_class($element); |
|---|
| 68 |
$this->assertTrue($result === $expected); |
|---|
| 69 |
|
|---|
| 70 |
$expected = '<select name="area[]" size="1" multiple="multiple"><option value="a01" selected="selected">Very pretty area</option></select>'; |
|---|
| 71 |
$result = self::stripElementId($element->serialize()); |
|---|
| 72 |
|
|---|
| 73 |
$this->assertSameVerbose($expected, $result); |
|---|
| 74 |
} |
|---|
| 75 |
} |
|---|
| 76 |
|
|---|
| 77 |
?> |
|---|