use of org.apache.tapestry5.annotations.Mixin in project tapestry-5 by apache.
the class MutableComponentModelImplTest method mixin_name_conflict.
@Test
public void mixin_name_conflict() {
Resource r = mockResource();
Logger logger = mockLogger();
replay();
MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, logger, r, null, false, null);
MutableEmbeddedComponentModel fred = model.addEmbeddedComponent("fred", "Fred", COMPONENT_CLASS_NAME, false, null);
fred.addMixin("zip.zop.Zoom");
try {
fred.addMixin("zip.zop.Zoom");
unreachable();
} catch (IllegalArgumentException ex) {
assertEquals(ex.getMessage(), "Mixin zip.zop.Zoom (for component fred) has already been defined.");
}
// Make sure it wasn't actually added.
assertEquals(fred.getMixinClassNames(), Arrays.asList("zip.zop.Zoom"));
verify();
}
Aggregations