diff options
author | John Ahlroos <john@vaadin.com> | 2013-05-06 12:40:18 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2013-05-06 12:51:59 +0000 |
commit | 5388dce3783a05b9d2959cd5303bf13edcbf5d81 (patch) | |
tree | f50b80bcd0821e175cafbaa186bf653b5f5d9107 /theme-compiler/tests | |
parent | d09b586ecee2c178882c917546d6d6cb6600fa85 (diff) | |
download | vaadin-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.java | 83 |
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); + } + +} |