Author: limpbizkit
Date: Fri Oct 17 10:49:49 2008
New Revision: 643
Modified:
trunk/extensions/privatemodules/test/com/google/inject/privatemodules/PrivateModuleTest.java
Log:
New test case as recommended by Mike Ward.
http://code.google.com/p/google-guice/source/detail?r=633
Modified:
trunk/extensions/privatemodules/test/com/google/inject/privatemodules/PrivateModuleTest.java
==============================================================================
---
trunk/extensions/privatemodules/test/com/google/inject/privatemodules/PrivateModuleTest.java
(original)
+++
trunk/extensions/privatemodules/test/com/google/inject/privatemodules/PrivateModuleTest.java
Fri Oct 17 10:49:49 2008
@@ -25,6 +25,7 @@
import com.google.inject.Key;
import com.google.inject.Provider;
import com.google.inject.Provides;
+import com.google.inject.ProvisionException;
import com.google.inject.name.Named;
import static com.google.inject.name.Names.named;
import junit.framework.TestCase;
@@ -180,6 +181,42 @@
});
assertEquals("nested", injector.getInstance(String.class));
+ }
+
+ public void testNestedPrivateModulesWithSomeKeysUnexposed() {
+ Injector injector = Guice.createInjector(new PrivateModule() {
+ public void configurePrivateBindings() {
+ bind(String.class).annotatedWith(named("bound outer, exposed
outer")).toInstance("boeo");
+ expose(String.class).annotatedWith(named("bound outer, exposed
outer"));
+ bind(String.class).annotatedWith(named("bound outer, exposed
none")).toInstance("boen");
+ expose(String.class).annotatedWith(named("bound inner, exposed
both"));
+
+ install(new PrivateModule() {
+ public void configurePrivateBindings() {
+ bind(String.class).annotatedWith(named("bound inner, exposed
both")).toInstance("bieb");
+ expose(String.class).annotatedWith(named("bound inner, exposed
both"));
+ bind(String.class).annotatedWith(named("bound inner, exposed
none")).toInstance("bien");
+ }
+ });
+ }
+ });
+
+ assertEquals("boeo", injector.getInstance(
+ Key.get(String.class, named("bound outer, exposed outer"))));
+ assertEquals("bieb", injector.getInstance(
+ Key.get(String.class, named("bound inner, exposed both"))));
+
+ try {
+ injector.getInstance(Key.get(String.class, named("bound outer,
exposed none")));
+ fail();
+ } catch (ProvisionException expected) {
+ }
+
+ try {
+ injector.getInstance(Key.get(String.class, named("bound inner,
exposed none")));
+ fail();
+ } catch (ProvisionException expected) {
+ }
}
public void testDependenciesBetweenPrivateAndPublic() {
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/google-guice-dev?hl=en
-~----------~----~----~----~------~----~------~--~---