package com.jinhe.tss.core.util;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
public class MacrocodeCompilerTest extends TestCase {
public void testMacrocodeCompiler() {
String code = "<table id=\"${portlet.id}\" description=\"修饰器\">"
+ " <tr>"
+ " <td>#{title}</td>"
+ " </tr>"
+ " <tr> "
+ " <td>${js.content}</td>"
+ " </tr>"
+ " </table>";
Map<String, Object> macro = new HashMap<String, Object>();
macro.put("${portlet.id}", "1001");
macro.put("#{title}", new Object() {
public String toString() {
return "HTML5可以做五件事情, 超出你的想象";
}
});
macro.put("${d}", "|test");
macro.put("${js.content}", "作为下一代的网页语言,HTML5 拥有很多让人期待已久的新特性,它可以说是近十年来 Web 标准最巨大的飞跃。");
// System.out.println(MacrocodeCompiler.run(code, macro));
String result = "<table id=\"1001\" description=\"修饰器\">" +
" <tr>" +
" <td>HTML5可以做五件事情, 超出你的想象</td>" +
" </tr>" +
" <tr>" +
" <td>作为下一代的网页语言,HTML5 拥有很多让人期待已久的新特性,它可以说是近十年来 Web 标准最巨大的飞跃。</td>" +
" </tr>" +
" </table>";
assertEquals(result, MacrocodeCompiler.run(code, macro));
assertEquals("test|test", MacrocodeCompiler.run("test${d}", macro));
}
}