testresourcedmoduledescriptor.java

来自「模块化您的应用系统」· Java 代码 · 共 62 行

JAVA
62
字号
/*
 * Created by IntelliJ IDEA.
 * User: Mike
 * Date: Jul 29, 2004
 * Time: 3:53:39 PM
 */
package com.opensymphony.tonic.descriptors;

import com.opensymphony.tonic.PluginParseException;
import com.opensymphony.tonic.impl.StaticPlugin;
import com.opensymphony.tonic.elements.ResourceDescriptor;
import junit.framework.TestCase;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;

import java.util.List;

public class TestResourcedModuleDescriptor extends TestCase
{
    public void testGetResourceDescriptor() throws DocumentException, PluginParseException
    {
        ResourcedModuleDescriptor descriptor = makeResourceModuleDescriptor();
        descriptor.init(new StaticPlugin(), DocumentHelper.parseText("<animal name=\"bear\" class=\"com.opensymphony.tonic.mock.MockBear\">" +
                "<resource type='velocity' name='view' location='foo' />" +
                "</animal>").getRootElement());

        assertNull(descriptor.getResourceDescriptor("foo", "bar"));
        assertNull(descriptor.getResourceDescriptor("velocity", "bar"));
        assertNull(descriptor.getResourceDescriptor("foo", "view"));
        assertEquals(new ResourceDescriptor(DocumentHelper.parseText("<resource type='velocity' name='view' location='foo' />").getRootElement()), descriptor.getResourceDescriptor("velocity", "view"));
    }

    public void testGetResourceDescriptorByType() throws DocumentException, PluginParseException
    {
        ResourcedModuleDescriptor descriptor = makeResourceModuleDescriptor();
        descriptor.init(new StaticPlugin(), DocumentHelper.parseText("<animal name=\"bear\" class=\"com.opensymphony.tonic.mock.MockBear\">" +
                "<resource type='velocity' name='view' location='foo' />" +
                "<resource type='velocity' name='input-params' location='bar' />" +
                "</animal>").getRootElement());

        final List resourceDescriptors = descriptor.getResourceDescriptors("velocity");
        assertNotNull(resourceDescriptors);
        assertEquals(2, resourceDescriptors.size());

        ResourceDescriptor resourceDescriptor = (ResourceDescriptor) resourceDescriptors.get(0);
        assertEquals(new ResourceDescriptor(DocumentHelper.parseText("<resource type='velocity' name='view' location='foo' />").getRootElement()), resourceDescriptor);

        resourceDescriptor = (ResourceDescriptor) resourceDescriptors.get(1);
        assertEquals(new ResourceDescriptor(DocumentHelper.parseText("<resource type='velocity' name='input-params' location='bar' />").getRootElement()), resourceDescriptor);
    }

    private ResourcedModuleDescriptor makeResourceModuleDescriptor()
    {
        ResourcedModuleDescriptor descriptor = new ResourcedModuleDescriptor() {
            public Object getModule()
            {
                return null;
            }
        };
        return descriptor;
    }
}

⌨️ 快捷键说明

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