@Test
  public void transform() throws Exception {
    Resource mainCss = new ClassPathResource("test/main.css", getClass());
    Resource resource = this.transformerChain.transform(this.request, mainCss);
    TransformedResource transformedResource = (TransformedResource) resource;

    String expected =
        "\n"
            + "@import url(\"bar-11e16cf79faee7ac698c805cf28248d2.css\");\n"
            + "@import url('bar-11e16cf79faee7ac698c805cf28248d2.css');\n"
            + "@import url(bar-11e16cf79faee7ac698c805cf28248d2.css);\n\n"
            + "@import \"foo-e36d2e05253c6c7085a91522ce43a0b4.css\";\n"
            + "@import 'foo-e36d2e05253c6c7085a91522ce43a0b4.css';\n\n"
            + "body { background: url(\"images/image-f448cd1d5dba82b774f3202c878230b3.png\") }\n";

    String result = new String(transformedResource.getByteArray(), "UTF-8");
    result = StringUtils.deleteAny(result, "\r");
    assertEquals(expected, result);
  }
  @Test
  public void transformExtLinksNotAllowed() throws Exception {
    ResourceResolverChain resolverChain = Mockito.mock(DefaultResourceResolverChain.class);
    ResourceTransformerChain transformerChain =
        new DefaultResourceTransformerChain(
            resolverChain, Arrays.asList(new CssLinkResourceTransformer()));

    Resource externalCss = new ClassPathResource("test/external.css", getClass());
    Resource resource = transformerChain.transform(this.request, externalCss);
    TransformedResource transformedResource = (TransformedResource) resource;

    String expected =
        "@import url(\"http://example.org/fonts/css\");\n"
            + "body { background: url(\"file:///home/spring/image.png\") }";
    String result = new String(transformedResource.getByteArray(), "UTF-8");
    result = StringUtils.deleteAny(result, "\r");
    assertEquals(expected, result);

    Mockito.verify(resolverChain, Mockito.never())
        .resolveUrlPath("http://example.org/fonts/css", Arrays.asList(externalCss));
    Mockito.verify(resolverChain, Mockito.never())
        .resolveUrlPath("file:///home/spring/image.png", Arrays.asList(externalCss));
  }
 /**
  * Autogenerate the '<code>id</code>' attribute value for this tag.
  *
  * <p>The default implementation simply delegates to {@link #getName()}, deleting invalid
  * characters (such as "[" or "]").
  */
 protected String autogenerateId() throws JspException {
   return StringUtils.deleteAny(getName(), "[]");
 }