Search in sources :

Example 6 with CompilationUnit

use of org.apache.sling.scripting.sightly.compiler.CompilationUnit in project sling by apache.

the class JavaClassBackendCompilerTest method sling_6094_1.

@Test
public void sling_6094_1() throws Exception {
    CompilationUnit compilationUnit = TestUtils.readScriptFromClasspath("/SLING-6094.1.html");
    JavaClassBackendCompiler backendCompiler = new JavaClassBackendCompiler();
    SightlyCompiler sightlyCompiler = new SightlyCompiler();
    sightlyCompiler.compile(compilationUnit, backendCompiler);
    ClassInfo classInfo = buildClassInfo("sling_6094_1");
    String source = backendCompiler.build(classInfo);
    StringWriter writer = new StringWriter();
    Bindings bindings = new SimpleBindings();
    bindings.put("img", new HashMap<String, Object>() {

        {
            put("attributes", new HashMap<String, String>() {

                {
                    put("v-bind:src", "replaced");
                }
            });
        }
    });
    RenderContext renderContext = buildRenderContext(bindings);
    render(writer, classInfo, source, renderContext, new SimpleBindings());
    String expectedOutput = IOUtils.toString(this.getClass().getResourceAsStream("/SLING-6094.1.output.html"), "UTF-8");
    assertEquals(expectedOutput, writer.toString());
}
Also used : CompilationUnit(org.apache.sling.scripting.sightly.compiler.CompilationUnit) RenderContext(org.apache.sling.scripting.sightly.render.RenderContext) JavaClassBackendCompiler(org.apache.sling.scripting.sightly.java.compiler.JavaClassBackendCompiler) StringWriter(java.io.StringWriter) HashMap(java.util.HashMap) SimpleBindings(javax.script.SimpleBindings) SightlyCompiler(org.apache.sling.scripting.sightly.compiler.SightlyCompiler) Bindings(javax.script.Bindings) SimpleBindings(javax.script.SimpleBindings) ClassInfo(org.apache.sling.scripting.sightly.java.compiler.ClassInfo) Test(org.junit.Test)

Aggregations

CompilationUnit (org.apache.sling.scripting.sightly.compiler.CompilationUnit)6 Bindings (javax.script.Bindings)4 JavaClassBackendCompiler (org.apache.sling.scripting.sightly.java.compiler.JavaClassBackendCompiler)4 StringWriter (java.io.StringWriter)3 SimpleBindings (javax.script.SimpleBindings)3 SightlyCompiler (org.apache.sling.scripting.sightly.compiler.SightlyCompiler)3 ClassInfo (org.apache.sling.scripting.sightly.java.compiler.ClassInfo)3 RenderContext (org.apache.sling.scripting.sightly.render.RenderContext)3 Test (org.junit.Test)3 InputStream (java.io.InputStream)2 InputStreamReader (java.io.InputStreamReader)2 Reader (java.io.Reader)2 HashMap (java.util.HashMap)1 ScriptException (javax.script.ScriptException)1 SlingBindings (org.apache.sling.api.scripting.SlingBindings)1 ScriptNameAware (org.apache.sling.scripting.api.ScriptNameAware)1 SightlyException (org.apache.sling.scripting.sightly.SightlyException)1 CompilationResult (org.apache.sling.scripting.sightly.compiler.CompilationResult)1 CompilerMessage (org.apache.sling.scripting.sightly.compiler.CompilerMessage)1 SourceIdentifier (org.apache.sling.scripting.sightly.impl.engine.compiled.SourceIdentifier)1