Reviewers: rchandia, rjrjr,
Description:
Add a definitive test for enum properties in RequestFactory.
Issue 5448.
Patch by: bobv
Review by: rchandia,rjrjr
Please review this at http://gwt-code-reviews.appspot.com/1164801/show
Affected files:
M user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
M user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
Index:
user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
===================================================================
--- user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
(revision 9310)
+++ user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
(working copy)
@@ -515,6 +515,41 @@
finishTestAndReset();
}
});
+ }
+
+ /**
+ * Check default value, a newly-set value, and a null value.
+ */
+ public void testEnumProperty() {
+ delayTestFinish(DELAY_TEST_FINISH);
+ simpleFooRequest().findSimpleFooById(999L).fire(
+ new Receiver<SimpleFooProxy>() {
+ @Override
+ public void onSuccess(SimpleFooProxy response) {
+ assertEquals(SimpleEnum.FOO, response.getEnumField());
+ SimpleFooRequest ctx = simpleFooRequest();
+ response = ctx.edit(response);
+ response.setEnumField(SimpleEnum.BAR);
+ ctx.persistAndReturnSelf().using(response).fire(
+ new Receiver<SimpleFooProxy>() {
+ @Override
+ public void onSuccess(SimpleFooProxy response) {
+ assertEquals(SimpleEnum.BAR, response.getEnumField());
+ SimpleFooRequest ctx = simpleFooRequest();
+ response = ctx.edit(response);
+ response.setEnumField(null);
+ ctx.persistAndReturnSelf().using(response).fire(
+ new Receiver<SimpleFooProxy>() {
+ @Override
+ public void onSuccess(SimpleFooProxy response) {
+ assertNull(response.getEnumField());
+ finishTestAndReset();
+ }
+ });
+ }
+ });
+ }
+ });
}
public void testFetchEntity() {
Index: user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
===================================================================
--- user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
(revision 9310)
+++ user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
(working copy)
@@ -97,6 +97,8 @@
void setDoubleField(Double d);
+ void setEnumField(SimpleEnum value);
+
void setFloatField(Float f);
void setIntId(Integer intId);
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors