diff options
author | Leif Åstrand <leif@vaadin.com> | 2015-08-11 10:17:07 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-10-09 12:00:59 +0000 |
commit | 9ee97bbf72551ba650e7ea910dddaae64f6c7ef0 (patch) | |
tree | 3173f4bbcc12528ee87328202f967a0af0de9b00 | |
parent | f8aa49978073e00a731233f5f7d36962fb54155e (diff) | |
download | vaadin-framework-9ee97bbf72551ba650e7ea910dddaae64f6c7ef0.tar.gz vaadin-framework-9ee97bbf72551ba650e7ea910dddaae64f6c7ef0.zip |
Write true boolean attibutes without ='' (#17583)
Also add missing test for GridLayout alignments
Change-Id: If553c9e254fb754cb020a63013bfcc9ecae3a056
46 files changed, 237 insertions, 196 deletions
diff --git a/server/ivy.xml b/server/ivy.xml index 0711b4b2ea..b02ab123fb 100644 --- a/server/ivy.xml +++ b/server/ivy.xml @@ -60,7 +60,7 @@ </dependency> <!-- Jsoup for BootstrapHandler --> - <dependency org="org.jsoup" name="jsoup" rev="1.8.1" + <dependency org="org.jsoup" name="jsoup" rev="1.8.3" conf="build,ide,test -> default" /> <!-- TESTING DEPENDENCIES --> diff --git a/server/src/com/vaadin/ui/AbstractComponent.java b/server/src/com/vaadin/ui/AbstractComponent.java index 42b36b0f21..d3506e9097 100644 --- a/server/src/com/vaadin/ui/AbstractComponent.java +++ b/server/src/com/vaadin/ui/AbstractComponent.java @@ -1176,16 +1176,16 @@ public abstract class AbstractComponent extends AbstractClientConnector // first try the full shorthands if (widthFull && heightFull) { - attributes.put("size-full", ""); + attributes.put("size-full", true); } else if (widthAuto && heightAuto) { - attributes.put("size-auto", ""); + attributes.put("size-auto", true); } else { // handle width if (!hasEqualWidth(defaultInstance)) { if (widthFull) { - attributes.put("width-full", ""); + attributes.put("width-full", true); } else if (widthAuto) { - attributes.put("width-auto", ""); + attributes.put("width-auto", true); } else { String widthString = DesignAttributeHandler.getFormatter() .format(getWidth()) + getWidthUnits().getSymbol(); @@ -1196,9 +1196,9 @@ public abstract class AbstractComponent extends AbstractClientConnector if (!hasEqualHeight(defaultInstance)) { // handle height if (heightFull) { - attributes.put("height-full", ""); + attributes.put("height-full", true); } else if (heightAuto) { - attributes.put("height-auto", ""); + attributes.put("height-auto", true); } else { String heightString = DesignAttributeHandler.getFormatter() .format(getHeight()) + getHeightUnits().getSymbol(); diff --git a/server/src/com/vaadin/ui/AbstractOrderedLayout.java b/server/src/com/vaadin/ui/AbstractOrderedLayout.java index afe4717212..e0dbcb004b 100644 --- a/server/src/com/vaadin/ui/AbstractOrderedLayout.java +++ b/server/src/com/vaadin/ui/AbstractOrderedLayout.java @@ -547,19 +547,19 @@ public abstract class AbstractOrderedLayout extends AbstractLayout implements // handle alignment Alignment alignment = getComponentAlignment(child); if (alignment.isMiddle()) { - childElement.attr(":middle", ""); + childElement.attr(":middle", true); } else if (alignment.isBottom()) { - childElement.attr(":bottom", ""); + childElement.attr(":bottom", true); } if (alignment.isCenter()) { - childElement.attr(":center", ""); + childElement.attr(":center", true); } else if (alignment.isRight()) { - childElement.attr(":right", ""); + childElement.attr(":right", true); } // handle expand ratio float expandRatio = getExpandRatio(child); if (expandRatio == 1.0f) { - childElement.attr(":expand", ""); + childElement.attr(":expand", true); } else if (expandRatio > 0) { childElement.attr(":expand", DesignAttributeHandler .getFormatter().format(expandRatio)); diff --git a/server/src/com/vaadin/ui/AbstractSplitPanel.java b/server/src/com/vaadin/ui/AbstractSplitPanel.java index cae98fd71d..271c4df571 100644 --- a/server/src/com/vaadin/ui/AbstractSplitPanel.java +++ b/server/src/com/vaadin/ui/AbstractSplitPanel.java @@ -735,7 +735,7 @@ public abstract class AbstractSplitPanel extends AbstractComponentContainer { + getMaxSplitPositionUnit()); } if (getSplitterState().positionReversed) { - design.attr("reversed", ""); + design.attr("reversed", true); } // handle child components if (!designContext.shouldWriteChildren(this, def)) { @@ -750,7 +750,7 @@ public abstract class AbstractSplitPanel extends AbstractComponentContainer { if (secondComponent != null) { Element childElement = designContext.createElement(secondComponent); if (firstComponent == null) { - childElement.attr(":second", ""); + childElement.attr(":second", true); } design.appendChild(childElement); } diff --git a/server/src/com/vaadin/ui/Button.java b/server/src/com/vaadin/ui/Button.java index 5c12f20479..cb8ba66217 100644 --- a/server/src/com/vaadin/ui/Button.java +++ b/server/src/com/vaadin/ui/Button.java @@ -22,7 +22,6 @@ import java.util.Collection; import org.jsoup.nodes.Attributes; import org.jsoup.nodes.Element; -import org.jsoup.parser.Parser; import com.vaadin.event.Action; import com.vaadin.event.ShortcutAction; @@ -635,7 +634,7 @@ public class Button extends AbstractFocusable implements } // plain-text (default is html) if (!isHtmlContentAllowed()) { - design.attr(DESIGN_ATTR_PLAIN_TEXT, ""); + design.attr(DESIGN_ATTR_PLAIN_TEXT, true); // encode HTML entities if (content != null) { design.html(DesignFormatter.encodeForTextNode(content)); diff --git a/server/src/com/vaadin/ui/DragAndDropWrapper.java b/server/src/com/vaadin/ui/DragAndDropWrapper.java index ba912f15dc..90b3b56ef6 100644 --- a/server/src/com/vaadin/ui/DragAndDropWrapper.java +++ b/server/src/com/vaadin/ui/DragAndDropWrapper.java @@ -491,7 +491,7 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, if (getDragStartMode() == DragStartMode.COMPONENT_OTHER) { Element child = designContext .createElement(getDragImageComponent()); - child.attr(":drag-image", ""); + child.attr(":drag-image", true); design.appendChild(child); } } diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java index d44cb31cb0..c26e6d6705 100644 --- a/server/src/com/vaadin/ui/Grid.java +++ b/server/src/com/vaadin/ui/Grid.java @@ -2226,8 +2226,7 @@ public class Grid extends AbstractFocusable implements SelectionNotifier, DesignContext designContext) { switch (cellState.type) { case TEXT: - DesignAttributeHandler.writeAttribute("plain-text", - cellElement.attributes(), "", null, String.class); + cellElement.attr("plain-text", true); cellElement.appendText(getText()); break; case HTML: diff --git a/server/src/com/vaadin/ui/GridLayout.java b/server/src/com/vaadin/ui/GridLayout.java index 7eb870d1f8..8517962e91 100644 --- a/server/src/com/vaadin/ui/GridLayout.java +++ b/server/src/com/vaadin/ui/GridLayout.java @@ -1512,14 +1512,14 @@ public class GridLayout extends AbstractLayout implements Alignment alignment = getComponentAlignment(child); if (alignment.isMiddle()) { - childElement.attr(":middle", ""); + childElement.attr(":middle", true); } else if (alignment.isBottom()) { - childElement.attr(":bottom", ""); + childElement.attr(":bottom", true); } if (alignment.isCenter()) { - childElement.attr(":center", ""); + childElement.attr(":center", true); } else if (alignment.isRight()) { - childElement.attr(":right", ""); + childElement.attr(":right", true); } col.appendChild(childElement); @@ -1659,4 +1659,4 @@ public class GridLayout extends AbstractLayout implements result.add("columns"); return result; } -}
\ No newline at end of file +} diff --git a/server/src/com/vaadin/ui/Label.java b/server/src/com/vaadin/ui/Label.java index 79d9491ae9..2b96d51fa5 100644 --- a/server/src/com/vaadin/ui/Label.java +++ b/server/src/com/vaadin/ui/Label.java @@ -629,7 +629,7 @@ public class Label extends AbstractComponent implements Property<String>, } // plain-text (default is html) if (getContentMode() == ContentMode.TEXT) { - design.attr(DESIGN_ATTR_PLAIN_TEXT, ""); + design.attr(DESIGN_ATTR_PLAIN_TEXT, true); design.html(DesignFormatter.encodeForTextNode(getValue())); } } diff --git a/server/src/com/vaadin/ui/MenuBar.java b/server/src/com/vaadin/ui/MenuBar.java index c11cf02aaf..9f05df7869 100644 --- a/server/src/com/vaadin/ui/MenuBar.java +++ b/server/src/com/vaadin/ui/MenuBar.java @@ -952,12 +952,12 @@ public class MenuBar extends AbstractComponent implements LegacyComponent, // in many cases there seems to be an empty more menu item if (getMoreMenuItem() != null && !getMoreMenuItem().getText().isEmpty()) { Element moreMenu = createMenuElement(getMoreMenuItem()); - moreMenu.attr("more", ""); + moreMenu.attr("more", true); design.appendChild(moreMenu); } if (!htmlContentAllowed) { - design.attr(DESIGN_ATTR_PLAIN_TEXT, ""); + design.attr(DESIGN_ATTR_PLAIN_TEXT, true); } } diff --git a/server/src/com/vaadin/ui/Slider.java b/server/src/com/vaadin/ui/Slider.java index 6b0880efd5..e85f634ac4 100644 --- a/server/src/com/vaadin/ui/Slider.java +++ b/server/src/com/vaadin/ui/Slider.java @@ -381,7 +381,7 @@ public class Slider extends AbstractField<Double> { public void writeDesign(Element design, DesignContext context) { super.writeDesign(design, context); if (getOrientation() == SliderOrientation.VERTICAL) { - design.attr("vertical", ""); + design.attr("vertical", true); } Slider defaultSlider = context.getDefaultInstance(this); DesignAttributeHandler.writeAttribute(this, "value", diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index 7f2a8e96e2..cbc216661a 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -6312,9 +6312,9 @@ public class Table extends AbstractSelect implements Action.Container, col.attr("property-id", id.toString()); if (getColumnAlignment(id) == Align.CENTER) { - col.attr("center", ""); + col.attr("center", true); } else if (getColumnAlignment(id) == Align.RIGHT) { - col.attr("right", ""); + col.attr("right", true); } DesignAttributeHandler.writeAttribute("width", col.attributes(), diff --git a/server/src/com/vaadin/ui/Window.java b/server/src/com/vaadin/ui/Window.java index 653a7d471c..b5cd384f53 100644 --- a/server/src/com/vaadin/ui/Window.java +++ b/server/src/com/vaadin/ui/Window.java @@ -1453,7 +1453,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, Window def = context.getDefaultInstance(this); if (getState().centered) { - design.attr("center", ""); + design.attr("center", true); } DesignAttributeHandler.writeAttribute("position", design.attributes(), @@ -1481,7 +1481,7 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier, for (Component c : getAssistiveDescription()) { Element child = context.createElement(c).attr( - ":assistive-description", ""); + ":assistive-description", true); design.appendChild(child); } } diff --git a/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java b/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java index e93a5c51cb..cee2ebe381 100644 --- a/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java +++ b/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java @@ -117,8 +117,10 @@ public class DesignAttributeHandler implements Serializable { success = true; } } catch (Exception e) { - getLogger().log(Level.WARNING, - "Failed to set attribute " + attribute, e); + getLogger().log( + Level.WARNING, + "Failed to set value \"" + value + "\" to attribute " + + attribute, e); } if (!success) { getLogger().info( @@ -191,6 +193,7 @@ public class DesignAttributeHandler implements Serializable { * @param defaultInstance * the default instance for comparing default values */ + @SuppressWarnings({ "unchecked", "rawtypes" }) public static void writeAttribute(Object component, String attribute, Attributes attr, Object defaultInstance) { Method getter = findGetterForAttribute(component.getClass(), attribute); @@ -202,12 +205,8 @@ public class DesignAttributeHandler implements Serializable { // compare the value with default value Object value = getter.invoke(component); Object defaultValue = getter.invoke(defaultInstance); - // if the values are not equal, write the data - if (!SharedUtil.equals(value, defaultValue)) { - String attributeValue = toAttributeValue( - getter.getReturnType(), value); - attr.put(attribute, attributeValue); - } + writeAttribute(attribute, attr, value, defaultValue, + (Class) getter.getReturnType()); } catch (Exception e) { getLogger() .log(Level.SEVERE, @@ -240,7 +239,12 @@ public class DesignAttributeHandler implements Serializable { } if (!SharedUtil.equals(value, defaultValue)) { String attributeValue = toAttributeValue(inputType, value); - attributes.put(attribute, attributeValue); + if ("".equals(attributeValue) + && (inputType == boolean.class || inputType == Boolean.class)) { + attributes.put(attribute, true); + } else { + attributes.put(attribute, attributeValue); + } } } diff --git a/server/tests/src/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperDeclarativeTest.java b/server/tests/src/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperDeclarativeTest.java index 71373857fa..a590b3ec1f 100644 --- a/server/tests/src/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/components/draganddropwrapper/DragAndDropWrapperDeclarativeTest.java @@ -56,7 +56,8 @@ public class DragAndDropWrapperDeclarativeTest extends String input = "<vaadin-drag-and-drop-wrapper drag-start-mode='component_other'>" + new DesignContext().createElement(okButton) + new DesignContext().createElement(dragImage).attr( - ":drag-image", "") + "</vaadin-drag-and-drop-wrapper>"; + ":drag-image", true) + + "</vaadin-drag-and-drop-wrapper>"; DragAndDropWrapper wrapper = new DragAndDropWrapper(okButton); wrapper.setDragStartMode(DragStartMode.COMPONENT_OTHER); wrapper.setDragImageComponent(dragImage); diff --git a/server/tests/src/com/vaadin/tests/components/menubar/MenuBarDeclarativeTest.java b/server/tests/src/com/vaadin/tests/components/menubar/MenuBarDeclarativeTest.java index b131c5a21d..321d41152b 100644 --- a/server/tests/src/com/vaadin/tests/components/menubar/MenuBarDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/components/menubar/MenuBarDeclarativeTest.java @@ -38,10 +38,10 @@ public class MenuBarDeclarativeTest extends DeclarativeTestBase<MenuBar> { @Test // #16328 public void testReadWrite() throws IOException { - String design = "<vaadin-menu-bar auto-open='' tabindex=5>" - + "<menu checkable=''>Save</menu>" + String design = "<vaadin-menu-bar auto-open tabindex=5>" + + "<menu checkable>Save</menu>" + "<menu description='Open a file'>Open</menu>" - + "<menu disabled=''>Close</menu>" + + "<menu disabled>Close</menu>" + "<menu icon='http://foo.bar/ico.png'>Help</menu>" + "<menu visible='false'>About</menu>" + "<menu>Sub<menu>Item</menu></menu>" @@ -69,19 +69,19 @@ public class MenuBarDeclarativeTest extends DeclarativeTestBase<MenuBar> { @Test // #16328 public void testTicketSpec1() throws IOException { - String design = "<vaadin-menu-bar auto-open='' plain-text tabindex=5> " + String design = "<vaadin-menu-bar auto-open plain-text tabindex=5> " + "<menu>File" + "<menu>Save</menu>" + "<menu icon=\"theme://../runo/icons/16/folder.png\">Open</menu>" - + "<menu separator='' />" - + "<menu disabled=''>Exit</menu>" + + "<menu separator />" + + "<menu disabled>Exit</menu>" + "<menu visible='false'>Not for everybody</menu>" + "</menu>" + "<menu description=\"This contains many items in sub menus\">Other" + "<menu style-name=\"fancy\">Sub" - + "<menu checkable='' checked=''>Option 1 - no <b>html</b></menu>" - + "<menu checkable=''>Option 2</menu>" - + "<menu checkable=''>Option 3</menu>" // + + "<menu checkable checked>Option 1 - no <b>html</b></menu>" + + "<menu checkable>Option 2</menu>" + + "<menu checkable>Option 3</menu>" // + "</menu>" // + "</menu>" // + "<menu more icon=\"theme://icon.png\">foo</menu>" @@ -124,7 +124,7 @@ public class MenuBarDeclarativeTest extends DeclarativeTestBase<MenuBar> { + "<menu><b>File</b>" + "<menu><font style=\"color: red\">Save</font></menu>" + "<menu icon=\"theme://../runo/icons/16/folder.png\">Open</menu>" - + "<menu separator='' />" + "<menu disabled=''>Exit</menu>" // + + "<menu separator />" + "<menu disabled>Exit</menu>" // + "</menu></vaadin-menu-bar>"; MenuBar menuBar = new MenuBar(); menuBar.setHtmlContentAllowed(true); @@ -195,4 +195,4 @@ public class MenuBarDeclarativeTest extends DeclarativeTestBase<MenuBar> { } } } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/design/AbstractComponentSetResponsiveTest.java b/server/tests/src/com/vaadin/tests/design/AbstractComponentSetResponsiveTest.java index b68f56218d..175a03cd78 100644 --- a/server/tests/src/com/vaadin/tests/design/AbstractComponentSetResponsiveTest.java +++ b/server/tests/src/com/vaadin/tests/design/AbstractComponentSetResponsiveTest.java @@ -28,9 +28,7 @@ public class AbstractComponentSetResponsiveTest extends Label label = new Label(); label.setContentMode(ContentMode.HTML); label.setResponsive(true); - - String design = "<vaadin-label responsive='' />"; - + String design = "<vaadin-label responsive />"; testWrite(design, label); testRead(design, label); } diff --git a/server/tests/src/com/vaadin/tests/design/DeclarativeTestBaseBase.java b/server/tests/src/com/vaadin/tests/design/DeclarativeTestBaseBase.java index 635b3e37cb..e7bb8955cf 100644 --- a/server/tests/src/com/vaadin/tests/design/DeclarativeTestBaseBase.java +++ b/server/tests/src/com/vaadin/tests/design/DeclarativeTestBaseBase.java @@ -21,10 +21,12 @@ import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.List; import org.jsoup.Jsoup; import org.jsoup.nodes.Attribute; +import org.jsoup.nodes.BooleanAttribute; import org.jsoup.nodes.Element; import org.jsoup.nodes.Node; import org.jsoup.nodes.TextNode; @@ -184,16 +186,23 @@ public abstract class DeclarativeTestBaseBase<T extends Component> { * include close tags */ private String elementToHtml(Element producedElem, StringBuilder sb) { + HashSet<String> booleanAttributes = new HashSet<String>(); ArrayList<String> names = new ArrayList<String>(); for (Attribute a : producedElem.attributes().asList()) { names.add(a.getKey()); + if (a instanceof BooleanAttribute) { + booleanAttributes.add(a.getKey()); + } } Collections.sort(names); sb.append("<" + producedElem.tagName() + ""); for (String attrName : names) { - sb.append(" ").append(attrName).append("=").append("\'") - .append(producedElem.attr(attrName)).append("\'"); + sb.append(" ").append(attrName); + if (!booleanAttributes.contains(attrName)) { + sb.append("=").append("\'").append(producedElem.attr(attrName)) + .append("\'"); + } } sb.append(">"); for (Node child : producedElem.childNodes()) { diff --git a/server/tests/src/com/vaadin/tests/server/component/DeclarativeMarginTestBase.java b/server/tests/src/com/vaadin/tests/server/component/DeclarativeMarginTestBase.java index 42715e52ae..faaf8ebfc2 100644 --- a/server/tests/src/com/vaadin/tests/server/component/DeclarativeMarginTestBase.java +++ b/server/tests/src/com/vaadin/tests/server/component/DeclarativeMarginTestBase.java @@ -52,19 +52,19 @@ public abstract class DeclarativeMarginTestBase<L extends Layout & MarginHandler String s = "<" + componentTag + " "; if (left && right && top && bottom) { - s += "margin=''"; + s += "margin"; } else { if (left) { - s += "margin-left='' "; + s += "margin-left "; } if (right) { - s += "margin-right='' "; + s += "margin-right "; } if (top) { - s += "margin-top='' "; + s += "margin-top "; } if (bottom) { - s += "margin-bottom='' "; + s += "margin-bottom "; } } return s + " />"; diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractcomponent/AbstractComponentDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstractcomponent/AbstractComponentDeclarativeTest.java index 15a667eb28..fc97c84952 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractcomponent/AbstractComponentDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractcomponent/AbstractComponentDeclarativeTest.java @@ -71,7 +71,7 @@ public class AbstractComponentDeclarativeTest extends public void testProperties() { String design = "<vaadin-label id=\"testId\" primary-style-name=\"test-style\" " + "caption=\"test-caption\" locale=\"fi_FI\" description=\"test-description\" " - + "error=\"<div>test-error</div>\" immediate=\"\"/>"; + + "error=\"<div>test-error</div>\" immediate />"; component.setId("testId"); component.setPrimaryStyleName("test-style"); component.setCaption("test-caption"); @@ -89,8 +89,10 @@ public class AbstractComponentDeclarativeTest extends public void testReadImmediate() { // Additional tests for the immediate property, including // explicit immediate values - String[] design = { "<vaadin-label/>", "<vaadin-label immediate=\"false\"/>", - "<vaadin-label immediate=\"true\"/>", "<vaadin-label immediate=\"\"/>" }; + String[] design = { "<vaadin-label/>", + "<vaadin-label immediate=\"false\"/>", + "<vaadin-label immediate=\"true\"/>", + "<vaadin-label immediate />" }; Boolean[] explicitImmediate = { null, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE }; boolean[] immediate = { false, false, true, true }; @@ -139,7 +141,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testSizeFull() { - String design = "<vaadin-label size-full=\"\"/>"; + String design = "<vaadin-label size-full />"; component.setSizeFull(); testRead(design, component); testWrite(design, component); @@ -147,7 +149,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testSizeAuto() { - String design = "<vaadin-label size-auto=\"\"/>"; + String design = "<vaadin-label size-auto />"; component.setSizeUndefined(); testRead(design, component); testWrite(design, component); @@ -155,7 +157,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testHeightFull() { - String design = "<vaadin-label height-full=\"\"/ width=\"20px\"/>"; + String design = "<vaadin-label height-full width=\"20px\"/>"; component.setHeight("100%"); component.setWidth("20px"); testRead(design, component); @@ -164,7 +166,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testHeightAuto() { - String design = "<vaadin-horizontal-split-panel height-auto=\"\"/ width=\"20px\" >"; + String design = "<vaadin-horizontal-split-panel height-auto width=\"20px\" >"; // we need to have default height of 100% -> use split panel AbstractComponent component = new HorizontalSplitPanel(); component.setHeight(null); @@ -175,7 +177,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testWidthFull() { - String design = "<vaadin-button width-full=\"\"/ height=\"20px\">Foo</button>"; + String design = "<vaadin-button width-full height=\"20px\">Foo</vaadin-button>"; AbstractComponent component = new Button(); component.setCaptionAsHtml(true); component.setCaption("Foo"); @@ -187,7 +189,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testWidthAuto() { - String design = "<vaadin-label height=\"20px\"/ width-auto=\"\"/>"; + String design = "<vaadin-label height=\"20px\"/ width-auto />"; component.setCaptionAsHtml(false); component.setHeight("20px"); component.setWidth(null); @@ -197,7 +199,7 @@ public class AbstractComponentDeclarativeTest extends @Test public void testResponsive() { - String design = "<vaadin-label responsive =\"\"/>"; + String design = "<vaadin-label responsive />"; Responsive.makeResponsive(component); testRead(design, component); testWrite(design, component); @@ -214,15 +216,15 @@ public class AbstractComponentDeclarativeTest extends public void testReadAlreadyResponsive() { AbstractComponent component = new Label(); Responsive.makeResponsive(component); - Element design = createDesign("responsive", ""); + Element design = createDesign(true); component.readDesign(design, new DesignContext()); assertEquals("Component should have only one extension", 1, component .getExtensions().size()); } - private Element createDesign(String key, String value) { + private Element createDesign(boolean responsive) { Attributes attributes = new Attributes(); - attributes.put(key, value); + attributes.put("responsive", responsive); Element node = new Element(Tag.valueOf("vaadin-label"), "", attributes); return node; } @@ -238,4 +240,4 @@ public class AbstractComponentDeclarativeTest extends "Getting the field explicitImmediateValue failed."); } } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldDeclarativeTest.java index a4ed0d364f..96ed8b6f1e 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldDeclarativeTest.java @@ -33,9 +33,9 @@ public class AbstractFieldDeclarativeTest extends @Test public void testPlainText() { - String design = "<vaadin-text-field buffered='' validation-visible='false' invalid-committed=''" - + " invalid-allowed='false' required='' required-error='This is a required field'" - + " conversion-error='Input {0} cannot be parsed' tabindex=3 readonly=''/>"; + String design = "<vaadin-text-field buffered validation-visible='false' invalid-committed" + + " invalid-allowed='false' required required-error='This is a required field'" + + " conversion-error='Input {0} cannot be parsed' tabindex=3 readonly/>"; AbstractField tf = new TextField(); tf.setBuffered(true); tf.setBuffered(true); @@ -51,7 +51,7 @@ public class AbstractFieldDeclarativeTest extends testWrite(design, tf); // Test with readonly=false - design = design.replace("readonly=''", ""); + design = design.replace("readonly", ""); tf.setReadOnly(false); testRead(design, tf); testWrite(design, tf); diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractorderedlayout/AbstractOrderedLayoutDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstractorderedlayout/AbstractOrderedLayoutDeclarativeTest.java index b23083ab05..87f810d562 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractorderedlayout/AbstractOrderedLayoutDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractorderedlayout/AbstractOrderedLayoutDeclarativeTest.java @@ -76,23 +76,31 @@ public class AbstractOrderedLayoutDeclarativeTest extends private String getDesign(float expandRatio, String... alignments) { String result = "<vaadin-vertical-layout caption=test-layout>"; result += "<vaadin-label caption=test-label "; - String ratioString = expandRatio == 1.0f ? "\"\"" : String + String ratioString = expandRatio == 1.0f ? null : String .valueOf(expandRatio); if (expandRatio != 0) { - result += ":expand=" + ratioString; + if (ratioString == null) { + result += ":expand"; + } else { + result += ":expand=" + ratioString; + } } for (String alignment : alignments) { if (!defaultAlignments.contains(alignment)) { - result += " " + alignment + "=\"\""; + result += " " + alignment; } } result += "></vaadin-label><vaadin-button "; if (expandRatio != 0) { - result += ":expand=" + ratioString; + if (ratioString == null) { + result += ":expand"; + } else { + result += ":expand=" + ratioString; + } } for (String alignment : alignments) { if (!defaultAlignments.contains(alignment)) { - result += " " + alignment + "=\"\""; + result += " " + alignment; } } result += "></vaadin-button></vaadin-vertical-layout>"; @@ -118,4 +126,4 @@ public class AbstractOrderedLayoutDeclarativeTest extends } return layout; } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java index b93bcc0ae8..6800320753 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java @@ -43,7 +43,7 @@ public class AbstractSelectDeclarativeTest extends DeclarativeTestBase<AbstractSelect> { public String getDesignSingleSelectNewItemsAllowed() { - return "<vaadin-combo-box new-items-allowed='' item-caption-mode='icon_only'" + return "<vaadin-combo-box new-items-allowed item-caption-mode='icon_only'" + " null-selection-item-id='nullIid'/>"; } @@ -58,7 +58,7 @@ public class AbstractSelectDeclarativeTest extends } public String getDesignMultiSelect() { - return "<vaadin-list-select multi-select='' null-selection-allowed='false' new-items-allowed='' item-caption-mode='property' />"; + return "<vaadin-list-select multi-select null-selection-allowed='false' new-items-allowed item-caption-mode='property' />"; } public AbstractSelect getExpectedMultiSelect() { @@ -208,19 +208,19 @@ public class AbstractSelectDeclarativeTest extends private Element createDesignWithAttributesSingleSelect() { Attributes attributes = new Attributes(); - attributes.put("new-items-allowed", ""); + attributes.put("new-items-allowed", true); attributes.put("multi-select", "false"); attributes.put("item-caption-mode", "property"); attributes.put("item-caption-property-id", "name"); attributes.put("item-icon-property-id", "icon"); - attributes.put("null-selection-allowed", ""); + attributes.put("null-selection-allowed", true); attributes.put("null-selection-item-id", "No items selected"); return new Element(Tag.valueOf("vaadin-combo-box"), "", attributes); } private Element createDesignWithAttributesMultiSelect() { Attributes attributes = new Attributes(); - attributes.put("multi-select", ""); + attributes.put("multi-select", true); attributes.put("item-caption-mode", "EXPLICIT"); attributes.put("null-selection-allowed", "false"); return new Element(Tag.valueOf("vaadin-list-select"), "", attributes); @@ -302,4 +302,4 @@ public class AbstractSelectDeclarativeTest extends return ls; } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTests.java b/server/tests/src/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTests.java index 92a8c12a9a..509e46c278 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTests.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTests.java @@ -111,7 +111,7 @@ public class OptionGroupDeclarativeTests extends //@formatter:off String expected = - "<vaadin-option-group html-content-allowed=''>" + "<vaadin-option-group html-content-allowed>" + "<option item-id=\"foo\"><b>True</b></option>" + "<option item-id=\"bar\"><font color='red'>False</font></option>" + "<option>baz</option>" diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractsplitpanel/AbstractSplitPanelDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstractsplitpanel/AbstractSplitPanelDeclarativeTest.java index 3ac8416762..02094cb611 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractsplitpanel/AbstractSplitPanelDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractsplitpanel/AbstractSplitPanelDeclarativeTest.java @@ -38,8 +38,8 @@ public class AbstractSplitPanelDeclarativeTest extends @Test public void testWithBothChildren() { String design = "<vaadin-horizontal-split-panel split-position=20.5% " - + "min-split-position=20% max-split-position=50px locked='' " - + "reversed=\"\"> <vaadin-table /> <vaadin-vertical-layout />" + + "min-split-position=20% max-split-position=50px locked " + + "reversed> <vaadin-table /> <vaadin-vertical-layout />" + "</vaadin-horizontal-split-panel>"; AbstractSplitPanel sp = new HorizontalSplitPanel(); sp.setSplitPosition(20.5f, Unit.PERCENTAGE, true); @@ -83,4 +83,4 @@ public class AbstractSplitPanelDeclarativeTest extends testRead(design, sp); testWrite(design, sp); } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/server/component/abstracttextfield/AbstractTextFieldDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/abstracttextfield/AbstractTextFieldDeclarativeTest.java index 4d6411845e..275cca33a0 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstracttextfield/AbstractTextFieldDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstracttextfield/AbstractTextFieldDeclarativeTest.java @@ -34,7 +34,7 @@ public class AbstractTextFieldDeclarativeTest extends @Test public void testAttributes() { String design = "<vaadin-text-field null-representation=this-is-null " - + "null-setting-allowed='' maxlength=5 columns=3 " + + "null-setting-allowed maxlength=5 columns=3 " + "input-prompt=input text-change-event-mode=eager " + "text-change-timeout=100 />"; AbstractTextField tf = new TextField(); diff --git a/server/tests/src/com/vaadin/tests/server/component/audio/AudioDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/audio/AudioDeclarativeTest.java index d1143ff0c1..f9bfd2d316 100644 --- a/server/tests/src/com/vaadin/tests/server/component/audio/AudioDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/audio/AudioDeclarativeTest.java @@ -43,7 +43,7 @@ public class AudioDeclarativeTest extends DeclarativeTestBase<Audio> { @Test public void testAudioMultipleSources() { - String design = "<vaadin-audio muted='' show-controls='false'>" + String design = "<vaadin-audio muted show-controls='false'>" + "some <b>text</b>" // + "<source href='http://foo.pl' />" + "<source href='https://bar.pl' />" // diff --git a/server/tests/src/com/vaadin/tests/server/component/audio/VideoDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/audio/VideoDeclarativeTest.java index f904c146a7..dafff32be2 100644 --- a/server/tests/src/com/vaadin/tests/server/component/audio/VideoDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/audio/VideoDeclarativeTest.java @@ -36,7 +36,7 @@ public class VideoDeclarativeTest extends DeclarativeTestBase<Video> { @Test public void testVideoMultipleSources() { - String design = "<vaadin-video muted='' show-controls='false'>" + String design = "<vaadin-video muted show-controls='false'>" + "some <b>text</b>" // + "<source href='http://foo.pl' />" + "<source href='https://bar.pl' />" // diff --git a/server/tests/src/com/vaadin/tests/server/component/button/ButtonDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/button/ButtonDeclarativeTest.java index a1ce2ed1b3..439a0d5be0 100644 --- a/server/tests/src/com/vaadin/tests/server/component/button/ButtonDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/button/ButtonDeclarativeTest.java @@ -38,13 +38,13 @@ public class ButtonDeclarativeTest extends DeclarativeTestBase<Button> { @Test public void testEmptyPlainText() { - String design = "<vaadin-button plain-text=''></vaadin-button>"; + String design = "<vaadin-button plain-text></vaadin-button>"; testButtonAndNativeButton(design, false, ""); } @Test public void testPlainTextCaption() { - String design = "<vaadin-button plain-text=''>Click</vaadin-button>"; + String design = "<vaadin-button plain-text>Click</vaadin-button>"; testButtonAndNativeButton(design, false, "Click"); } @@ -137,7 +137,7 @@ public class ButtonDeclarativeTest extends DeclarativeTestBase<Button> { @Test public void testAttributes() { - String design = "<vaadin-button tabindex=3 plain-text='' icon-alt=OK " + String design = "<vaadin-button tabindex=3 plain-text icon-alt=OK " + "click-shortcut=shift-ctrl-o></vaadin-button>"; Button b = new Button(""); b.setTabIndex(3); @@ -146,4 +146,4 @@ public class ButtonDeclarativeTest extends DeclarativeTestBase<Button> { testRead(design, b); testWrite(design, b); } -}
\ No newline at end of file +} diff --git a/server/tests/src/com/vaadin/tests/server/component/checkbox/CheckboxDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/checkbox/CheckboxDeclarativeTest.java index ec68f7ccbb..760d8d2548 100644 --- a/server/tests/src/com/vaadin/tests/server/component/checkbox/CheckboxDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/checkbox/CheckboxDeclarativeTest.java @@ -38,7 +38,7 @@ public class CheckboxDeclarativeTest extends DeclarativeTestBase<CheckBox> { @Test public void testUnchecked() { - String design = "<vaadin-check-box checked='' />"; + String design = "<vaadin-check-box checked />"; CheckBox checkBox = new CheckBox(); checkBox.setValue(true); testRead(design, checkBox); @@ -47,7 +47,7 @@ public class CheckboxDeclarativeTest extends DeclarativeTestBase<CheckBox> { @Test public void testReadOnlyValue() { - String design = "<vaadin-check-box readonly checked='' />"; + String design = "<vaadin-check-box readonly checked />"; CheckBox checkBox = new CheckBox(); checkBox.setValue(true); checkBox.setReadOnly(true); diff --git a/server/tests/src/com/vaadin/tests/server/component/colorpicker/AbstractColorPickerDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/colorpicker/AbstractColorPickerDeclarativeTest.java index a075a974c9..717ba1f45a 100644 --- a/server/tests/src/com/vaadin/tests/server/component/colorpicker/AbstractColorPickerDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/colorpicker/AbstractColorPickerDeclarativeTest.java @@ -29,7 +29,7 @@ public class AbstractColorPickerDeclarativeTest extends @Test public void testAllAbstractColorPickerFeatures() { - String design = "<vaadin-color-picker color='#fafafa' default-caption-enabled='' position='100,100'" + String design = "<vaadin-color-picker color='#fafafa' default-caption-enabled position='100,100'" + " popup-style='simple' rgb-visibility='false' hsv-visibility='false'" + " history-visibility=false textfield-visibility=false />"; ColorPicker colorPicker = new ColorPicker(); @@ -58,7 +58,7 @@ public class AbstractColorPickerDeclarativeTest extends @Test public void testAllAbstractColorPickerAreaFeatures() { - String design = "<vaadin-color-picker-area color='#fafafa' default-caption-enabled='' position='100,100'" + String design = "<vaadin-color-picker-area color='#fafafa' default-caption-enabled position='100,100'" + " popup-style='simple' rgb-visibility='false' hsv-visibility='false'" + " history-visibility=false textfield-visibility=false />"; AbstractColorPicker colorPicker = new ColorPickerArea(); diff --git a/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java index e245adcba8..54ac9a3a4b 100644 --- a/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java @@ -44,7 +44,7 @@ public class DateFieldDeclarativeTest extends DeclarativeTestBase<DateField> { } private String getTimezoneDesign() { - return "<vaadin-date-field range-start=\"2014-05-05 00:00:00+0300\" range-end=\"2014-06-05 00:00:00+0300\" date-out-of-range-message=\"Please select a sensible date\" date-format=\"yyyy-MM-dd\" lenient='' show-iso-week-numbers='' parse-error-message=\"You are doing it wrong\" time-zone=\"GMT+05:00\" value=\"2014-05-15 00:00:00+0300\"/>"; + return "<vaadin-date-field range-start=\"2014-05-05 00:00:00+0300\" range-end=\"2014-06-05 00:00:00+0300\" date-out-of-range-message=\"Please select a sensible date\" date-format=\"yyyy-MM-dd\" lenient show-iso-week-numbers parse-error-message=\"You are doing it wrong\" time-zone=\"GMT+05:00\" value=\"2014-05-15 00:00:00+0300\"/>"; } private DateField getTimezoneExpected() { diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridColumnDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridColumnDeclarativeTest.java index 45c931201e..21892634a0 100644 --- a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridColumnDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridColumnDeclarativeTest.java @@ -25,11 +25,11 @@ public class GridColumnDeclarativeTest extends GridDeclarativeTestBase { public void testSimpleGridColumns() { String design = "<vaadin-grid><table>"// + "<colgroup>" - + " <col sortable='' width='100' property-id='Column1'>" + + " <col sortable width='100' property-id='Column1'>" + " <col sortable=false max-width='200' expand='2' property-id='Column2'>" - + " <col sortable='' editable=false resizable=false min-width='15' expand='1' property-id='Column3'>" - + " <col sortable='' hidable='' hiding-toggle-caption='col 4' property-id='Column4'>" - + " <col sortable='' hidden='' property-id='Column5'>" + + " <col sortable editable=false resizable=false min-width='15' expand='1' property-id='Column3'>" + + " <col sortable hidable hiding-toggle-caption='col 4' property-id='Column4'>" + + " <col sortable hidden property-id='Column5'>" + "</colgroup>" // + "<thead />" // + "</table></vaadin-grid>"; diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridDeclarativeAttributeTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridDeclarativeAttributeTest.java index 7fa6c24df4..41f967ac16 100644 --- a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridDeclarativeAttributeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridDeclarativeAttributeTest.java @@ -37,8 +37,8 @@ public class GridDeclarativeAttributeTest extends DeclarativeTestBase<Grid> { @Test public void testBasicAttributes() { - String design = "<vaadin-grid editable='' rows=20 frozen-columns=-1 " - + "editor-save-caption='Tallenna' editor-cancel-caption='Peruuta' column-reordering-allowed=''>"; + String design = "<vaadin-grid editable rows=20 frozen-columns=-1 " + + "editor-save-caption='Tallenna' editor-cancel-caption='Peruuta' column-reordering-allowed>"; Grid grid = new Grid(); grid.setEditorEnabled(true); diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridHeaderFooterDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridHeaderFooterDeclarativeTest.java index 98ebe67752..d64a877d81 100644 --- a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridHeaderFooterDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridHeaderFooterDeclarativeTest.java @@ -35,15 +35,12 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + "</colgroup>" + "<thead>" - + " <tr default=''>" - + " <th plain-text=''>Column1</th>" - + " <th plain-text=''>Column2</th>" - + " <th plain-text=''>Column3</tr>" + + " <tr default><th plain-text>Column1<th plain-text>Column2<th plain-text>Column3</tr>" + "</thead>" + "</table></vaadin-grid>"; //@formatter:on @@ -61,12 +58,11 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" - + "</colgroup>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + "</colgroup>" + "<thead>" - + " <tr default=''><th>Column1<th>Column2<th>Column3</tr>" + + " <tr default><th>Column1<th>Column2<th>Column3</tr>" + "</thead>" + "</table></vaadin-grid>"; //@formatter:on @@ -89,12 +85,11 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + "</colgroup>" - + "<thead />" + + " <col sortable property-id='Column1'>" + + "</colgroup>" + + "<thead />" + "</table></vaadin-grid>"; //@formatter:on - Grid grid = new Grid(); grid.addColumn("Column1", String.class); grid.removeHeaderRow(grid.getDefaultHeaderRow()); @@ -108,18 +103,17 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" - + "</colgroup>" - + "<thead>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + + "</colgroup>" + + "<thead>" + " <tr><th colspan=3>Baz</tr>" - + " <tr default=''><th>Column1<th>Column2<th>Column3</tr>" - + " <tr><th>Foo<th colspan=2>Bar</tr>" - + "</thead>" + + " <tr default><th>Column1<th>Column2<th>Column3</tr>" + + " <tr><th>Foo<th colspan=2>Bar</tr>" + + "</thead>" + "</table></vaadin-grid>"; //@formatter:on - Grid grid = new Grid(); grid.addColumn("Column1", String.class); grid.addColumn("Column2", String.class); @@ -145,17 +139,16 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" - + "</colgroup>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + + "</colgroup>" + "<thead />" // No headers read or written - + "<tfoot>" - + " <tr><td plain-text=''>Column1<td plain-text=''>Column2<td plain-text=''>Column3</tr>" - + "</tfoot>" + + "<tfoot>" + + " <tr><td plain-text>Column1<td plain-text>Column2<td plain-text>Column3</tr>" + + "</tfoot>" + "</table></vaadin-grid>"; //@formatter:on - Grid grid = new Grid(); grid.addColumn("Column1", String.class); grid.addColumn("Column2", String.class); @@ -177,10 +170,9 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" - + "</colgroup>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + "</colgroup>" + "<thead />" // No headers read or written + "<tfoot>" + " <tr><td>Column1<td>Column2<td>Column3</tr>" @@ -209,12 +201,12 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + " <col sortable='' property-id='Column2'>" - + " <col sortable='' property-id='Column3'>" - + "</colgroup>" + + " <col sortable property-id='Column1'>" + + " <col sortable property-id='Column2'>" + + " <col sortable property-id='Column3'>" + + "</colgroup>" + "<thead />" // No headers read or written. - + "<tfoot>" + + "<tfoot>" + " <tr><td colspan=3>Baz</tr>" + " <tr><td>Column1<td>Column2<td>Column3</tr>" + " <tr><td>Foo<td colspan=2>Bar</tr>" @@ -249,14 +241,13 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + "</colgroup>" - + "<thead>" - + "<tr default=''><th><vaadin-label><b>Foo</b></vaadin-label></tr>" + + " <col sortable property-id='Column1'>" + + "</colgroup>" + + "<thead>" + + "<tr default><th><vaadin-label><b>Foo</b></vaadin-label></tr>" + "</thead>" + "</table></vaadin-grid>"; - //@formatter:on - + //@formatter:on Label component = new Label("<b>Foo</b>"); component.setContentMode(ContentMode.HTML); @@ -273,8 +264,8 @@ public class GridHeaderFooterDeclarativeTest extends GridDeclarativeTestBase { //@formatter:off String design = "<vaadin-grid><table>" + "<colgroup>" - + " <col sortable='' property-id='Column1'>" - + "</colgroup>" + + " <col sortable property-id='Column1'>" + + "</colgroup>" + "<thead />" // No headers read or written + "<tfoot>" + "<tr><td><vaadin-label><b>Foo</b></vaadin-label></tr>" diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridInlineDataDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridInlineDataDeclarativeTest.java index b4cb33560e..df8e864309 100644 --- a/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridInlineDataDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridInlineDataDeclarativeTest.java @@ -27,7 +27,7 @@ public class GridInlineDataDeclarativeTest extends GridDeclarativeTestBase { public void testSimpleInlineData() { String design = "<vaadin-grid><table>"// + "<colgroup>" - + " <col sortable='' property-id='Col1' />" + + " <col sortable property-id='Col1' />" + "</colgroup>" // + "<thead />" // No headers read or written + "<tbody>" // @@ -54,9 +54,9 @@ public class GridInlineDataDeclarativeTest extends GridDeclarativeTestBase { public void testMultipleColumnsInlineData() { String design = "<vaadin-grid><table>"// + "<colgroup>" - + " <col sortable='' property-id='Col1' />" - + " <col sortable='' property-id='Col2' />" - + " <col sortable='' property-id='Col3' />" // + + " <col sortable property-id='Col1' />" + + " <col sortable property-id='Col2' />" + + " <col sortable property-id='Col3' />" // + "</colgroup>" // + "<thead />" // No headers read or written + "<tbody>" // @@ -83,9 +83,9 @@ public class GridInlineDataDeclarativeTest extends GridDeclarativeTestBase { public void testMultipleColumnsInlineDataReordered() { String design = "<vaadin-grid><table>"// + "<colgroup>" - + " <col sortable='' property-id='Col2' />" - + " <col sortable='' property-id='Col3' />" - + " <col sortable='' property-id='Col1' />" // + + " <col sortable property-id='Col2' />" + + " <col sortable property-id='Col3' />" + + " <col sortable property-id='Col1' />" // + "</colgroup>" // + "<thead />" // No headers read or written + "<tbody>" // diff --git a/server/tests/src/com/vaadin/tests/server/component/gridlayout/GridLayoutDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/gridlayout/GridLayoutDeclarativeTest.java index 4e217da477..0e4293481e 100644 --- a/server/tests/src/com/vaadin/tests/server/component/gridlayout/GridLayoutDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/gridlayout/GridLayoutDeclarativeTest.java @@ -22,10 +22,13 @@ import java.io.IOException; import org.junit.Assert; import org.junit.Test; +import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.tests.server.component.DeclarativeMarginTestBase; +import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; import com.vaadin.ui.Component; import com.vaadin.ui.GridLayout; +import com.vaadin.ui.Label; import com.vaadin.ui.declarative.Design; import com.vaadin.ui.declarative.DesignContext; @@ -259,4 +262,27 @@ public class GridLayoutDeclarativeTest extends Assert.assertEquals(layout.getRows(), readLayout.getRows()); } + + @Test + public void testGridLayoutAlignments() { + String design = "<vaadin-grid-layout><row>" // + + "<column><vaadin-label :middle>0</label></column>"// + + "<column><vaadin-label :right>1</label>"// + + "</row><row>" // + + "<column><vaadin-label :bottom :center>2</label></column>"// + + "<column><vaadin-label :middle :center>3</label>" // + + "</row></vaadin-grid-layout>"; + GridLayout gl = new GridLayout(2, 2); + + Alignment[] alignments = { Alignment.MIDDLE_LEFT, Alignment.TOP_RIGHT, + Alignment.BOTTOM_CENTER, Alignment.MIDDLE_CENTER }; + for (int i = 0; i < 4; i++) { + Label child = new Label("" + i, ContentMode.HTML); + gl.addComponent(child); + gl.setComponentAlignment(child, alignments[i]); + } + + testWrite(design, gl); + testRead(design, gl); + } } diff --git a/server/tests/src/com/vaadin/tests/server/component/passwordfield/PasswordFieldDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/passwordfield/PasswordFieldDeclarativeTest.java index 5936f03381..fcb2453057 100644 --- a/server/tests/src/com/vaadin/tests/server/component/passwordfield/PasswordFieldDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/passwordfield/PasswordFieldDeclarativeTest.java @@ -30,7 +30,7 @@ public class PasswordFieldDeclarativeTest extends @Test public void testReadOnlyValue() { - String design = "<vaadin-password-field readonly=\"\" value=\"test value\"/>"; + String design = "<vaadin-password-field readonly value=\"test value\"/>"; PasswordField tf = new PasswordField(); tf.setValue("test value"); tf.setReadOnly(true); diff --git a/server/tests/src/com/vaadin/tests/server/component/popupview/PopupViewDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/popupview/PopupViewDeclarativeTest.java index 649c38a191..300a993064 100644 --- a/server/tests/src/com/vaadin/tests/server/component/popupview/PopupViewDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/popupview/PopupViewDeclarativeTest.java @@ -48,7 +48,7 @@ public class PopupViewDeclarativeTest extends DeclarativeTestBase<PopupView> { component.setHideOnMouseOut(true); component.setPopupVisible(true); // hide-on-mouse-out is true by default. not seen in design - String design = "<vaadin-popup-view popup-visible=''>" // + String design = "<vaadin-popup-view popup-visible>" // + "Click <u>here</u> to open" + "<popup-content>" + new DesignContext().createElement(verticalLayout) diff --git a/server/tests/src/com/vaadin/tests/server/component/progressbar/ProgressBarDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/progressbar/ProgressBarDeclarativeTest.java index 64a97edf1d..36ede0a321 100644 --- a/server/tests/src/com/vaadin/tests/server/component/progressbar/ProgressBarDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/progressbar/ProgressBarDeclarativeTest.java @@ -29,8 +29,7 @@ public class ProgressBarDeclarativeTest extends DeclarativeTestBase<ProgressBar> { public String getBasicDesign() { - return "<vaadin-progress-bar value=0.5 indeterminate=''>"; - + return "<vaadin-progress-bar value=0.5 indeterminate>"; } public ProgressBar getBasicExpected() { @@ -62,7 +61,7 @@ public class ProgressBarDeclarativeTest extends @Test public void testReadOnlyValue() { - String design = "<vaadin-progress-bar readonly value=0.5 indeterminate=''>"; + String design = "<vaadin-progress-bar readonly value=0.5 indeterminate>"; ProgressBar progressBar = new ProgressBar(); progressBar.setIndeterminate(true); progressBar.setValue(0.5f); diff --git a/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java index 4ec7511900..37d27af197 100644 --- a/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java @@ -24,7 +24,7 @@ public class RichTextAreaDeclarativeTest extends DeclarativeTestBase<RichTextArea> { private String getBasicDesign() { - return "<vaadin-rich-text-area null-representation='' null-setting-allowed=''>\n" + return "<vaadin-rich-text-area null-representation='' null-setting-allowed>\n" + "\n <b>Header</b> <br/>Some text\n " + "</vaadin-rich-text-area>"; } diff --git a/server/tests/src/com/vaadin/tests/server/component/table/TableDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/table/TableDeclarativeTest.java index aad2d1efb0..7de6eaf2ef 100644 --- a/server/tests/src/com/vaadin/tests/server/component/table/TableDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/table/TableDeclarativeTest.java @@ -40,10 +40,10 @@ public class TableDeclarativeTest extends TableDeclarativeTestBase { String design = "<" + getTag() - + " page-length=30 cache-rate=3 selectable='' editable='' " + + " page-length=30 cache-rate=3 selectable editable " + "sortable=false sort-ascending=false sort-container-property-id=foo " + "drag-mode=row multi-select-mode=simple column-header-mode=id row-header-mode=id " - + "column-reordering-allowed='' column-collapsing-allowed='' />"; + + "column-reordering-allowed column-collapsing-allowed />"; Table table = getTable(); table.setPageLength(30); @@ -71,12 +71,12 @@ public class TableDeclarativeTest extends TableDeclarativeTestBase { public void testColumns() { String design = "<" + getTag() - + " column-collapsing-allowed=''>" // + + " column-collapsing-allowed>" // + " <table>" // + " <colgroup>" + " <col property-id='foo' width=300>" + " <col property-id='bar' center expand=1 collapsible=false>" - + " <col property-id='baz' right expand=2 collapsed=''>" + + " <col property-id='baz' right expand=2 collapsed>" + " </colgroup>" // + " </table>"; diff --git a/server/tests/src/com/vaadin/tests/server/component/tabsheet/TabSheetDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/tabsheet/TabSheetDeclarativeTest.java index a68487782a..22472850f6 100644 --- a/server/tests/src/com/vaadin/tests/server/component/tabsheet/TabSheetDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/tabsheet/TabSheetDeclarativeTest.java @@ -36,7 +36,7 @@ public class TabSheetDeclarativeTest extends DeclarativeTestBase<TabSheet> { @Test public void testFeatures() { String design = "<vaadin-tab-sheet tabindex=5><tab caption=test-caption " - + "visible=false closable='' enabled=false icon=http://www.vaadin.com/test.png" + + "visible=false closable enabled=false icon=http://www.vaadin.com/test.png" + " icon-alt=OK description=test-desc style-name=test-style " + "id=test-id><vaadin-text-field/></tab></vaadin-tab-sheet>"; TabSheet ts = new TabSheet(); @@ -59,7 +59,7 @@ public class TabSheetDeclarativeTest extends DeclarativeTestBase<TabSheet> { @Test public void testSelected() { - String design = "<vaadin-tab-sheet><tab selected=''><vaadin-text-field/></tab></vaadin-tab-sheet>"; + String design = "<vaadin-tab-sheet><tab selected><vaadin-text-field/></tab></vaadin-tab-sheet>"; TabSheet ts = new TabSheet(); TextField tf = new TextField(); ts.addTab(tf); @@ -71,9 +71,9 @@ public class TabSheetDeclarativeTest extends DeclarativeTestBase<TabSheet> { @Test public void tabsNotShown() { String design = "<vaadin-tab-sheet tabs-visible=\"false\">\n" - + " <tab caption=\"My Tab\" selected=\"\">\n" - + " <vaadin-label>My Content</vaadin-label>\n" + " </tab>\n" - + "</vaadin-tab-sheet>\n"; + + " <tab caption=\"My Tab\" selected>\n" + + " <vaadin-label>My Content</vaadin-label>\n" + + " </tab>\n" + "</vaadin-tab-sheet>\n"; TabSheet ts = new TabSheet(); ts.setTabsVisible(false); Label l = new Label("My Content", ContentMode.HTML); diff --git a/server/tests/src/com/vaadin/tests/server/component/textfield/TextFieldDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/textfield/TextFieldDeclarativeTest.java index 3f2935bb45..63ea493344 100644 --- a/server/tests/src/com/vaadin/tests/server/component/textfield/TextFieldDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/textfield/TextFieldDeclarativeTest.java @@ -47,7 +47,7 @@ public class TextFieldDeclarativeTest extends DeclarativeTestBase<TextField> { @Test public void testReadOnlyValue() { - String design = "<vaadin-text-field readonly=\"\" value=\"test value\"/>"; + String design = "<vaadin-text-field readonly value=\"test value\"/>"; TextField tf = new TextField(); tf.setValue("test value"); tf.setReadOnly(true); diff --git a/server/tests/src/com/vaadin/tests/server/component/treetable/TreeTableDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/treetable/TreeTableDeclarativeTest.java index 0e79c906d6..9d614eccc9 100644 --- a/server/tests/src/com/vaadin/tests/server/component/treetable/TreeTableDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/treetable/TreeTableDeclarativeTest.java @@ -33,7 +33,7 @@ public class TreeTableDeclarativeTest extends TableDeclarativeTest { @Test public void testAttributes() { - String design = "<vaadin-tree-table animations-enabled=''>"; + String design = "<vaadin-tree-table animations-enabled>"; TreeTable table = getTable(); table.setAnimationsEnabled(true); diff --git a/server/tests/src/com/vaadin/tests/server/component/window/WindowDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/window/WindowDeclarativeTest.java index 47e9184a1c..e1c14e9757 100644 --- a/server/tests/src/com/vaadin/tests/server/component/window/WindowDeclarativeTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/window/WindowDeclarativeTest.java @@ -50,10 +50,10 @@ public class WindowDeclarativeTest extends DeclarativeTestBase<Window> { public void testFeatures() { String design = "<vaadin-window position='100,100' window-mode='maximized' " - + "center modal='' resizable=false resize-lazy='' closable=false draggable=false " + + "center modal resizable=false resize-lazy closable=false draggable=false " + "close-shortcut='ctrl-alt-escape' " + "assistive-prefix='Hello' assistive-postfix='World' assistive-role='alertdialog' " - + "tab-stop-enabled='' " + + "tab-stop-enabled " + "tab-stop-top-assistive-text='Do not move above the window' " + "tab-stop-bottom-assistive-text='End of window'>" + "</vaadin-window>"; @@ -169,9 +169,11 @@ public class WindowDeclarativeTest extends DeclarativeTestBase<Window> { Label assistive2 = new Label("More assistive text"); String design = "<vaadin-window>" - + createElement(assistive1).attr(":assistive-description", "") + + createElement(assistive1) + .attr(":assistive-description", true) + createElement(new Button("OK")) - + createElement(assistive2).attr(":assistive-description", ""); + + createElement(assistive2) + .attr(":assistive-description", true); Window expected = new Window(); expected.setContent(new Button("OK")); @@ -179,9 +181,12 @@ public class WindowDeclarativeTest extends DeclarativeTestBase<Window> { testRead(design, expected); - String written = "<vaadin-window>" + createElement(new Button("OK")) - + createElement(assistive1).attr(":assistive-description", "") - + createElement(assistive2).attr(":assistive-description", ""); + String written = "<vaadin-window>" + + createElement(new Button("OK")) + + createElement(assistive1) + .attr(":assistive-description", true) + + createElement(assistive2) + .attr(":assistive-description", true); testWrite(written, expected); } |