/** Ensure can load explicit {@link WoofTemplateExtensionSource}. */ public void testExplicitTemplateExtension() throws Exception { final HttpTemplateAutoWireSection template = this.createMock(HttpTemplateAutoWireSection.class); // Record initiating from source context this.recordInitateFromSourceContext(); MockImplicitWoofTemplateExtensionSourceService.reset("example"); // Record loading template this.recordReturn( this.app, this.app.addHttpTemplate("example", "WOOF/Template.html", Template.class), template); template.setTemplateSecure(false); // Record extending with explicit template extension this.recordTemplateExtension(MockExplicitWoofTemplateExtensionSource.class); this.recordReturn(template, template.getTemplateUri(), "URI"); // Record implicit template extensions this.recordImplicitTemplateExtensions(template, "example"); // Test this.replayMockObjects(); this.loader.loadWoofConfiguration( this.getConfiguration("explicit-template-extension.woof"), this.app, this.sourceContext); this.verifyMockObjects(); }
/** * Records implicit {@link WoofTemplateExtensionSource} on the {@link * HttpTemplateAutoWireSection}. * * @param template {@link HttpTemplateAutoWireSection}. * @param templateUri URI. */ private void recordImplicitTemplateExtensions( HttpTemplateAutoWireSection template, String templateUri) { // Record the template extension this.recordTemplateExtension(MockImplicitWoofTemplateExtensionSourceService.class); // Record obtain the template URI (ensure implicit used) this.recordReturn(template, template.getTemplateUri(), templateUri); }