Node node = nodeEntry.getValue(); node.getParentNode().removeChild(node); MutableContent.notifyEdit(doc); MutableContent.notifyEdit(doc);
Node node = nodeEntry.getValue(); node.getParentNode().removeChild(node); MutableContent.notifyEdit(doc); MutableContent.notifyEdit(doc);
Node node = nodeEntry.getValue(); node.getParentNode().removeChild(node); MutableContent.notifyEdit(doc); MutableContent.notifyEdit(doc);
MutableContent.notifyEdit(content.getDocument());
MutableContent.notifyEdit(content.getDocument());
MutableContent.notifyEdit(content.getDocument());
@Test public void modifyTreeReflectedInContent() throws Exception { Document document = mhc.getDocument(); // First child should be text node per other tests. Modify it. document.getFirstChild().getFirstChild().setTextContent("FOO CONTENT"); assertEquals(0, mhc.getNumChanges()); MutableContent.notifyEdit(document); assertEquals(1, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("FOO CONTENT")); // Do it again document.getFirstChild().getFirstChild().setTextContent("BAR CONTENT"); MutableContent.notifyEdit(document); assertEquals(2, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("BAR CONTENT")); assertTrue(new String(IOUtils.toByteArray(mhc.getContentBytes()), "UTF8").contains("BAR CONTENT")); // GadgetHtmlNode hasn't changed because string hasn't changed assertSame(document, mhc.getDocument()); } }
@Test public void modifyTreeReflectedInContent() throws Exception { Document document = mhc.getDocument(); // First child should be text node per other tests. Modify it. document.getFirstChild().getFirstChild().setTextContent("FOO CONTENT"); assertEquals(0, mhc.getNumChanges()); MutableContent.notifyEdit(document); assertEquals(1, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("FOO CONTENT")); // Do it again document.getFirstChild().getFirstChild().setTextContent("BAR CONTENT"); MutableContent.notifyEdit(document); assertEquals(2, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("BAR CONTENT")); assertTrue(new String(IOUtils.toByteArray(mhc.getContentBytes()), "UTF8").contains("BAR CONTENT")); // GadgetHtmlNode hasn't changed because string hasn't changed assertSame(document, mhc.getDocument()); } }
@Test public void modifyTreeReflectedInContent() throws Exception { Document document = mhc.getDocument(); // First child should be text node per other tests. Modify it. document.getFirstChild().getFirstChild().setTextContent("FOO CONTENT"); assertEquals(0, mhc.getNumChanges()); MutableContent.notifyEdit(document); assertEquals(1, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("FOO CONTENT")); // Do it again document.getFirstChild().getFirstChild().setTextContent("BAR CONTENT"); MutableContent.notifyEdit(document); assertEquals(2, mhc.getNumChanges()); assertTrue(mhc.getContent().contains("BAR CONTENT")); assertTrue(new String(IOUtils.toByteArray(mhc.getContentBytes()), "UTF8").contains("BAR CONTENT")); // GadgetHtmlNode hasn't changed because string hasn't changed assertSame(document, mhc.getDocument()); } }
@Test public void sanitizationBypassAllowed() throws Exception { String markup = "<p foo=\"bar\"><b>Parag</b><!--raph--></p>"; // Create a rewriter that would strip everything GadgetRewriter rewriter = createRewriter(set(), set()); MutableContent mc = new MutableContent(parser, markup); Document document = mc.getDocument(); // Force the content to get re-serialized MutableContent.notifyEdit(document); String fullMarkup = mc.getContent(); Element paragraphTag = (Element) document.getElementsByTagName("p").item(0); // Mark the paragraph tag element as trusted SanitizingGadgetRewriter.bypassSanitization(paragraphTag, true); rewriter.rewrite(gadget, mc); // The document should be unchanged assertEquals(fullMarkup, mc.getContent()); }
@Test public void sanitizationBypassAllowed() throws Exception { String markup = "<p foo=\"bar\"><b>Parag</b><!--raph--></p>"; // Create a rewriter that would strip everything GadgetRewriter rewriter = createRewriter(set(), set()); MutableContent mc = new MutableContent(parser, markup); Document document = mc.getDocument(); // Force the content to get re-serialized MutableContent.notifyEdit(document); String fullMarkup = mc.getContent(); Element paragraphTag = (Element) document.getElementsByTagName("p").item(0); // Mark the paragraph tag element as trusted SanitizingGadgetRewriter.bypassSanitization(paragraphTag, true); rewriter.rewrite(gadget, mc); // The document should be unchanged assertEquals(fullMarkup, mc.getContent()); }
@Test public void sanitizationBypassAllowed() throws Exception { String markup = "<p foo=\"bar\"><b>Parag</b><!--raph--></p>"; // Create a rewriter that would strip everything GadgetRewriter rewriter = createRewriter(set(), set()); MutableContent mc = new MutableContent(parser, markup); Document document = mc.getDocument(); // Force the content to get re-serialized MutableContent.notifyEdit(document); String fullMarkup = mc.getContent(); Element paragraphTag = (Element) document.getElementsByTagName("p").item(0); // Mark the paragraph tag element as trusted SanitizingGadgetRewriter.bypassSanitization(paragraphTag, true); rewriter.rewrite(gadget, mc); // The document should be unchanged assertEquals(fullMarkup, mc.getContent()); }