public function testFrozenHtmlGeneration() { $sel = new HTML_QuickForm2_Element_Select('foo'); $sel->addOption('Text', 'Value'); $sel->setValue('Value'); $sel->toggleFrozen(true); $sel->persistentFreeze(false); $this->assertNotRegExp('/[<>]/', $sel->__toString()); $this->assertRegExp('/Text/', $sel->__toString()); $sel->persistentFreeze(true); $this->assertRegExp('/Text/', $sel->__toString()); $this->assertRegExp('!<input[^>]+type="hidden"[^>]*/>!', $sel->__toString()); preg_match('!<input([^>]+)/>!', $sel->__toString(), $matches); $this->assertEquals(array('id' => $sel->getId(), 'name' => 'foo', 'value' => 'Value', 'type' => 'hidden'), HTML_QuickForm2_Element_SelectTest_AttributeParser::parseAttributes($matches[1])); $sel->setValue('Nonexistent'); $this->assertNotRegExp('/Text/', $sel->__toString()); $this->assertNotRegExp('/[<>]/', $sel->__toString()); }