Search in sources :

Example 1 with WPopup

use of com.github.bordertech.wcomponents.WPopup in project wcomponents by BorderTech.

the class WPopupRenderer method doRender.

/**
 * Paints the given WPopup.
 *
 * @param component the WPopup to paint.
 * @param renderContext the RenderContext to paint to.
 */
@Override
public void doRender(final WComponent component, final WebXmlRenderContext renderContext) {
    WPopup popup = (WPopup) component;
    XmlStringBuilder xml = renderContext.getWriter();
    int width = popup.getWidth();
    int height = popup.getHeight();
    String targetWindow = popup.getTargetWindow();
    xml.appendTagOpen("ui:popup");
    xml.appendUrlAttribute("url", popup.getUrl());
    xml.appendOptionalAttribute("width", width > 0, width);
    xml.appendOptionalAttribute("height", height > 0, height);
    xml.appendOptionalAttribute("resizable", popup.isResizable(), "true");
    xml.appendOptionalAttribute("showScrollbars", popup.isScrollable(), "true");
    xml.appendOptionalAttribute("targetWindow", !Util.empty(targetWindow), targetWindow);
    xml.appendClose();
    xml.appendEndTag("ui:popup");
}
Also used : WPopup(com.github.bordertech.wcomponents.WPopup) XmlStringBuilder(com.github.bordertech.wcomponents.XmlStringBuilder)

Example 2 with WPopup

use of com.github.bordertech.wcomponents.WPopup in project wcomponents by BorderTech.

the class WPopupRenderer_Test method testRendererCorrectlyConfigured.

@Test
public void testRendererCorrectlyConfigured() {
    WPopup popup = new WPopup();
    Assert.assertTrue("Incorrect renderer supplied", getWebXmlRenderer(popup) instanceof WPopupRenderer);
}
Also used : WPopup(com.github.bordertech.wcomponents.WPopup) Test(org.junit.Test)

Example 3 with WPopup

use of com.github.bordertech.wcomponents.WPopup in project wcomponents by BorderTech.

the class WPopupRenderer_Test method testXssEscaping.

@Test
public void testXssEscaping() throws IOException, SAXException, XpathException {
    // Popup with only URL and default settings
    WPopup popup = new WPopup("www.invalid") {

        @Override
        public boolean isVisible() {
            return true;
        }
    };
    popup.setToolTip(getMaliciousAttribute());
    assertSafeContent(popup);
    popup.setHtmlClass(getMaliciousAttribute());
    assertSafeContent(popup);
    popup.setAccessibleText(getMaliciousAttribute());
    assertSafeContent(popup);
    popup.setUrl("http://www.invalid/cgi?a=" + getMaliciousAttribute());
    assertSafeContent(popup);
}
Also used : WPopup(com.github.bordertech.wcomponents.WPopup) Test(org.junit.Test)

Example 4 with WPopup

use of com.github.bordertech.wcomponents.WPopup in project wcomponents by BorderTech.

the class WPopupRenderer_Test method testDoPaint.

@Test
public void testDoPaint() throws IOException, SAXException, XpathException {
    final String testUrl = "www.testurl.invalid";
    final String testUrl2 = "www.testurl2.invalid";
    final String testWindow = "window";
    final int width = 100;
    final int height = 90;
    // Popup with only URL and default settings
    WPopup popup = new WPopup(testUrl) {

        @Override
        public boolean isVisible() {
            return true;
        }
    };
    assertSchemaMatch(popup);
    assertXpathEvaluatesTo(testUrl, "//ui:popup/@url", popup);
    assertXpathEvaluatesTo("", "//ui:popup/@width", popup);
    assertXpathEvaluatesTo("", "//ui:popup/@height", popup);
    assertXpathEvaluatesTo("true", "//ui:popup/@resizable", popup);
    assertXpathEvaluatesTo("", "//ui:popup/@showScrollbars", popup);
    assertXpathEvaluatesTo("", "//ui:popup/@targetWindow", popup);
    // All options
    popup.setUrl(testUrl2);
    popup.setWidth(width);
    popup.setHeight(height);
    popup.setResizable(false);
    popup.setScrollable(true);
    popup.setTargetWindow(testWindow);
    assertSchemaMatch(popup);
    assertXpathEvaluatesTo(testUrl2, "//ui:popup/@url", popup);
    assertXpathEvaluatesTo(Integer.toString(width), "//ui:popup/@width", popup);
    assertXpathEvaluatesTo(Integer.toString(height), "//ui:popup/@height", popup);
    assertXpathEvaluatesTo("", "//ui:popup/@resizable", popup);
    assertXpathEvaluatesTo("true", "//ui:popup/@showScrollbars", popup);
    assertXpathEvaluatesTo(testWindow, "//ui:popup/@targetWindow", popup);
}
Also used : WPopup(com.github.bordertech.wcomponents.WPopup) Test(org.junit.Test)

Aggregations

WPopup (com.github.bordertech.wcomponents.WPopup)4 Test (org.junit.Test)3 XmlStringBuilder (com.github.bordertech.wcomponents.XmlStringBuilder)1