/* * Copyright (C) 2013-2016 The Rythm Engine project * for LICENSE and other details see: * https://github.com/rythmengine/rythmengine */ package org.rythmengine.issue; import models.Foo; import org.junit.Test; import org.rythmengine.Rythm; import org.rythmengine.TestBase; import org.rythmengine.conf.RythmConfigurationKey; import org.rythmengine.extension.ICodeType; import java.util.Arrays; /** * Test Github Issues */ public class GhIssueTest70_140 extends TestBase { boolean debug=false; @Test public void test70() { String s = Rythm.getTemplate("Good @when, @title @name") .__setRenderArg("when", "afternoon") .__setRenderArg("title", "Mr") .__setRenderArg("name", "Rythm") .render(); assertEquals("Good afternoon, Mr Rythm", s); } @Test public void test116() { t = "PlayRythm Demo - @get(\"title\")"; s = r(t); eq("PlayRythm Demo - "); } @Test public void test117() { System.getProperties().put("default.template_lang.impl", ICodeType.DefImpl.CSV); t = "@for(\"FirstName,LastName,Email\"){@(_)@_sep}"; s = r(t); eq("FirstName,LastName,Email"); } @Test public void test120() { t = "@def String x(boolean x) {if (x) {return \"x\";} else {return \"y\";}}@x(true)"; s = r(t); eq("x"); } @Test public void test122() { System.getProperties().put(RythmConfigurationKey.DEFAULT_CODE_TYPE_IMPL.getKey(), ICodeType.DefImpl.HTML); t = "@args String src;<script src='@src'></script><script src='@src'></script>"; s = r(t, "/js/abc"); eq("<script src='/js/abc'></script><script src='/js/abc'></script>"); t = "@args models.Foo foo;<script src='@foo.bar()._x()'></script>"; s = r(t, new Foo()); eq("<script src=''></script>"); } @Test public void test123() { t = "@args models.Foo foo;@foo.bar()._x()"; s = r(t, new Foo()); eq(""); } @Test public void test132() { t = "@args String s;@s.length()"; Object nullObject=null; s = r(t, nullObject); eq("0"); s = r(t); eq("0"); } @Test public void test137() { t = "@{String s = \"abc\"}\n@s @assign(foo){bar}@foo"; s = r(t); eq("\nabc bar"); } @Test public void test139() { t = "@args Object @1;@if (@1) \n{true} \nelse\n{false}"; s = r(t, true); eq("true"); s = r(t, "false"); eq("false"); t = "@for(int i = 0; i < 1; ++i).join()\n{\n@i\n}"; s = r(t); eq("\n0\n"); t = "@args List l;@for(l).join()\n{@_}"; s = r(t, Arrays.asList("1,2".split(","))); eq("\n1,2"); } // @Test // public void test140() { // t = "@args Date d;@d.format(\"yyyy-MM-dd\"):@args Number n;@n.format()"; // s = r(t, null, null); // // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // String refValue = sdf.format(new Date(0)) + ":0"; // eq(refValue); // } }