view = new Zend_View(); $this->helper = new Zend_View_Helper_FormMultiCheckbox(); $this->helper->setView($this->view); ob_start(); } /** * Tears down the fixture, for example, close a network connection. * This method is called after a test is executed. * * @return void */ public function tearDown() { ob_end_clean(); } public function testMultiCheckboxHelperRendersLabelledCheckboxesForEachOption() { $options = array( 'foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz' ); $html = $this->helper->formMultiCheckbox(array( 'name' => 'foo', 'value' => 'bar', 'options' => $options, )); foreach ($options as $key => $value) { $pattern = '#((]*>.*?)(]*?("' . $key . '").*?>)(.*?))#'; if (!preg_match($pattern, $html, $matches)) { $this->fail('Failed to match ' . $pattern . ': ' . $html); } $this->assertContains($value, $matches[5], var_export($matches, 1)); $this->assertContains('type="checkbox"', $matches[3], var_export($matches, 1)); $this->assertContains('name="foo[]"', $matches[3], var_export($matches, 1)); $this->assertContains('value="' . $key . '"', $matches[3], var_export($matches, 1)); } } public function testRendersAsHtmlByDefault() { $options = array( 'foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz' ); $html = $this->helper->formMultiCheckbox(array( 'name' => 'foo', 'value' => 'bar', 'options' => $options, )); foreach ($options as $key => $value) { $pattern = '#(]*?("' . $key . '").*?>)#'; if (!preg_match($pattern, $html, $matches)) { $this->fail('Failed to match ' . $pattern . ': ' . $html); } $this->assertNotContains(' />', $matches[1]); } } public function testCanRendersAsXHtml() { $this->view->doctype('XHTML1_STRICT'); $options = array( 'foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz' ); $html = $this->helper->formMultiCheckbox(array( 'name' => 'foo', 'value' => 'bar', 'options' => $options, )); foreach ($options as $key => $value) { $pattern = '#(]*?("' . $key . '").*?>)#'; if (!preg_match($pattern, $html, $matches)) { $this->fail('Failed to match ' . $pattern . ': ' . $html); } $this->assertContains(' />', $matches[1]); } } } // Call Zend_View_Helper_FormMultiCheckboxTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_View_Helper_FormMultiCheckboxTest::main") { Zend_View_Helper_FormMultiCheckboxTest::main(); }