/*
 * 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.testcases.scss;

import java.net.URISyntaxException;
import java.net.URL;
import java.util.Collection;

import org.junit.runner.RunWith;

import com.vaadin.sass.testcases.scss.SassTestRunner.TestFactory;

@RunWith(SassTestRunner.class)
public class SassLangTestsBroken extends AbstractDirectoryScanningSassTests {

    @Override
    protected URL getResourceURL(String path) {
        return getResourceURLInternal(path);
    }

    private static URL getResourceURLInternal(String path) {
        URL url = SassLangTestsBroken.class.getResource("/sasslangbroken"
                + path);
        if (url == null) {
            throw new RuntimeException(
                    "Could not locate /sasslangbroken using classloader");
        }
        return url;
    }

    @TestFactory
    public static Collection<String> getScssResourceNames()
            throws URISyntaxException {
        return getScssResourceNames(getResourceURLInternal(""));
    }

}

@@ -738,22 +738,84 @@
 nit.
-runner.RunWith
+Assert;%0Aimport org.junit.runner.RunWith;%0Aimport org.w3c.css.sac.CSSException
 ;%0A%0Ai
@@ -1632,10 +1632,664 @@
 %0A    %7D%0A%0A
+    @Override%0A    public void compareScssWithCss(String scssResourceName) throws Exception %7B%0A        boolean success = false;%0A        try %7B%0A            super.compareScssWithCss(scssResourceName);%0A            success = true;%0A        %7D catch (CSSException e) %7B%0A            // this is an expected outcome%0A        %7D catch (AssertionError e) %7B%0A            // this is an expected outcome%0A        %7D%0A        if (success) %7B%0A            Assert.fail(%22Test %22%0A                    + scssResourceName%0A                    + %22 from sasslangbroken that was expected to fail has been fixed. Please move the corresponding CSS and SCSS files to sasslang.%22);%0A        %7D%0A    %7D%0A%0A
 %7D%0A

Make SassLangTestsBroken pass iff the CSS and SCSS do not match.