" <Require feature='foo' views='default'/>" +
"</ModulePrefs>" +
"<Content view='default' type='html'/>" +
"</Module>";
Gadget gadget = makeGadgetWithSpec(gadgetXml);
reset(featureRegistry);
FeatureRegistry.LookupResult lr = createMock(FeatureRegistry.LookupResult.class);
expect(lr.getResources()).andReturn(ImmutableList.<FeatureResource>of());
replay(lr);
expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
eq(ImmutableSet.<String>of()), eq(Lists.<String>newLinkedList())))
.andReturn(lr);
final FeatureRegistry.LookupResult lr2 = createMock(FeatureRegistry.LookupResult.class);
expect(lr2.getResources()).andReturn(ImmutableList.<FeatureResource>of());
replay(lr2);
assertTrue(gadget.getDirectFeatureDeps().contains("core"));
assertTrue(gadget.getDirectFeatureDeps().contains("foo"));
assertEquals(gadget.getDirectFeatureDeps().size(),2);
Lists.newLinkedList();
expect(featureRegistry.getFeatureResources(same(gadget.getContext()),
eq(Lists.newLinkedList(gadget.getDirectFeatureDeps())), eq(Lists.<String>newLinkedList())))
.andAnswer(new IAnswer<FeatureRegistry.LookupResult>() {
@SuppressWarnings("unchecked")
public FeatureRegistry.LookupResult answer() throws Throwable {
List<String> unsupported = (List<String>)getCurrentArguments()[2];
unsupported.add("foo");