Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(22)

Unified Diff: test/com/google/gwt/inject/rebind/binding/BindConstantBindingTest.java

Issue 90085: Fixed enum binding support (issue #49) (Closed) SVN Base: http://google-gin.googlecode.com/svn/trunk/
Patch Set: Using getEnclosingClass Created 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side by-side-diff with in-line comments
Download patch
Index: test/com/google/gwt/inject/rebind/binding/BindConstantBindingTest.java
===================================================================
--- test/com/google/gwt/inject/rebind/binding/BindConstantBindingTest.java (revision 108)
+++ test/com/google/gwt/inject/rebind/binding/BindConstantBindingTest.java (working copy)
@@ -15,6 +15,7 @@
*/
package com.google.gwt.inject.rebind.binding;
+import com.google.gwt.inject.rebind.util.NameGenerator;
import com.google.gwt.inject.rebind.util.SourceWriteUtil;
import com.google.gwt.user.rebind.SourceWriter;
import com.google.inject.Key;
@@ -39,7 +40,7 @@
"return com.google.gwt.inject.rebind.binding.Color.Green;");
replay(utilMock);
- BindConstantBinding binding = new BindConstantBinding(utilMock);
+ BindConstantBinding binding = new BindConstantBinding(utilMock, new NameGenerator());
binding.setKeyAndInstance(colorKey, Color.Green);
assertTrue(binding.getRequiredKeys().getRequiredKeys().isEmpty());
@@ -49,6 +50,42 @@
verify(utilMock);
}
+ public void testInnerEnum() {
+ Key<Font> fontKey = Key.get(Font.class);
+ SourceWriteUtil utilMock = createMock(SourceWriteUtil.class);
+ SourceWriter writerMock = createMock(SourceWriter.class);
+
+ String signature = "";
+ utilMock.writeMethod(writerMock, signature,
+ "return com.google.gwt.inject.rebind.binding.BindConstantBindingTest.Font.Verdana;");
+ replay(utilMock);
+
+ BindConstantBinding binding = new BindConstantBinding(utilMock, new NameGenerator());
+ binding.setKeyAndInstance(fontKey, Font.Verdana);
+
+ binding.writeCreatorMethods(writerMock, signature);
+
+ verify(utilMock);
+ }
+
+ public void testInnerEnumWithCustomImplementation() {
+ Key<Font> fontKey = Key.get(Font.class);
+ SourceWriteUtil utilMock = createMock(SourceWriteUtil.class);
+ SourceWriter writerMock = createMock(SourceWriter.class);
+
+ String signature = "";
+ utilMock.writeMethod(writerMock, signature,
+ "return com.google.gwt.inject.rebind.binding.BindConstantBindingTest.Font.Arial;");
+ replay(utilMock);
+
+ BindConstantBinding binding = new BindConstantBinding(utilMock, new NameGenerator());
+ binding.setKeyAndInstance(fontKey, Font.Arial);
+
+ binding.writeCreatorMethods(writerMock, signature);
+
+ verify(utilMock);
+ }
+
public void testCharacter() {
Key<Character> charKey = Key.get(Character.class);
SourceWriteUtil utilMock = createMock(SourceWriteUtil.class);
@@ -60,7 +97,7 @@
utilMock.writeMethod(writerMock, signature, "return '" + value + "';");
replay(utilMock);
- BindConstantBinding binding = new BindConstantBinding(utilMock);
+ BindConstantBinding binding = new BindConstantBinding(utilMock, new NameGenerator());
binding.setKeyAndInstance(charKey, value);
assertTrue(binding.getRequiredKeys().getRequiredKeys().isEmpty());
@@ -81,7 +118,7 @@
utilMock.writeMethod(writerMock, signature, "return '\\'';");
replay(utilMock);
- BindConstantBinding binding = new BindConstantBinding(utilMock);
+ BindConstantBinding binding = new BindConstantBinding(utilMock, new NameGenerator());
binding.setKeyAndInstance(charKey, value);
assertTrue(binding.getRequiredKeys().getRequiredKeys().isEmpty());
@@ -90,4 +127,18 @@
verify(utilMock);
}
+
+ public enum Font {
+ Arial {
+
+ @Override public Font getAlternative() {
+ return Verdana;
+ }},
+ Verdana,
+ TimesNewRoman;
+
+ public Font getAlternative() {
+ return this;
+ }
+ }
}

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r497