Skip to content

Commit

Permalink
WBRI-256
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@2769 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
pmuir committed Jun 5, 2009
1 parent fb48c54 commit bd78b81
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 1 deletion.
Expand Up @@ -189,7 +189,7 @@ public boolean isAssignableFrom(Set<? extends Type> types)
if (type instanceof Class)
{
Class<?> clazz = (Class<?>) type;
if (isAssignableFrom(clazz, Reflections.getActualTypeArguments(clazz)))
if (isAssignableFrom(clazz, new Type[0]))
{
return true;
}
Expand Down
@@ -0,0 +1,6 @@
package org.jboss.webbeans.test.unit.lookup;

public class Bar
{

}
@@ -0,0 +1,6 @@
package org.jboss.webbeans.test.unit.lookup;

public class Baz
{

}
11 changes: 11 additions & 0 deletions tests/src/test/java/org/jboss/webbeans/test/unit/lookup/Foo.java
@@ -0,0 +1,11 @@
package org.jboss.webbeans.test.unit.lookup;

public class Foo extends FooBase<Bar>
{

public String getName()
{
return "foo";
}

}
@@ -0,0 +1,11 @@
package org.jboss.webbeans.test.unit.lookup;

public class FooBase<T>
{

public String getName()
{
return "foobase";
}

}
@@ -0,0 +1,14 @@
package org.jboss.webbeans.test.unit.lookup;

import javax.enterprise.inject.Produces;

public class FooProducer
{

@Produces @Special
public FooBase<Baz> produce()
{
return new FooBase<Baz>();
}

}
@@ -0,0 +1,22 @@
package org.jboss.webbeans.test.unit.lookup;

import javax.enterprise.inject.Current;

public class LookupFoo
{

@Current Foo foo;

@Special FooBase<Baz> foobaz;

public Foo getFoo()
{
return foo;
}

public FooBase<Baz> getFoobaz()
{
return foobaz;
}

}
@@ -0,0 +1,16 @@
package org.jboss.webbeans.test.unit.lookup;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.enterprise.inject.BindingType;

@BindingType
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
public @interface Special
{

}
@@ -0,0 +1,19 @@
package org.jboss.webbeans.test.unit.lookup;

import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.annotations.Test;

@Artifact
public class Wbri256Test extends AbstractWebBeansTest
{

@Test
public void testParameterizedInjection()
{
LookupFoo lookupFoo = getCurrentManager().getInstanceByType(LookupFoo.class);
assert lookupFoo.getFoo().getName().equals("foo");
assert lookupFoo.getFoobaz().getName().equals("foobase");
}

}

0 comments on commit bd78b81

Please sign in to comment.