Search in sources :

Example 91 with WText

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

the class ResponseCacheInterceptor_Test method testOverridePageNoCache.

@Test
public void testOverridePageNoCache() {
    /**
     * Original config.
     */
    Configuration originalConfig;
    originalConfig = Config.getInstance();
    String override = "OVERRIDE CONTENT NO CACHE";
    try {
        // Test override cache settings
        Configuration config = Config.copyConfiguration(originalConfig);
        config.setProperty(ConfigurationProperties.RESPONSE_NO_CACHE_SETTINGS, override);
        Config.setConfiguration(config);
        // Create interceptor
        ResponseCacheInterceptor interceptor = new ResponseCacheInterceptor(CacheType.CONTENT_NO_CACHE);
        interceptor.setBackingComponent(new WText());
        // Mock Response
        MockResponse response = new MockResponse();
        interceptor.attachResponse(response);
        // Render phase
        interceptor.paint(new WebXmlRenderContext(response.getWriter()));
        // Check Override
        Assert.assertEquals("Cache-Control header not overriden correctly for CONTENT NO CACHE", override, response.getHeaders().get("Cache-Control"));
    } finally {
        // Remove overrides
        Config.setConfiguration(originalConfig);
    }
}
Also used : WebXmlRenderContext(com.github.bordertech.wcomponents.servlet.WebXmlRenderContext) MockResponse(com.github.bordertech.wcomponents.util.mock.MockResponse) Configuration(org.apache.commons.configuration.Configuration) WText(com.github.bordertech.wcomponents.WText) Test(org.junit.Test)

Example 92 with WText

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

the class ResponseCacheInterceptor_Test method testCache.

@Test
public void testCache() {
    // Create interceptor
    ResponseCacheInterceptor interceptor = new ResponseCacheInterceptor(CacheType.CONTENT_CACHE);
    interceptor.setBackingComponent(new WText());
    // Mock Response
    MockResponse response = new MockResponse();
    interceptor.attachResponse(response);
    // Render phase
    interceptor.paint(new WebXmlRenderContext(response.getWriter()));
    Assert.assertEquals("Cache-Control header not set correctly for CACHE", ConfigurationProperties.getResponseCacheSettings(), response.getHeaders().get("Cache-Control"));
    Assert.assertNull("Pragma header should be null for CACHE", response.getHeaders().get("Pragma"));
    Assert.assertNull("Expires header should be null for CACHE", response.getHeaders().get("Expires"));
}
Also used : WebXmlRenderContext(com.github.bordertech.wcomponents.servlet.WebXmlRenderContext) MockResponse(com.github.bordertech.wcomponents.util.mock.MockResponse) WText(com.github.bordertech.wcomponents.WText) Test(org.junit.Test)

Example 93 with WText

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

the class ResponseCacheInterceptor_Test method testNoCache.

@Test
public void testNoCache() {
    // Create interceptor
    ResponseCacheInterceptor interceptor = new ResponseCacheInterceptor(CacheType.CONTENT_NO_CACHE);
    interceptor.setBackingComponent(new WText());
    // Mock Response
    MockResponse response = new MockResponse();
    interceptor.attachResponse(response);
    // Render phase
    interceptor.paint(new WebXmlRenderContext(response.getWriter()));
    Assert.assertEquals("Cache-Control header not set correctly for NO_CACHE", ConfigurationProperties.getResponseNoCacheSettings(), response.getHeaders().get("Cache-Control"));
    Assert.assertEquals("Pragma header not set correctly for NO_CACHE", "no-cache", response.getHeaders().get("Pragma"));
    Assert.assertEquals("Expires header not set correctly for NO_CACHE", "-1", response.getHeaders().get("Expires"));
}
Also used : WebXmlRenderContext(com.github.bordertech.wcomponents.servlet.WebXmlRenderContext) MockResponse(com.github.bordertech.wcomponents.util.mock.MockResponse) WText(com.github.bordertech.wcomponents.WText) Test(org.junit.Test)

Example 94 with WText

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

the class ResponseCacheInterceptor_Test method testOverrideDefaultCache.

