16a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrpackage org.testng.xml; 26a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 36a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport org.testng.Assert; 46a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport org.testng.annotations.DataProvider; 56a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport org.testng.annotations.Test; 66a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 76a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport java.io.File; 86a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport java.io.FileInputStream; 96a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 106a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrimport static test.SimpleBaseTest.getPathToResource; 116a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 126a9de1267d4118b732a9a6739bdc931e360d523bJulien Herrpublic class SuiteXmlParserTest { 136a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 146a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr private static final File PARENT = new File(getPathToResource("xml")); 156a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 166a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr @DataProvider 176a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr private static Object[][] dp() { 186a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr return new Object[][] { 196a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr { "goodWithDoctype.xml", true }, 206a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr { "goodWithoutDoctype.xml", true }, 216a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr { "badWithDoctype.xml", false }, // TestNGException -> SAXParseException 226a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr { "badWithoutDoctype.xml", false } // NullPointerException 236a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr }; 246a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } 256a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 266a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr @Test(dataProvider = "dp") 276a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr public void testParse(String fileName, boolean shouldWork) { 286a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr SuiteXmlParser parser = new SuiteXmlParser(); 296a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr 306a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr try (FileInputStream stream = new FileInputStream(new File(PARENT, fileName))) { 316a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr parser.parse(fileName, stream, false); 326a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr if (!shouldWork) { 336a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr Assert.fail("Parsing of " + fileName + " is supposed to fail"); 346a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } 356a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } catch (Exception e) { 366a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr if (shouldWork) { 376a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr Assert.fail("Parsing of " + fileName + " is supposed to work"); 386a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } 396a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } 406a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr } 416a9de1267d4118b732a9a6739bdc931e360d523bJulien Herr}