mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 18:32:09 +08:00
tests for XSS injection in tooltips
This commit is contained in:
25
test/javascripts/lib/tooltip-test.js.es6
Normal file
25
test/javascripts/lib/tooltip-test.js.es6
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { registerTooltip } from "discourse/lib/tooltip";
|
||||||
|
|
||||||
|
// prettier-ignore
|
||||||
|
QUnit.module("lib:tooltip", {
|
||||||
|
beforeEach() {
|
||||||
|
fixture().html(
|
||||||
|
"<a class='test-link' data-tooltip='XSS<s onmouseover\=alert(document.domain)>XSS'>test</a>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test("it prevents XSS injection", assert => {
|
||||||
|
const $testLink = fixture(".test-link");
|
||||||
|
registerTooltip($testLink);
|
||||||
|
$testLink.click();
|
||||||
|
|
||||||
|
andThen(() => {
|
||||||
|
assert.equal(
|
||||||
|
fixture(".tooltip-content")
|
||||||
|
.html()
|
||||||
|
.trim(),
|
||||||
|
"XSS<s onmouseover=alert(document.domain)>XSS"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
Reference in New Issue
Block a user