Reviewers: rdayal,
Please review this at http://gwt-code-reviews.appspot.com/1619803/
Affected files:
M user/src/com/google/gwt/user/client/ui/ValueListBox.java
M user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
Index: user/src/com/google/gwt/user/client/ui/ValueListBox.java
diff --git a/user/src/com/google/gwt/user/client/ui/ValueListBox.java
b/user/src/com/google/gwt/user/client/ui/ValueListBox.java
index
4fffa9a2b448df0dbf3d3294f0eb8206e6877590..3174f50927f837a7b41df11b7cb67148d3971e8e
100644
--- a/user/src/com/google/gwt/user/client/ui/ValueListBox.java
+++ b/user/src/com/google/gwt/user/client/ui/ValueListBox.java
@@ -74,6 +74,7 @@ public class ValueListBox<T> extends Composite implements
});
}
+ @Override
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<T>
handler) {
return addHandler(handler, ValueChangeEvent.getType());
}
@@ -81,6 +82,7 @@ public class ValueListBox<T> extends Composite implements
/**
* Returns a {@link TakesValueEditor} backed by the ValueListBox.
*/
+ @Override
public TakesValueEditor<T> asEditor() {
if (editor == null) {
editor = TakesValueEditor.of(this);
@@ -88,10 +90,12 @@ public class ValueListBox<T> extends Composite
implements
return editor;
}
+ @Override
public T getValue() {
return value;
}
+ @Override
public void setAcceptableValues(Collection<T> newValues) {
values.clear();
valueKeyToIndex.clear();
@@ -109,10 +113,12 @@ public class ValueListBox<T> extends Composite
implements
* Set the value and display it in the select element. Add the value to
the
* acceptable set if it is not already there.
*/
+ @Override
public void setValue(T value) {
setValue(value, false);
}
+ @Override
public void setValue(T value, boolean fireEvents) {
if (value == this.value || (this.value != null &&
this.value.equals(value))) {
return;
@@ -144,6 +150,9 @@ public class ValueListBox<T> extends Composite
implements
}
private void updateListBox() {
+ if (value == null) {
+ return;
+ }
Object key = keyProvider.getKey(value);
Integer index = valueKeyToIndex.get(key);
if (index == null) {
Index: user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
diff --git a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
index
bc6384e3e268de3a1dcfbcf0f6aa6a789bfe2860..3343e9238d838b53b3bac4c121e400b5c8c5fc8c
100644
--- a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
@@ -65,7 +65,7 @@ public class ValueListBoxTest extends GWTTestCase {
return "com.google.gwt.user.User";
}
- public void xx_testExtraValueSet() { // TODO(rjrjr) Strange failures on
firefox
+ public void testExtraValueSet() {
Foo[] values = new Foo[] {new Foo("able"), new Foo("baker")};
Foo baz = new Foo("baz");
@@ -91,7 +91,7 @@ public class ValueListBoxTest extends GWTTestCase {
assertEquals(renderer.render(barFoo), elm.getValue());
}
- public void xx_testNormalSet() { // TODO(rjrjr) Strange failures on
firefox
+ public void testNormalSet() {
Foo[] values = new Foo[] {new Foo("able"), new Foo("baker")};
subject.setAcceptableValues(Arrays.asList(values));
@@ -104,7 +104,7 @@ public class ValueListBoxTest extends GWTTestCase {
assertEquals(2, getSelect().getLength());
}
- public void xx_testNormalSetWithKeyProvider() { // TODO(rjrjr) Strange
failures on firefox
+ public void testNormalSetWithKeyProvider() {
gwtTearDown(); // Tear down the usual test subject
KeyProvider keyProvider = new KeyProvider();
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors