Search in sources :

Example 96 with WText

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

the class ColumnLayoutRenderer_Test method testDoRender.

@Test
public void testDoRender() throws IOException, SAXException, XpathException {
    final int[] cols = new int[] { 1, 100 };
    final Alignment[] aligns = new Alignment[] { Alignment.RIGHT, Alignment.CENTER };
    final String text1 = "ColumnRenderer_Test.testPaint.text1";
    final String text2 = "ColumnRenderer_Test.testPaint.text2";
    WPanel container = new WPanel();
    container.setLayout(new ColumnLayout(cols));
    // One element -> 1 row, 2 cols (one empty)
    container.add(new WText(text1));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo("1", "count(//ui:panel/ui:columnlayout)", container);
    assertXpathEvaluatesTo(String.valueOf(cols.length), "count(//ui:panel/ui:columnlayout/ui:column)", container);
    assertXpathEvaluatesTo(text1, "normalize-space(//ui:panel/ui:columnlayout/ui:cell[1])", container);
    assertXpathEvaluatesTo("", "normalize-space(//ui:panel/ui:columnlayout/ui:cell[2])", container);
    // Two elements -> 1 row, 2 cols
    container.add(new WText(text2));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo("1", "count(//ui:panel/ui:columnlayout)", container);
    assertXpathEvaluatesTo(String.valueOf(cols.length), "count(//ui:panel/ui:columnlayout/ui:column)", container);
    assertXpathEvaluatesTo(String.valueOf(cols[0]), "//ui:panel/ui:columnlayout/ui:column[1]/@width", container);
    assertXpathEvaluatesTo(String.valueOf(cols[1]), "//ui:panel/ui:columnlayout/ui:column[2]/@width", container);
    assertXpathEvaluatesTo(text1, "normalize-space(//ui:panel/ui:columnlayout/ui:cell[1])", container);
    assertXpathEvaluatesTo(text2, "normalize-space(//ui:panel/ui:columnlayout/ui:cell[2])", container);
    assertXpathEvaluatesTo("", "//ui:panel/ui:columnlayout/@hgap", container);
    assertXpathEvaluatesTo("", "//ui:panel/ui:columnlayout/@vgap", container);
    // Test hgap, vgap
    container.setLayout(new ColumnLayout(cols, GAP, BIG_GAP));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo(GAP.toString(), "//ui:panel/ui:columnlayout/@hgap", container);
    assertXpathEvaluatesTo(BIG_GAP.toString(), "//ui:panel/ui:columnlayout/@vgap", container);
    // Test Alignment
    container.setLayout(new ColumnLayout(cols, aligns));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo("", "//ui:panel/ui:columnlayout/@hgap", container);
    assertXpathEvaluatesTo("", "//ui:panel/ui:columnlayout/@vgap", container);
    assertXpathEvaluatesTo("right", "//ui:panel/ui:columnlayout/ui:column[1]/@align", container);
    assertXpathEvaluatesTo("center", "//ui:panel/ui:columnlayout/ui:column[2]/@align", container);
    // Test Alignment, hgap, vgap
    container.setLayout(new ColumnLayout(cols, aligns, GAP, BIG_GAP));
    assertSchemaMatch(container);
    assertXpathEvaluatesTo(GAP.toString(), "//ui:panel/ui:columnlayout/@hgap", container);
    assertXpathEvaluatesTo(BIG_GAP.toString(), "//ui:panel/ui:columnlayout/@vgap", container);
    assertXpathEvaluatesTo("right", "//ui:panel/ui:columnlayout/ui:column[1]/@align", container);
    assertXpathEvaluatesTo("center", "//ui:panel/ui:columnlayout/ui:column[2]/@align", container);
}
Also used : Alignment(com.github.bordertech.wcomponents.layout.ColumnLayout.Alignment) WText(com.github.bordertech.wcomponents.WText) WPanel(com.github.bordertech.wcomponents.WPanel) ColumnLayout(com.github.bordertech.wcomponents.layout.ColumnLayout) Test(org.junit.Test)

Example 97 with WText

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

the class ListLayoutRenderer_Test method testDoRender.

@Test
public void testDoRender() throws IOException, SAXException, XpathException {
    final String text1 = "FlowRenderer_Test.testPaint.text1";
    final String text2 = "FlowRenderer_Test.testPaint.text2";
    WPanel panel = new WPanel();
    panel.setLayout(new ListLayout(ListLayout.Type.STRIPED, ListLayout.Alignment.LEFT, ListLayout.Separator.DOT, true, GAP));
    assertSchemaMatch(panel);
    assertXpathNotExists("//ui:panel/ui:listlayout/ui:cell", panel);
    panel.add(new WText(text1));
    panel.add(new WText(text2));
    assertXpathEvaluatesTo("2", "count(//ui:panel/ui:listlayout/ui:cell)", panel);
    assertXpathEvaluatesTo(text1, "normalize-space(//ui:panel/ui:listlayout/ui:cell[1])", panel);
    assertXpathEvaluatesTo(text2, "normalize-space(//ui:panel/ui:listlayout/ui:cell[2])", panel);
}
Also used : ListLayout(com.github.bordertech.wcomponents.layout.ListLayout) 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