public function testAddElementWithUnderscoreInType() { HTML_QuickForm2_Factory::registerElement('super_box', 'HTML_QuickForm2_Element_InputCheckbox'); $this->assertTrue(HTML_QuickForm2_Factory::isElementRegistered('super_box')); $c = new HTML_QuickForm2_ContainerImpl('cCOT3'); $el1 = $c->addSuper_Box('sBox_1'); $el2 = $c->addsuper_box('sBox_2'); $el3 = $c->addSuper_box('sBox_3'); $this->assertSame($el1, $c->getElementById('sBox_1-0')); $this->assertSame($el2, $c->getElementById('sBox_2-0')); $this->assertSame($el3, $c->getElementById('sBox_3-0')); try { $c->addSuper_Select('sSel_1'); } catch (HTML_QuickForm2_InvalidArgumentException $e) { $this->assertEquals("Element type 'super_select' is not known", $e->getMessage()); return; } $this->fail('Expected HTML_QuickForm2_InvalidArgumentException was not thrown'); }
public function testInsertBefore() { $e1 = new HTML_QuickForm2_ElementImpl2('k1'); $e2 = new HTML_QuickForm2_ElementImpl2('k2'); $e3 = new HTML_QuickForm2_ElementImpl2('k3'); $e4 = new HTML_QuickForm2_ElementImpl2('k4'); $c1 = new HTML_QuickForm2_ContainerImpl('l1'); $c2 = new HTML_QuickForm2_ContainerImpl('l2'); $c1->appendChild($e1); $c1->appendChild($e2); $c2->appendChild($e4); $e3Insert = $c1->insertBefore($e3, $e1); $c1->insertBefore($e4, $e1); $c1->insertBefore($e2, $e3); $this->assertSame($e3, $e3Insert, 'insertBefore() should return the inserted element'); $this->assertNull($c2->getElementById($e4->getId()), 'Element should be removed from container'); $test = array($e2, $e3, $e4, $e1); $i = 0; foreach ($c1 as $element) { $this->assertSame($test[$i++], $element, 'Elements are in the wrong order'); } }