mocktokenhandler.java

来自「OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布」· Java 代码 · 共 63 行

JAVA
63
字号
package com.opensymphony.module.sitemesh.html.tokenizer;import com.opensymphony.module.sitemesh.html.Tag;import com.opensymphony.module.sitemesh.html.Text;import junit.framework.Assert;class MockTokenHandler implements TokenHandler {    private StringBuffer expected = new StringBuffer();    private StringBuffer actual = new StringBuffer();    public void expectText(String tag) {        expected.append(tag);    }    public void expectTag(int type, String tag) {        expectTag(type, tag, new String[0]);    }    public void expectTag(int type, String tag, String[] attributes) {        expected.append("{{TAG : ").append(tag);        for (int i = 0; i < attributes.length; i+=2) {            expected.append(' ').append(attributes[i]).append("=\"").append(attributes[i + 1]).append('"');        }        expected.append(' ').append(typeAsString(type)).append("}}");    }    public boolean shouldProcessTag(String name) {        Assert.assertNotNull("Name should not be null", name);        return true;    }    public void tag(Tag tag) {        actual.append("{{TAG : ").append(tag.getName());        for (int i = 0; i < tag.getAttributeCount(); i++) {            actual.append(' ').append(tag.getAttributeName(i)).append("=\"").append(tag.getAttributeValue(i)).append('"');        }        actual.append(' ').append(typeAsString(tag.getType())).append("}}");    }    public void text(Text text) {        actual.append(text.getContents());    }    public void warning(String message, int line, int column) {        Assert.fail("Encountered error: " + message);    }    public void verify() {        Assert.assertEquals(expected.toString(), actual.toString());    }    private String typeAsString(int type) {        switch (type) {            case Tag.OPEN: return "*open*";            case Tag.CLOSE: return "*close*";            case Tag.EMPTY: return "*empty*";            default: return "*unknown*";        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?