Rolling back due to test failures Review by: rjrjr@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10103 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/elementparsers/HtmlInterpreter.java b/user/src/com/google/gwt/uibinder/elementparsers/HtmlInterpreter.java index b10b824..562c11e 100644 --- a/user/src/com/google/gwt/uibinder/elementparsers/HtmlInterpreter.java +++ b/user/src/com/google/gwt/uibinder/elementparsers/HtmlInterpreter.java
@@ -16,7 +16,6 @@ package com.google.gwt.uibinder.elementparsers; import com.google.gwt.core.ext.UnableToCompleteException; -import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.uibinder.rebind.UiBinderWriter; import com.google.gwt.uibinder.rebind.XMLElement; import com.google.gwt.uibinder.rebind.XMLElement.Interpreter; @@ -85,11 +84,6 @@ if (writer.isWidgetElement(elem)) { writer.die(elem, "Found widget in an HTML context"); } - if (writer.useLazyWidgetBuilders() && - writer.isSubclassOf(elem, SafeHtml.class)) { - String childFieldName = writer.parseElementToField(elem); - return writer.tokenForSafeHtmlExpression(childFieldName); - } return pipe.interpretElement(elem); } }
diff --git a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java index a56f961..624ab6c 100644 --- a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java +++ b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
@@ -39,7 +39,6 @@ import com.google.gwt.uibinder.rebind.model.OwnerClass; import com.google.gwt.uibinder.rebind.model.OwnerField; import com.google.gwt.user.client.ui.Attachable; -import com.google.gwt.user.client.ui.Widget; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -558,7 +557,7 @@ throws UnableToCompleteException { String tagName = elem.getLocalName(); - if (!isImportedElement(elem)) { + if (!isWidgetElement(elem)) { return findDomElementTypeForTag(tagName); } @@ -674,20 +673,9 @@ return uri != null && UiBinderGenerator.BINDER_URI.equals(uri); } - public boolean isSubclassOf(XMLElement elem, Class<?> clazz) - throws UnableToCompleteException { + public boolean isWidgetElement(XMLElement elem) { String uri = elem.getNamespaceUri(); - JClassType t = findFieldType(elem); - if (t == null) { - return false; - } - JClassType widgetType = oracle.findType(clazz.getCanonicalName()); - return t.isAssignableTo(widgetType); - } - - public boolean isWidgetElement(XMLElement elem) - throws UnableToCompleteException { - return isSubclassOf(elem, Widget.class); + return uri != null && uri.startsWith(PACKAGE_URI_SCHEME); } /** @@ -1039,11 +1027,6 @@ return parsers; } - private boolean isImportedElement(XMLElement elem) { - String uri = elem.getNamespaceUri(); - return uri != null && uri.startsWith(PACKAGE_URI_SCHEME); - } - /** * Writes a field setter if the field is not provided and the field class is * compatible with its respective template field.
diff --git a/user/test/com/google/gwt/uibinder/UiBinderGwtSuite.java b/user/test/com/google/gwt/uibinder/UiBinderGwtSuite.java index b45ba38..e251075 100644 --- a/user/test/com/google/gwt/uibinder/UiBinderGwtSuite.java +++ b/user/test/com/google/gwt/uibinder/UiBinderGwtSuite.java
@@ -1,12 +1,12 @@ /* * Copyright 2009 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -18,7 +18,6 @@ import com.google.gwt.junit.tools.GWTTestSuite; import com.google.gwt.uibinder.client.UiBinderUtilTest; import com.google.gwt.uibinder.test.client.InnerWidgetTest; -import com.google.gwt.uibinder.test.client.LazyWidgetBuildersTest; import com.google.gwt.uibinder.test.client.TestParameterizedWidgets; import com.google.gwt.uibinder.test.client.UiBinderTest; @@ -36,7 +35,6 @@ suite.addTestSuite(UiBinderUtilTest.class); suite.addTestSuite(TestParameterizedWidgets.class); suite.addTestSuite(InnerWidgetTest.class); - suite.addTestSuite(LazyWidgetBuildersTest.class); return suite; }
diff --git a/user/test/com/google/gwt/uibinder/elementparsers/AbsolutePanelParserTest.java b/user/test/com/google/gwt/uibinder/elementparsers/AbsolutePanelParserTest.java index 8cdbabd..2e981f7 100644 --- a/user/test/com/google/gwt/uibinder/elementparsers/AbsolutePanelParserTest.java +++ b/user/test/com/google/gwt/uibinder/elementparsers/AbsolutePanelParserTest.java
@@ -95,7 +95,7 @@ b.append(" <g:at left='1' top='2'>"); b.append(" <g:Button/>"); b.append(" </g:at>"); - b.append(" <g:Label/>"); + b.append(" <g:TextBox/>"); b.append(" <g:at left='10' top='20'>"); b.append(" <g:Label/>"); b.append(" </g:at>"); @@ -104,7 +104,7 @@ tester.parse(b.toString()); assertStatements("fieldName.add(<g:Button>, 1, 2);", - "fieldName.add(<g:Label>);", "fieldName.add(<g:Label>, 10, 20);"); + "fieldName.add(<g:TextBox>);", "fieldName.add(<g:Label>, 10, 20);"); } private void assertStatements(String... expected) {
diff --git a/user/test/com/google/gwt/uibinder/test/LazyWidgetBuilderTest.gwt.xml b/user/test/com/google/gwt/uibinder/test/LazyWidgetBuilderTest.gwt.xml deleted file mode 100644 index 87eac8b..0000000 --- a/user/test/com/google/gwt/uibinder/test/LazyWidgetBuilderTest.gwt.xml +++ /dev/null
@@ -1,19 +0,0 @@ -<!-- Copyright 2011 Google Inc. --> -<!-- Licensed under the Apache License, Version 2.0 (the "License"); you --> -<!-- may not use this file except in compliance with the License. You may --> -<!-- may obtain a copy of the License at --> -<!-- --> -<!-- http://www.apache.org/licenses/LICENSE-2.0 --> -<!-- --> -<!-- Unless required by applicable law or agreed to in writing, software --> -<!-- distributed under the License is distributed on an "AS IS" BASIS, --> -<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or --> -<!-- implied. License for the specific language governing permissions and --> -<!-- limitations under the License. --> - -<!-- GWT UiBinder support. --> -<module> - <inherits name="com.google.gwt.user.User" /> - <inherits name="com.google.gwt.debug.Debug"/> - <set-configuration-property name="UiBinder.useLazyWidgetBuilders" value="true"/> -</module>
diff --git a/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.DomBasedUi.ui.xml b/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.DomBasedUi.ui.xml deleted file mode 100644 index 467f090..0000000 --- a/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.DomBasedUi.ui.xml +++ /dev/null
@@ -1,21 +0,0 @@ -<!-- --> -<!-- Copyright 2011 Google Inc. --> -<!-- Licensed under the Apache License, Version 2.0 (the "License"); you --> -<!-- may not use this file except in compliance with the License. You may --> -<!-- may obtain a copy of the License at --> -<!-- --> -<!-- http://www.apache.org/licenses/LICENSE-2.0 --> -<!-- --> -<!-- Unless required by applicable law or agreed to in writing, software --> -<!-- distributed under the License is distributed on an "AS IS" BASIS, --> -<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or --> -<!-- implied. License for the specific language governing permissions and --> -<!-- limitations under the License. --> -<ui:UiBinder - xmlns:ui='urn:ui:com.google.gwt.uibinder' - xmlns:demo='urn:import:com.google.gwt.uibinder.test.client' - > - <div> - <div ui:field='div'><demo:SafeHtmlObject ui:field='safeObject' name="Bob" /></div> - </div> -</ui:UiBinder>
diff --git a/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.java b/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.java deleted file mode 100644 index 1b65ba7..0000000 --- a/user/test/com/google/gwt/uibinder/test/client/LazyWidgetBuildersTest.java +++ /dev/null
@@ -1,54 +0,0 @@ -/* - * Copyright 2011 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.gwt.uibinder.test.client; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.dom.client.DivElement; -import com.google.gwt.dom.client.Element; -import com.google.gwt.junit.client.GWTTestCase; -import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.uibinder.client.UiField; - -/** - * Tests functionality guarded by UiBinder.useLazyWidgetBuilders. - */ -public class LazyWidgetBuildersTest extends GWTTestCase { - static class DomBasedUi { - interface Binder extends UiBinder<Element, DomBasedUi> { - } - - static final Binder binder = GWT.create(Binder.class); - - @UiField DivElement div; - @UiField SafeHtmlObject safeObject; - - DomBasedUi() { - binder.createAndBindUi(this); - } - } - - @Override - public String getModuleName() { - return "com.google.gwt.uibinder.test.LazyWidgetBuilderTest"; - } - - public void testSafeHtml() { - DomBasedUi domUi = new DomBasedUi(); - assertNotNull(domUi.safeObject); - assertEquals(domUi.safeObject.asString(), domUi.div.getInnerHTML()); - assertEquals("Hello <b>Bob</b>".toLowerCase(), domUi.div.getInnerHTML().toLowerCase()); - } -}
diff --git a/user/test/com/google/gwt/uibinder/test/client/SafeHtmlObject.java b/user/test/com/google/gwt/uibinder/test/client/SafeHtmlObject.java deleted file mode 100644 index 4f9b0d2..0000000 --- a/user/test/com/google/gwt/uibinder/test/client/SafeHtmlObject.java +++ /dev/null
@@ -1,35 +0,0 @@ -/* - * Copyright 2011 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.gwt.uibinder.test.client; - -import com.google.gwt.safehtml.shared.SafeHtml; - -/** - * Used by UiBinderTest. - */ -public class SafeHtmlObject implements SafeHtml { - private String name = "unset"; - - @Override - public String asString() { - return "Hello <b>" + name + "</b>"; - } - - public void setName(String name) { - // Bad - should escape this name - this.name = name; - } -}