@Test public void testRequire() throws XmlPullParserException, IOException { parseUntilNext(XmlResourceParser.START_TAG); parser.require(XmlResourceParser.START_TAG, parser.getNamespace(), parser.getName()); try { parser.require(XmlResourceParser.END_TAG, parser.getNamespace(), parser.getName()); fail("Require with wrong event should have failed"); } catch (XmlPullParserException ex) { // pass } try { parser.require(XmlResourceParser.START_TAG, "foo", parser.getName()); fail("Require with wrong namespace should have failed"); } catch (XmlPullParserException ex) { // pass } try { parser.require(XmlResourceParser.START_TAG, parser.getNamespace(), "foo"); fail("Require with wrong tag name should have failed"); } catch (XmlPullParserException ex) { // pass } }
/** Test that next tag will only return tag events. */ @Test public void testNextTag() throws XmlPullParserException, IOException { Set<Integer> acceptableTags = new HashSet<>(); acceptableTags.add(XmlResourceParser.START_TAG); acceptableTags.add(XmlResourceParser.END_TAG); forgeAndOpenDocument("<foo><bar/><text>message</text></foo>"); int evt; do { evt = parser.next(); assertTrue(acceptableTags.contains(evt)); } while (evt == XmlResourceParser.END_TAG && "foo".equals(parser.getName())); }
@Test public void testGetName() throws XmlPullParserException, IOException { forgeAndOpenDocument("<foo/>"); assertThat(parser.getName()).isEqualTo("foo"); }
@Test public void testGetName_atStart() throws XmlPullParserException, IOException { assertThat(parser.getName()).isEqualTo(""); parseUntilNext(XmlResourceParser.START_DOCUMENT); assertThat(parser.getName()).isEqualTo(""); }