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/')
);
}
function testMB() {
$html = 'foo ДокуВики bar';
$this->assertRegExp(
'/foo ДокуВики<\/span> bar/',
html_hilight($html,'ДокуВики')
);
}
function testMBright() {
$html = 'foo ДокуВики bar';
$this->assertRegExp(
'/foo Доку<\/span>Вики bar/',
html_hilight($html,'Доку*')
);
}
function testMBleft() {
$html = 'foo ДокуВики bar';
$this->assertRegExp(
'/foo ДокуВики<\/span> bar/',
html_hilight($html,'*Вики')
);
}
function testMBboth() {
$html = 'foo ДокуВики bar';
$this->assertRegExp(
'/foo ДокуВи<\/span>ки bar/',
html_hilight($html,'*куВи*')
);
}
}