diff --git a/modules/simpletest/resources/views/encodeButton.html b/modules/simpletest/resources/views/encodeButton.html new file mode 100644 index 0000000000..2a2e8fb523 --- /dev/null +++ b/modules/simpletest/resources/views/encodeButton.html @@ -0,0 +1,15 @@ + + + diff --git a/modules/simpletest/resources/views/encodeButton.view.xml b/modules/simpletest/resources/views/encodeButton.view.xml new file mode 100644 index 0000000000..b2e99771aa --- /dev/null +++ b/modules/simpletest/resources/views/encodeButton.view.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/org/labkey/test/tests/ClientAPITest.java b/src/org/labkey/test/tests/ClientAPITest.java index 75034b6ff1..943f967265 100644 --- a/src/org/labkey/test/tests/ClientAPITest.java +++ b/src/org/labkey/test/tests/ClientAPITest.java @@ -1547,6 +1547,21 @@ public void suggestedColumnsInQueryDetailsTest() throws Exception columns.stream().noneMatch(col -> col.getName().equalsIgnoreCase("Container"))); } + @Test + public void testBootstrapButtonEncoding() + { + assumeTestModules(); + + beginAt(WebTestHelper.buildURL("simpletest", getProjectName(), "encodeButton")); + var buttonLocator = Locator.tagWithClass("button", "input-test"); + waitForElement(buttonLocator); + + // Prior to the patch for Issue 52402 clicking the button would result in a XSS injection + // which would result in an UnhandledAlertException. + click(buttonLocator); + waitForElement(Locator.buttonContainingText("Loading XSS")); + } + @Override public BrowserType bestBrowser() {