summaryrefslogtreecommitdiffstats
path: root/theme-compiler/tests
diff options
context:
space:
mode:
authorJohn Ahlroos <john@vaadin.com>2013-05-06 12:40:18 +0300
committerVaadin Code Review <review@vaadin.com>2013-05-06 12:51:59 +0000
commit5388dce3783a05b9d2959cd5303bf13edcbf5d81 (patch)
treef50b80bcd0821e175cafbaa186bf653b5f5d9107 /theme-compiler/tests
parentd09b586ecee2c178882c917546d6d6cb6600fa85 (diff)
downloadvaadin-framework-5388dce3783a05b9d2959cd5303bf13edcbf5d81.tar.gz
vaadin-framework-5388dce3783a05b9d2959cd5303bf13edcbf5d81.zip
Fixed IllegalSyntaxException when using spaces in path #11782
Change-Id: I105b2835d44c94f00b847f342fd0a6e0ef571e97
Diffstat (limited to 'theme-compiler/tests')
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/resolvers/VaadinResolverTest.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/theme-compiler/tests/src/com/vaadin/sass/resolvers/VaadinResolverTest.java b/theme-compiler/tests/src/com/vaadin/sass/resolvers/VaadinResolverTest.java
new file mode 100644
index 0000000000..59b49888c2
--- /dev/null
+++ b/theme-compiler/tests/src/com/vaadin/sass/resolvers/VaadinResolverTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+/**
+ *
+ */
+package com.vaadin.sass.resolvers;
+
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+import java.lang.reflect.Method;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.sass.internal.resolver.VaadinResolver;
+
+public class VaadinResolverTest {
+
+ @Test
+ public void testPathNormalization() throws Exception {
+
+ VaadinResolver resolver = new VaadinResolver();
+
+ Method normalizeMethod = VaadinResolver.class.getDeclaredMethod(
+ "normalize", String.class);
+ normalizeMethod.setAccessible(true);
+
+ String identifier, result;
+
+ identifier = "a/b/../../../a b/b.scss";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("../a b/b.scss", result);
+
+ identifier = "./a/b/../c/d/.././e.scss";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("a/c/e.scss", result);
+
+ identifier = "/äåäåäääå/:;:;:;/???????/- -/e.scss";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("/äåäåäääå/:;:;:;/???????/- -/e.scss", result);
+
+ identifier = ".";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("", result);
+
+ identifier = "../..";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("../..", result);
+
+ identifier = "./../a.scss";
+ result = (String) normalizeMethod.invoke(resolver, identifier);
+ Assert.assertEquals("../a.scss", result);
+ }
+
+}