From 4c3d6e43ac44eb46818cbc8055e61925ac00d2b3 Mon Sep 17 00:00:00 2001 From: Alex Balik Date: Mon, 24 Jun 2024 21:30:07 +0000 Subject: [PATCH] Add unit tests --- .../junit5/BazelJUnitOuputListenerTest.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BazelJUnitOuputListenerTest.java b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BazelJUnitOuputListenerTest.java index 8020ff7b..820c517e 100644 --- a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BazelJUnitOuputListenerTest.java +++ b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BazelJUnitOuputListenerTest.java @@ -263,6 +263,38 @@ public void ensureOutputsAreProperlyEscaped() { assertEquals("Also bad!", text); } + @Test + public void ensureTestCaseNamesAreProperlyEscaped() { + var testDescriptor = new StubbedTestDescriptor(createId("Weird\bname")); + var identifier = TestIdentifier.from(testDescriptor); + + var testCaseData = new TestData(identifier); + testCaseData.mark(TestExecutionResult.successful()); + + Document xml = generateTestXml(Mockito.mock(TestPlan.class), testCaseData); + + Node item = xml.getElementsByTagName("testcase").item(0); + String testName = item.getAttributes().getNamedItem("name").getNodeValue(); + + assertEquals("[engine:mocked]/[class:ExampleTest]/[method:Weirdname", testName); + } + + @Test + public void ensureTestSuiteNamesAreProperlyEscaped() { + var testDescriptor = new StubbedTestDescriptor(createId("Weird\bname")); + var identifier = TestIdentifier.from(testDescriptor); + + var testSuiteData = new TestData(identifier); + testSuiteData.mark(TestExecutionResult.successful()); + + Document xml = generateTestXml(Mockito.mock(TestPlan.class), testSuiteData, List.of()); + + Node item = xml.getElementsByTagName("testsuite").item(0); + String testName = item.getAttributes().getNamedItem("name").getNodeValue(); + + assertEquals("[engine:mocked]/[class:ExampleTest]/[method:Weirdname()]", testName); + } + private Document generateTestXml(TestPlan testPlan, TestData testCase) { return generateDocument(xml -> new TestCaseXmlRenderer(testPlan).toXml(xml, testCase)); }