Package de.agilecoders.wicket.less

Source Code of de.agilecoders.wicket.less.BootstrapLessTest

package de.agilecoders.wicket.less;

import com.github.sommeri.less4j.LessSource;
import de.agilecoders.wicket.webjars.WicketWebjars;
import org.apache.wicket.request.resource.IResourceReferenceFactory;
import org.apache.wicket.request.resource.ResourceReferenceRegistry;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.net.URL;

import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;

/**
* TODO miha: document class purpose
*
* @author miha
*/
public class BootstrapLessTest {

    private WicketTester tester;

    @Before
    public void before() {
        tester = new WicketTester(new TestApplication() {
            @Override
            public void init() {
                super.init();

                WicketWebjars.install(this);
                BootstrapLess.install(this);
            }
        });
    }

    @After
    public void after() {
        tester.destroy();
    }

    @Test
    // unignore after https://github.com/l0rdn1kk0n/wicket-webjars/issues/17
    public void importWebJars() throws Exception {
        LessCacheManager less = LessCacheManager.get();
        URL res = Thread.currentThread().getContextClassLoader().getResource("import.less");

        LessSource.URLSource lessSource = less.getLessSource(res, null);
        String css = less.getCss(lessSource);
        assertThat(css, is(equalTo(".rule {\n  background: #428bca;\n}\n")));
    }

    @Test
    public void importClasspath() throws Exception {
        LessCacheManager less = LessCacheManager.get();
        URL res = Thread.currentThread().getContextClassLoader().getResource("importClasspath.less");

        LessSource.URLSource lessSource = less.getLessSource(res, null);
        String css = less.getCss(lessSource);
        assertThat(css, is(equalTo(".classPathImported {\n  color: #333;\n}\n")));
    }

    @Test
    public void importPackage() throws Exception {
        LessCacheManager less = LessCacheManager.get();
        URL res = BootstrapLessTest.class.getResource("package-dependency-1.less");

        LessSource.URLSource lessSource = less.getLessSource(res, BootstrapLessTest.class.getName());
        String css = less.getCss(lessSource);
        assertThat(css, containsString("package1"));
        assertThat(css, containsString("package2"));
        assertThat(css, containsString("package3"));
    }

    @Test
    public void lessResourceReferenceFactoryIsInstalled() {
        ResourceReferenceRegistry registry = tester.getApplication().getResourceReferenceRegistry();
        IResourceReferenceFactory referenceFactory = registry.getResourceReferenceFactory();
        assertThat(referenceFactory, is(instanceOf(LessResourceReferenceFactory.class)));
    }
}
TOP

Related Classes of de.agilecoders.wicket.less.BootstrapLessTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.