diff options
Diffstat (limited to 'theme-compiler/tests')
19 files changed, 129 insertions, 21 deletions
diff --git a/theme-compiler/tests/resources/automatic/css/functions/abs.css b/theme-compiler/tests/resources/automatic/css/functions/abs.css new file mode 100644 index 0000000000..3c43804a13 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/functions/abs.css @@ -0,0 +1,11 @@ +.foo { + a: 0; + b: 12.51; + c: 1.1px; + d: 12; + e: 12px; + f: 12.9999; + g: 12.9999em; + h: 13.0001; + i: 13.0001%; +}
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/css/functions/ceil.css b/theme-compiler/tests/resources/automatic/css/functions/ceil.css new file mode 100644 index 0000000000..9956ff3612 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/functions/ceil.css @@ -0,0 +1,11 @@ +.foo { + a: 0; + b: -12; + c: -1px; + d: 12; + e: 12px; + f: 13; + g: 13em; + h: 14; + i: 14%; +}
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/css/functions/floor.css b/theme-compiler/tests/resources/automatic/css/functions/floor.css new file mode 100644 index 0000000000..f96e99d809 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/functions/floor.css @@ -0,0 +1,11 @@ +.foo { + a: 0; + b: -13; + c: -2px; + d: 12; + e: 12px; + f: 12; + g: 12em; + h: 13; + i: 13%; +}
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/css/functions/round.css b/theme-compiler/tests/resources/automatic/css/functions/round.css new file mode 100644 index 0000000000..72d9a8596d --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/functions/round.css @@ -0,0 +1,11 @@ +.foo { + a: 0; + b: -13; + c: -1px; + d: 12; + e: 12px; + f: 13; + g: 13em; + h: 13; + i: 13%; +}
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/foo/bar.scss b/theme-compiler/tests/resources/automatic/scss/foo/_bar.scss index 326d34232d..326d34232d 100644 --- a/theme-compiler/tests/resources/automatic/scss/foo/bar.scss +++ b/theme-compiler/tests/resources/automatic/scss/foo/_bar.scss diff --git a/theme-compiler/tests/resources/automatic/scss/functions/abs.scss b/theme-compiler/tests/resources/automatic/scss/functions/abs.scss new file mode 100644 index 0000000000..91946f0556 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/functions/abs.scss @@ -0,0 +1,11 @@ +.foo { +a: abs(0); +b: abs(-12.51); +c: abs(-1.1px); +d: abs(12); +e: abs(12px); +f: abs(12.9999); +g: abs(12.9999em); +h: abs(-13.0001); +i: abs(-13.0001%); +} diff --git a/theme-compiler/tests/resources/automatic/scss/functions/ceil.scss b/theme-compiler/tests/resources/automatic/scss/functions/ceil.scss new file mode 100644 index 0000000000..ad7ceed4b4 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/functions/ceil.scss @@ -0,0 +1,11 @@ +.foo { +a: ceil(0); +b: ceil(-12.51); +c: ceil(-1.1px); +d: ceil(12); +e: ceil(12px); +f: ceil(12.9999); +g: ceil(12.9999em); +h: ceil(13.000001); +i: ceil(13.000001%); +} diff --git a/theme-compiler/tests/resources/automatic/scss/functions/floor.scss b/theme-compiler/tests/resources/automatic/scss/functions/floor.scss new file mode 100644 index 0000000000..a10f1b4fc1 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/functions/floor.scss @@ -0,0 +1,11 @@ +.foo { +a: floor(0); +b: floor(-12.51); +c: floor(-1.1px); +d: floor(12); +e: floor(12px); +f: floor(12.9999); +g: floor(12.9999em); +h: floor(13.000001); +i: floor(13.000001%); +} diff --git a/theme-compiler/tests/resources/automatic/scss/functions/round.scss b/theme-compiler/tests/resources/automatic/scss/functions/round.scss new file mode 100644 index 0000000000..3f1fa06aec --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/functions/round.scss @@ -0,0 +1,11 @@ +.foo { +a: round(0); +b: round(-12.51); +c: round(-1.1px); +d: round(12); +e: round(12px); +f: round(12.9999); +g: round(12.9999em); +h: round(13.000001); +i: round(13.000001%); +} diff --git a/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss b/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss index 41adc908ed..8292d4efe3 100644 --- a/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss +++ b/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss @@ -1,4 +1,4 @@ -@import "to-be-imported/imported-file-contains-comments-in-last-line.scss"; +@import "to-be-imported/_imported-file-contains-comments-in-last-line.scss"; .foo{ foo: $foo; }
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/nested-import.scss b/theme-compiler/tests/resources/automatic/scss/nested-import.scss index 605d64a13a..df720a5584 100644 --- a/theme-compiler/tests/resources/automatic/scss/nested-import.scss +++ b/theme-compiler/tests/resources/automatic/scss/nested-import.scss @@ -1,3 +1,3 @@ .foo { - @import "foo/bar.scss"; + @import "foo/_bar.scss"; }
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss b/theme-compiler/tests/resources/automatic/scss/to-be-imported/_imported-file-contains-comments-in-last-line.scss index 16244f2bfd..16244f2bfd 100644 --- a/theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss +++ b/theme-compiler/tests/resources/automatic/scss/to-be-imported/_imported-file-contains-comments-in-last-line.scss diff --git a/theme-compiler/tests/resources/automatic/scss/url-path.scss b/theme-compiler/tests/resources/automatic/scss/url-path.scss index 0cc954bfb4..6903d389b5 100644 --- a/theme-compiler/tests/resources/automatic/scss/url-path.scss +++ b/theme-compiler/tests/resources/automatic/scss/url-path.scss @@ -1 +1 @@ -@import "foo/bar.scss";
\ No newline at end of file +@import "foo/_bar.scss";
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/utf8-imported/to-be-imported-scss-file-contains-utf8.scss b/theme-compiler/tests/resources/automatic/scss/utf8-imported/_to-be-imported-scss-file-contains-utf8.scss index f8a08a4a96..f8a08a4a96 100644 --- a/theme-compiler/tests/resources/automatic/scss/utf8-imported/to-be-imported-scss-file-contains-utf8.scss +++ b/theme-compiler/tests/resources/automatic/scss/utf8-imported/_to-be-imported-scss-file-contains-utf8.scss diff --git a/theme-compiler/tests/resources/automatic/scss/utf8.scss b/theme-compiler/tests/resources/automatic/scss/utf8.scss index b568674073..251d6e6513 100644 --- a/theme-compiler/tests/resources/automatic/scss/utf8.scss +++ b/theme-compiler/tests/resources/automatic/scss/utf8.scss @@ -1,4 +1,4 @@ @charset "UTF-8"; -@import "utf8-imported/to-be-imported-scss-file-contains-utf8"; +@import "utf8-imported/_to-be-imported-scss-file-contains-utf8"; .bar {content: "\1f4c5";} .raw_utf {content: "📈";}
\ No newline at end of file diff --git a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AbstractDirectoryScanningSassTests.java b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AbstractDirectoryScanningSassTests.java index 40da6179f6..21edde0c17 100644 --- a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AbstractDirectoryScanningSassTests.java +++ b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AbstractDirectoryScanningSassTests.java @@ -19,7 +19,6 @@ package com.vaadin.sass.testcases.scss; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FilenameFilter; import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; @@ -36,28 +35,43 @@ import com.vaadin.sass.testcases.scss.SassTestRunner.FactoryTest; public abstract class AbstractDirectoryScanningSassTests { public static Collection<String> getScssResourceNames(URL directoryUrl) - throws URISyntaxException { + throws URISyntaxException, IOException { List<String> resources = new ArrayList<String>(); - for (File scssFile : getScssFiles(directoryUrl)) { - resources.add(scssFile.getName()); + for (String scssFile : getScssFiles(directoryUrl)) { + resources.add(scssFile); } return resources; } - private static File[] getScssFiles(URL directoryUrl) - throws URISyntaxException { + private static List<String> getScssFiles(URL directoryUrl) + throws URISyntaxException, IOException { URL sasslangUrl = directoryUrl; File sasslangDir = new File(sasslangUrl.toURI()); File scssDir = new File(sasslangDir, "scss"); Assert.assertTrue(scssDir.exists()); - return scssDir.listFiles(new FilenameFilter() { + List<File> scssFiles = new ArrayList<File>(); + addScssFilesRecursively(scssDir, scssFiles); - @Override - public boolean accept(File dir, String name) { - return name.endsWith(".scss"); + List<String> scssRelativeNames = new ArrayList<String>(); + for (File f : scssFiles) { + String relativeName = f.getCanonicalPath().substring( + scssDir.getCanonicalPath().length() + 1); + scssRelativeNames.add(relativeName); + } + return scssRelativeNames; + } + + private static void addScssFilesRecursively(File scssDir, + List<File> scssFiles) { + for (File f : scssDir.listFiles()) { + if (f.isDirectory()) { + addScssFilesRecursively(f, scssFiles); + } else if (f.getName().endsWith(".scss") + && !f.getName().startsWith("_")) { + scssFiles.add(f); } - }); + } } protected abstract URL getResourceURL(String path); @@ -69,7 +83,7 @@ public abstract class AbstractDirectoryScanningSassTests { File cssFile = getCssFile(scssFile); referenceCss = IOUtils.toString(new FileInputStream(cssFile)); ScssStylesheet scssStylesheet = ScssStylesheet.get(scssFile - .getAbsolutePath()); + .getCanonicalPath()); scssStylesheet.compile(); String parsedCss = scssStylesheet.toString(); @@ -88,6 +102,9 @@ public abstract class AbstractDirectoryScanningSassTests { css = css.replaceAll("^[\n\r\t ]*", ""); // remove trailing whitespace css = css.replaceAll("[\n\r\t ]*$", ""); + css = css.replaceAll(";", ";\n"); + css = css.replaceAll("\\{", "\\{\n"); + css = css.replaceAll("}", "}\n"); return css; } @@ -103,7 +120,7 @@ public abstract class AbstractDirectoryScanningSassTests { return new File(res.toURI()); } - private File getCssFile(File scssFile) { - return new File(scssFile.getAbsolutePath().replace("scss", "css")); + private File getCssFile(File scssFile) throws IOException { + return new File(scssFile.getCanonicalPath().replace("scss", "css")); } } diff --git a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AutomaticSassTests.java b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AutomaticSassTests.java index 4134c564f9..66e0bedac0 100644 --- a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AutomaticSassTests.java +++ b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AutomaticSassTests.java @@ -15,6 +15,7 @@ */ package com.vaadin.sass.testcases.scss; +import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; import java.util.Collection; @@ -37,7 +38,7 @@ public class AutomaticSassTests extends AbstractDirectoryScanningSassTests { @TestFactory public static Collection<String> getScssResourceNames() - throws URISyntaxException { + throws URISyntaxException, IOException { return getScssResourceNames(getResourceURLInternal("")); } diff --git a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTests.java b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTests.java index 4b8aada524..a8c9e80a3a 100644 --- a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTests.java +++ b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTests.java @@ -15,6 +15,7 @@ */ package com.vaadin.sass.testcases.scss; +import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; import java.util.Collection; @@ -42,7 +43,7 @@ public class SassLangTests extends AbstractDirectoryScanningSassTests { @TestFactory public static Collection<String> getScssResourceNames() - throws URISyntaxException { + throws URISyntaxException, IOException { return getScssResourceNames(getResourceURLInternal("")); } diff --git a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTestsBroken.java b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTestsBroken.java index 6b812a6940..0656565c20 100644 --- a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTestsBroken.java +++ b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTestsBroken.java @@ -15,6 +15,7 @@ */ package com.vaadin.sass.testcases.scss; +import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; import java.util.Collection; @@ -45,7 +46,7 @@ public class SassLangTestsBroken extends AbstractDirectoryScanningSassTests { @TestFactory public static Collection<String> getScssResourceNames() - throws URISyntaxException { + throws URISyntaxException, IOException { return getScssResourceNames(getResourceURLInternal("")); } |