From 6c529606747ce4e9dab0c1e3424910b7966e5e4b Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 20 Apr 2012 21:56:11 +0200 Subject: added html_hilight test This didn't really need runkit. The way runkit was used didn't add any more credibility to the test result --- _test/tests/inc/html_hilight.test.php | 100 ++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 _test/tests/inc/html_hilight.test.php (limited to '_test') diff --git a/_test/tests/inc/html_hilight.test.php b/_test/tests/inc/html_hilight.test.php new file mode 100644 index 000000000..bb0cdd424 --- /dev/null +++ b/_test/tests/inc/html_hilight.test.php @@ -0,0 +1,100 @@ +assertRegExp( + '/Foo bar<\/span> Foo/', + html_hilight($html,'bar') + ); + } + + function testHighlightTwoWords() { + $html = 'Foo bar Foo php Foo'; + $this->assertRegExp( + '/Foo bar<\/span> Foo php<\/span> Foo/', + html_hilight($html,array('bar','php')) + ); + } + + function testHighlightTwoWordsHtml() { + $html = 'Foo bar Foo php Foo'; + $this->assertRegExp( + '/Foo bar<\/span><\/b> Foo<\/i> php<\/span> Foo/', + html_hilight($html,array('bar','php')) + ); + } + + function testNoMatchHtml() { + $html = 'Foo font Bar'; + $this->assertRegExp( + '/Foo font<\/span><\/font> Bar/', + html_hilight($html,'font') + ); + } + + function testWildcardRight() { + $html = 'foo bar foobar barfoo foobarfoo foo'; + $this->assertRegExp( + '/foo bar<\/span> foobar bar<\/span>foo foobarfoo foo/', + html_hilight($html,'bar*') + ); + } + + function testWildcardLeft() { + $html = 'foo bar foobar barfoo foobarfoo foo'; + $this->assertRegExp( + '/foo bar<\/span> foobar<\/span> barfoo foobarfoo foo/', + html_hilight($html,'*bar') + ); + } + + function testWildcardBoth() { + $html = 'foo bar foobar barfoo foobarfoo foo'; + $this->assertRegExp( + '/foo bar<\/span> foobar<\/span> bar<\/span>foo foobar<\/span>foo foo/', + html_hilight($html,'*bar*') + ); + } + + function testNoHighlight() { + $html = 'Foo bar Foo'; + $this->assertRegExp( + '/Foo bar Foo/', + html_hilight($html,'php') + ); + } + + function testMatchAttribute() { + $html = 'Foo bar Foo'; + $this->assertRegExp( + '/Foo bar<\/b> Foo/', + html_hilight($html,'class="x"') + ); + } + + function testMatchAttributeWord() { + $html = 'Foo bar Foo'; + $this->assertEquals( + 'Foo bar Foo', + html_hilight($html,'class="x">bar') + ); + } + + function testRegexInjection() { + $html = 'Foo bar Foo'; + $this->assertRegExp( + '/Foo bar Foo/', + html_hilight($html,'*') + ); + } + + function testRegexInjectionSlash() { + $html = 'Foo bar Foo'; + $this->assertRegExp( + '/Foo bar Foo/', + html_hilight($html,'x/') + ); + } +} -- cgit v1.2.3