aboutsummaryrefslogtreecommitdiffstats
path: root/theme-compiler
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2013-10-22 09:12:59 +0300
committerLeif Åstrand <leif@vaadin.com>2013-10-22 09:12:59 +0300
commitd70961ff2539aabe99eea22683a8ae77efdc81e5 (patch)
treec3876e2266ace7e90d8dc82e35f22631e2ce29e5 /theme-compiler
parenta48370a761a6d0b6c54196da0defdb30b47a5bb1 (diff)
parentee809e5985d7a438e031c40bed160ac78ae8d0bc (diff)
downloadvaadin-framework-d70961ff2539aabe99eea22683a8ae77efdc81e5.tar.gz
vaadin-framework-d70961ff2539aabe99eea22683a8ae77efdc81e5.zip
Merge changes from origin/7.1
c7ae45c Validate that the connector is enabled before triggering actions for it (#12743) ce89a75 Created constants for tested browser versions (#12786) f9ea9b3 Allow running tests locally by overriding runLocally() (#12786) e70ba25 Added liferay module for building liferay.zip #12748 7c12694 Add sub directory support to sass test scanner (#12790) 39fdf66 Handle numbers in the same way if they do not have a unit (#12732) 6155d61 Disable fallback in a way compatible with Atmosphere JS 2.0.3 (#12241) f401595 Test for pushing large chunks of data (#12567) d41967d Skip compilation of TB2 tests if tests.tb2.skip is set 6c1ba81 Reverted button click() logic check (#12743) 779c8a0 Disable automated testing on Opera until issues are resolved (#12487, #12367, #12800) 962c1c3 Fix compilation error 7ee11a7 Remove unused test super class (#12786) a4211dc Resolve concurrency issue in running TB3 tests 20c28aa Fixed javadoc 0d36896 Add more hax to make test work with new Atmosphere JS (#12241) ed50200 Fix serialization issue (#12703) dd51b7f Added more exception handling to PushHandler (#12578, #11882) 6f76840 Sass variables can now start with underscore (#12716) ab5b20c Ticket #12727 - Panels get unnecessary scroll bars in WebKit when content is 100% wide. 361ad17 Fixed focus issue in TableMoveFocusWithSelectionTest (#12540) ee809e5 Revert broken fix and test (#12446) Change-Id: I71b6e3c2dc6b02845794df0934ba807d7ccac784
Diffstat (limited to 'theme-compiler')
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java26
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj2
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java40
-rw-r--r--theme-compiler/tests/resources/automatic/css/functions/abs.css11
-rw-r--r--theme-compiler/tests/resources/automatic/css/functions/ceil.css11
-rw-r--r--theme-compiler/tests/resources/automatic/css/functions/floor.css11
-rw-r--r--theme-compiler/tests/resources/automatic/css/functions/round.css11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/foo/_bar.scss (renamed from theme-compiler/tests/resources/automatic/scss/foo/bar.scss)0
-rw-r--r--theme-compiler/tests/resources/automatic/scss/functions/abs.scss11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/functions/ceil.scss11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/functions/floor.scss11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/functions/round.scss11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss2
-rw-r--r--theme-compiler/tests/resources/automatic/scss/nested-import.scss2
-rw-r--r--theme-compiler/tests/resources/automatic/scss/to-be-imported/_imported-file-contains-comments-in-last-line.scss (renamed from theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss)0
-rw-r--r--theme-compiler/tests/resources/automatic/scss/url-path.scss2
-rw-r--r--theme-compiler/tests/resources/automatic/scss/utf8-imported/_to-be-imported-scss-file-contains-utf8.scss (renamed from theme-compiler/tests/resources/automatic/scss/utf8-imported/to-be-imported-scss-file-contains-utf8.scss)0
-rw-r--r--theme-compiler/tests/resources/automatic/scss/utf8.scss2
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AbstractDirectoryScanningSassTests.java45
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/testcases/scss/AutomaticSassTests.java3
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTests.java3
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/testcases/scss/SassLangTestsBroken.java3
22 files changed, 158 insertions, 60 deletions
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
index 498e1a941b..af94de0f46 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
@@ -148,6 +148,22 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
return f;
}
+ /**
+ * Returns the float value as a string unless the value is an integer. In
+ * that case returns the integer value as a string.
+ *
+ * @return a string representing the value, either with or without decimals
+ */
+ public String getFloatOrInteger() {
+ float f = getFloatValue();
+ int i = (int) f;
+ if ((i) == f) {
+ return i + "";
+ } else {
+ return f + "";
+ }
+ }
+
public void setFloatValue(float f) {
this.f = f;
i = (int) f;
@@ -274,7 +290,7 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
text = Integer.toString(getIntegerValue(), 10);
break;
case LexicalUnit.SAC_REAL:
- text = getFloatValue() + "";
+ text = getFloatOrInteger();
break;
case LexicalUnit.SAC_EM:
case SCSSLexicalUnit.SAC_LEM:
@@ -295,13 +311,7 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
case LexicalUnit.SAC_HERTZ:
case LexicalUnit.SAC_KILOHERTZ:
case LexicalUnit.SAC_DIMENSION:
- float f = getFloatValue();
- int i = (int) f;
- if ((i) == f) {
- text = i + getDimensionUnitText();
- } else {
- text = f + getDimensionUnitText();
- }
+ text = getFloatOrInteger() + getDimensionUnitText();
break;
case LexicalUnit.SAC_URI:
text = "url(" + getStringValue() + ")";
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
index d563b739b0..871be2c4d0 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
@@ -559,7 +559,7 @@ TOKEN : /* basic tokens */
( <H> )? ( <H> )?
( [ " ", "\t" , "\n" , "\r", "\f" ] )? >
| < #ESCAPE : <UNICODE> | ( "\\" [ " "-"~","\200"-"\377" ] ) >
- | < #NMSTART : ("-")?[ "a"-"z"] | <NONASCII> | <ESCAPE> >
+ | < #NMSTART : ("-")?[ "a"-"z","_"] | <NONASCII> | <ESCAPE> >
| < #NMCHAR : ["a"-"z", "0"-"9", "-", "_"] | <NONASCII> | <ESCAPE> >
| < #STRINGCHAR : [ "\t"," ","!","#","$","%","&","("-"~" ]
| "\\\n" | "\\\r\n" | "\\\r" | "\\\f"
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
index bf4ebf5c06..224a8dbfc1 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
@@ -3259,7 +3259,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 162:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
if (kind > 103) {
kind = 103;
}
@@ -3310,10 +3310,10 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 38:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
jjCheckNAddStates(0, 3);
}
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
if (kind > 72) {
kind = 72;
}
@@ -3339,7 +3339,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 24:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
if (kind > 72) {
kind = 72;
}
@@ -3390,7 +3390,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 174:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
if (kind > 103) {
kind = 103;
}
@@ -3408,7 +3408,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 75:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
if (kind > 76) {
kind = 76;
}
@@ -3438,10 +3438,6 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 4:
- if ((0x7fffffe07fffffeL & l) != 0L) {
- jjCheckNAddStates(138, 140);
- }
- break;
case 5:
if ((0x7fffffe87fffffeL & l) != 0L) {
jjCheckNAddStates(138, 140);
@@ -3671,14 +3667,6 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 76:
- if ((0x7fffffe07fffffeL & l) == 0L) {
- break;
- }
- if (kind > 76) {
- kind = 76;
- }
- jjCheckNAddTwoStates(77, 78);
- break;
case 77:
if ((0x7fffffe87fffffeL & l) == 0L) {
break;
@@ -3898,7 +3886,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 108:
- if ((0x7fffffe07fffffeL & l) == 0L) {
+ if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
if (kind > 103) {
@@ -4586,7 +4574,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 267:
- if ((0x7fffffe07fffffeL & l) == 0L) {
+ if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
if (kind > 72) {
@@ -4595,12 +4583,12 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAddTwoStates(225, 226);
break;
case 268:
- if ((0x7fffffe07fffffeL & l) != 0L) {
+ if ((0x7fffffe87fffffeL & l) != 0L) {
jjCheckNAddStates(0, 3);
}
break;
case 269:
- if ((0x7fffffe07fffffeL & l) == 0L) {
+ if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
if (kind > 72) {
@@ -4809,14 +4797,6 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 333:
- if ((0x7fffffe07fffffeL & l) == 0L) {
- break;
- }
- if (kind > 95) {
- kind = 95;
- }
- jjCheckNAddTwoStates(334, 335);
- break;
case 334:
if ((0x7fffffe87fffffeL & l) == 0L) {
break;
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(""));
}