package org.jooby.assets; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.google.common.collect.ImmutableMap; import com.typesafe.config.ConfigFactory; public class LessTest { @Test public void basic() throws Exception { assertEquals(".class {\n" + " width: 2;\n" + "}\n", new Less().process("/css/x.js", ".class { width: (1 + 1) }", ConfigFactory.empty())); } @Test public void sourceMap() throws Exception { assertEquals(".class {\n" + " width: 2;\n" + "}\n" + "/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9jc3MveC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUFTLFFBQUEifQ== */", new Less().set("sourceMap", ImmutableMap.of("sourceMapFileInline", true)) .process("/css/x.js", ".class { width: (1 + 1) }", ConfigFactory.empty())); } @Test public void importDirective() throws Exception { assertEquals(".foo {\n" + " background: #900;\n" + "}\n" + ".class {\n" + " width: 2;\n" + "}\n" + "", new Less().process("/css/x.js", "@import \"foo.less\";\n.class { width: (1 + 1) }", ConfigFactory.empty())); } @Test public void importDirectiveCurrentDir() throws Exception { assertEquals(".foo {\n" + " background: #900;\n" + "}\n" + ".class {\n" + " width: 2;\n" + "}\n" + "", new Less().process("/css/x.js", "@import \"bar.less\";\n.class { width: (1 + 1) }", ConfigFactory.empty())); } @Test(expected = AssetException.class) public void error() throws Exception { assertEquals("", new Less().process("/css/x.js", ".class { width (1 + 1) }", ConfigFactory.empty())); } }