@Test
public void testOverrideDefaultCache() {
    /**
     * Original config.
     */
    Configuration originalConfig;
    originalConfig = Config.getInstance();
    String override = "OVERRIDE CACHE";
    try {
        // Test override cache settings
        Configuration config = Config.copyConfiguration(originalConfig);
        config.setProperty(ConfigurationProperties.RESPONSE_CACHE_SETTINGS, override);
        Config.setConfiguration(config);
        // Create interceptor
        ResponseCacheInterceptor interceptor = new ResponseCacheInterceptor(CacheType.CONTENT_CACHE);
        interceptor.setBackingComponent(new WText());
        // Mock Response
        MockResponse response = new MockResponse();
        interceptor.attachResponse(response);
        // Render phase
        interceptor.paint(new WebXmlRenderContext(response.getWriter()));
        // Check Override
        Assert.assertEquals("Cache-Control header not overriden correctly for CACHE", override, response.getHeaders().get("Cache-Control"));
    } finally {
        // Remove overrides
        Config.setConfiguration(originalConfig);
    }
}
Also used : WebXmlRenderContext(com.github.bordertech.wcomponents.servlet.WebXmlRenderContext) MockResponse(com.github.bordertech.wcomponents.util.mock.MockResponse) Configuration(org.apache.commons.configuration.Configuration) WText(com.github.bordertech.wcomponents.WText) Test(org.junit.Test)

Example 95 with WText

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

the class BorderLayoutRenderer_Test method testDoRender.

@Test
public void testDoRender() throws IOException, SAXException, XpathException {
    final String northText = "BorderRenderer_Test.testPaint.northText";
    final String westText = "BorderRenderer_Test.testPaint.westText";
    final String southText = "BorderRenderer_Test.testPaint.southText";
    final String eastText = "BorderRenderer_Test.testPaint.eastText";
    final String centerText = "BorderRenderer_Test.testPaint.centerText";
    WPanel container = new WPanel();
    container.setLayout(new BorderLayout(GAP, BIG_GAP));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo(GAP.toString(), "//ui:panel/ui:borderlayout/@hgap", container);
    assertXpathEvaluatesTo(BIG_GAP.toString(), "//ui:panel/ui:borderlayout/@vgap", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:north", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:south", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:east", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:west", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:center", container);
    container.add(new WText(northText), BorderLayout.NORTH);
    container.add(new WText(westText), BorderLayout.WEST);
    assertXpathEvaluatesTo(northText, "normalize-space(//ui:panel/ui:borderlayout/ui:north)", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:south", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:east", container);
    assertXpathEvaluatesTo(westText, "normalize-space(//ui:panel/ui:borderlayout/ui:west)", container);
    assertXpathNotExists("//ui:panel/ui:borderlayout/ui:center", container);
    container.add(new WText(southText), BorderLayout.SOUTH);
    container.add(new WText(eastText), BorderLayout.EAST);
    container.add(new WText(centerText));
    assertXpathEvaluatesTo(northText, "normalize-space(//ui:panel/ui:borderlayout/ui:north)", container);
    assertXpathEvaluatesTo(westText, "normalize-space(//ui:panel/ui:borderlayout/ui:west)", container);
    assertXpathEvaluatesTo(southText, "normalize-space(//ui:panel/ui:borderlayout/ui:south)", container);
    assertXpathEvaluatesTo(eastText, "normalize-space(//ui:panel/ui:borderlayout/ui:east)", container);
    assertXpathEvaluatesTo(centerText, "normalize-space(//ui:panel/ui:borderlayout/ui:center)", container);
}
Also used : BorderLayout(com.github.bordertech.wcomponents.layout.BorderLayout) WText(com.github.bordertech.wcomponents.WText) WPanel(com.github.bordertech.wcomponents.WPanel) Test(org.junit.Test)

Aggregations

WText (com.github.bordertech.wcomponents.WText)97 Test (org.junit.Test)63 WPanel (com.github.bordertech.wcomponents.WPanel)17 WCollapsible (com.github.bordertech.wcomponents.WCollapsible)10 WDecoratedLabel (com.github.bordertech.wcomponents.WDecoratedLabel)10 UIContext (com.github.bordertech.wcomponents.UIContext)9 WHeading (com.github.bordertech.wcomponents.WHeading)9 WTabSet (com.github.bordertech.wcomponents.WTabSet)7 DefaultWComponent (com.github.bordertech.wcomponents.DefaultWComponent)6 WList (com.github.bordertech.wcomponents.WList)6 WebXmlRenderContext (com.github.bordertech.wcomponents.servlet.WebXmlRenderContext)6 MockResponse (com.github.bordertech.wcomponents.util.mock.MockResponse)6 MockServletConfig (com.github.bordertech.wcomponents.util.mock.servlet.MockServletConfig)6 ActionEvent (com.github.bordertech.wcomponents.ActionEvent)5 WComponent (com.github.bordertech.wcomponents.WComponent)5 WFieldLayout (com.github.bordertech.wcomponents.WFieldLayout)5 WHorizontalRule (com.github.bordertech.wcomponents.WHorizontalRule)5 WImage (com.github.bordertech.wcomponents.WImage)5 ExplanatoryText (com.github.bordertech.wcomponents.examples.common.ExplanatoryText)5 MockHttpServletRequest (com.github.bordertech.wcomponents.util.mock.servlet.MockHttpServletRequest)5