getMethod($name); $method->setAccessible(true); return $method; } public function testIsBlock() { $blocks = array('html', 'body', 'head', 'p', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'title', 'script', 'link', 'meta', 'section', 'article', 'table', 'tbody', 'tr', 'th', 'td', //'form', ); // Mocking the required input because there is no checking. $t = new Traverser('', ''); $method = $this->getProtectedMethod('isBlock'); foreach ($blocks as $block) { $this->assertTrue($method->invoke($t, $block), 'Block test failed on: ' . $block); // Also test the uppercase version. $this->assertTrue($method->invoke($t, strtoupper($block)), 'Block test failed on: ' . strtoupper($block)); } $nonblocks = array('span', 'a', 'img'); foreach ($nonblocks as $tag) { $this->assertFalse($method->invoke($t, $tag), 'Block test failed on: ' . $tag); // Also test the uppercase version. $this->assertFalse($method->invoke($t, strtoupper($tag)), 'Block test failed on: ' . strtoupper($tag)); } } public function testIsUnary() { $elements = array( 'area', 'base', 'basefont', 'bgsound', 'br', 'col', 'command', 'embed', 'frame', 'hr', 'img', ); // Mocking the required input because there is no checking. $t = new Traverser('', ''); $method = $this->getProtectedMethod('isUnary'); foreach ($elements as $element) { $this->assertTrue($method->invoke($t, $element), 'Unary test failed on: ' . $element); // Also test the uppercase version. $this->assertTrue($method->invoke($t, strtoupper($element)), 'Unary test failed on: ' . strtoupper($element)); } $nonblocks = array('span', 'a', 'div'); foreach ($nonblocks as $tag) { $this->assertFalse($method->invoke($t, $tag), 'Unary test failed on: ' . $tag); // Also test the uppercase version. $this->assertFalse($method->invoke($t, strtoupper($tag)), 'Unary test failed on: ' . strtoupper($tag)); } } }