@Test public void shouldComputeIsMinimizeFlagOfDeepNestedDecoratedProcessor() { final ProcessorDecorator processor = new ProcessorDecorator( new ProcessorDecorator(new ProcessorDecorator(new JSMinProcessor()))); assertTrue(processor.isMinimize()); }
@Test public void shouldPreserveProcessorMetadataAfterTransform() { final ResourcePostProcessor postProcessor = new JSMinProcessor(); final ProcessorDecorator decorator = new ProcessorDecorator(postProcessor); assertTrue( Arrays.equals(new ResourceType[] {ResourceType.JS}, decorator.getSupportedResourceTypes())); assertTrue(decorator.isMinimize()); }
@Test public void shouldIdentifyProcessorSupport() { final SupportAwareProcessor supportAwareProcessor = mock(SupportAwareProcessor.class); final ProcessorDecorator decorator = new ProcessorDecorator(supportAwareProcessor); when(supportAwareProcessor.isSupported()).thenReturn(true); assertEquals(true, decorator.isSupported()); when(supportAwareProcessor.isSupported()).thenReturn(false); assertEquals(false, decorator.isSupported()); }
@Test public void shouldDecoratePostProcessor() { final String expected = "TestProcessor"; final ResourcePostProcessor postProcessor = new ResourcePostProcessor() { public void process(final Reader reader, final Writer writer) throws IOException {} @Override public String toString() { return expected; } }; final ProcessorDecorator decorator = new ProcessorDecorator(new ProcessorDecorator(new ProcessorDecorator(postProcessor))); assertEquals(expected, decorator.toString()); }
@Test public void shouldBeImportAwareForImportAwareProcessor() { final ProcessorDecorator decorator = new ProcessorDecorator(new ImportAwareProcessor()); assertTrue(decorator.isImportAware()); }
@Test public void shouldNotBeImportAwareForDefaultProcessor() { final ProcessorDecorator decorator = new ProcessorDecorator(mockProcessor); assertFalse(decorator.isImportAware()); }