⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtagutils.java

📁 structs源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

    // use servlet mapping (extension mapping)
    //  -- path as "/"
    // (this is probably not a realistic use case)
    public void testString_getActionMappingURL_String_String_PageContext_boolean3() {
        pageContext.getServletContext().setAttribute(Globals.SERVLET_KEY, "*.do");

        ActionConfig actionConfig = new ActionConfig();

        actionConfig.setParameter("/foo");
        moduleConfig.addActionConfig(actionConfig);

        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/mycontext", "/baz", null, null);

        assertEquals("Check path /foo",
            tagutils.getActionMappingURL("/", pageContext), "/mycontext/.do");
    }

    // use servlet mapping (path mapping)
    public void testString_getActionMappingURL_String_String_PageContext_boolean4() {
        pageContext.getServletContext().setAttribute(Globals.SERVLET_KEY,
            "/myapp/*");

        ActionConfig actionConfig = new ActionConfig();

        actionConfig.setParameter("/foo");
        moduleConfig.addActionConfig(actionConfig);

        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/mycontext", "/baz", null, null);

        assertEquals("Check path /foo",
            tagutils.getActionMappingURL("/foo", pageContext),
            "/mycontext/myapp/foo");
    }

    // use servlet mapping (path mapping)
    //  -- with params
    public void testString_getActionMappingURL_String_String_PageContext_boolean5() {
        pageContext.getServletContext().setAttribute(Globals.SERVLET_KEY,
            "/myapp/*");

        ActionConfig actionConfig = new ActionConfig();

        actionConfig.setParameter("/foo");
        moduleConfig.addActionConfig(actionConfig);

        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/mycontext", "/baz?foo=bar", null, null);

        assertEquals("Check path /foo",
            tagutils.getActionMappingURL("/foo?foo=bar", pageContext),
            "/mycontext/myapp/foo?foo=bar");
    }

    // use servlet mapping (path mapping)
    //  -- using "/" as mapping
    public void testString_getActionMappingURL_String_String_PageContext_boolean6() {
        pageContext.getServletContext().setAttribute(Globals.SERVLET_KEY, "/");

        ActionConfig actionConfig = new ActionConfig();

        actionConfig.setParameter("/foo");
        moduleConfig.addActionConfig(actionConfig);

        request.setAttribute(Globals.MODULE_KEY, moduleConfig);
        request.setPathElements("/mycontext", "/baz", null, null);

        assertEquals("Check path /foo",
            tagutils.getActionMappingURL("/", pageContext), "/mycontext/");
    }

    // ------------------------------------------ getActionMessages()
    // -- using ActionMessages
    public void testActionMessages_getActionMessages_PageContext_String1() {
        ActionMessages actionMessages = new ActionMessages();

        actionMessages.add("prop", new ActionMessage("key.key"));
        request.setAttribute("messages", actionMessages);

        try {
            ActionMessages messages =
                tagutils.getActionMessages(pageContext, "messages");

            assertNotNull("messages should not be null", messages);
            assertNotNull("messages prop should not be null",
                messages.get("prop"));

            String val = null;
            int i = 0;

            for (Iterator iter = messages.get("prop"); iter.hasNext();) {
                ActionMessage message = (ActionMessage) iter.next();

                val = message.getKey();
                i++;
            }

            assertEquals("only 1 message", i, 1);
            assertEquals("messages prop should match", val, "key.key");
        } catch (JspException e) {
            fail(e.getMessage());
        }
    }

    // -- using ActionErrors
    public void testActionMessages_getActionMessages_PageContext_String2() {
        ActionMessages actionMessages = new ActionMessages();

        actionMessages.add("prop", new ActionMessage("key.key"));
        request.setAttribute("messages", actionMessages);

        try {
            ActionMessages messages =
                tagutils.getActionMessages(pageContext, "messages");

            assertNotNull("messages should not be null", messages);
            assertNotNull("messages prop should not be null",
                messages.get("prop"));

            String val = null;
            int i = 0;

            for (Iterator iter = messages.get("prop"); iter.hasNext();) {
                ActionMessage message = (ActionMessage) iter.next();

                val = message.getKey();
                i++;
            }

            assertEquals("only 1 message", i, 1);
            assertEquals("messages prop should match", val, "key.key");
        } catch (JspException e) {
            fail(e.getMessage());
        }
    }

    // -- using String
    public void testActionMessages_getActionMessages_PageContext_String3() {
        request.setAttribute("foo", "bar");

        try {
            ActionMessages messages =
                tagutils.getActionMessages(pageContext, "foo");

            assertNotNull("messages should not be null", messages);
            assertNotNull("messages prop should not be null",
                messages.get("prop"));

            String key = null;
            int i = 0;

            for (Iterator iter = messages.get(ActionMessages.GLOBAL_MESSAGE);
                iter.hasNext();) {
                ActionMessage message = (ActionMessage) iter.next();

                key = message.getKey();

                Object[] values = message.getValues();

                assertNull(values);
                i++;
            }

            assertEquals("only 1 message", i, 1);
            assertEquals("key should match", key, "bar");
        } catch (JspException e) {
            fail(e.getMessage());
        }
    }

    // -- using String Array
    public void testActionMessages_getActionMessages_PageContext_String4() {
        String[] vals = new String[] { "bar", "baz" };

        request.setAttribute("foo", vals);

        try {
            ActionMessages messages =
                tagutils.getActionMessages(pageContext, "foo");

            assertNotNull("messages should not be null", messages);
            assertNotNull("messages prop should not be null",
                messages.get("prop"));

            String key = null;
            int i = 0;

            for (Iterator iter = messages.get(ActionMessages.GLOBAL_MESSAGE);
                iter.hasNext();) {
                ActionMessage message = (ActionMessage) iter.next();

                key = message.getKey();

                Object[] values = message.getValues();

                assertNull((values));
                assertEquals("1st key should match", key, vals[i]);
                i++;
            }

            assertEquals("only 1 message", i, 2);
        } catch (JspException e) {
            fail(e.getMessage());
        }
    }

    // String Array (thrown JspException)
    public void testActionMessages_getActionMessages_PageContext_String5() {
        request.setAttribute("foo", new MockFormBean());

        ActionMessages messages = null;

        try {
            messages = tagutils.getActionMessages(pageContext, "foo");
            fail("should have thrown JspException");
        } catch (JspException e) {
            assertNull("messages should be null", messages);
        }
    }

    // ActionMessages (thrown Exception)
    // TODO -- currently this does not hit the line for caught Exception
    public void testActionMessages_getActionMessages_PageContext_String6() {
        ActionMessages actionMessages = new ActionMessages();

        actionMessages.add("prop", new ActionMessage("key.key"));
        request.setAttribute("messages", actionMessages);

        try {
            ActionMessages messages =
                tagutils.getActionMessages(pageContext, "does-not-exist");

            assertNotNull("messages should not be null", messages);
            assertNotNull("messages prop should not be null",
                messages.get("prop"));

            for (Iterator iter = messages.get("prop"); iter.hasNext();) {
                fail("Should not have any messages for does-not-exist");
            }
        } catch (JspException e) {
            fail(e.getMessage());
        }
    }

    // ----public ModuleConfig getModuleConfig(PageContext pageContext)
    public void testModuleConfig_getModuleConfig_PageContext() {
        MockServletConfig mockServletConfig = new MockServletConfig();
        ModuleConfig moduleConfig = new ModuleConfigImpl("");
        MockServletContext mockServletContext = new MockServletContext();
        MockHttpServletRequest mockHttpServletRequest =
            new MockHttpServletRequest();
        MockHttpServletResponse mockHttpServletResponse =
            new MockHttpServletResponse();

        mockServletConfig.setServletContext(mockServletContext);

        MockPageContext mockPageContext =
            new MockPageContext(mockServletConfig, mockHttpServletRequest,
                mockHttpServletResponse);

        ModuleConfig foundModuleConfig = null;

        try {
            foundModuleConfig = tagutils.getModuleConfig(mockPageContext);
            fail("Expected ModuleConfig to not be found");
        } catch (NullPointerException ignore) {
            // expected result
        }

        mockHttpServletRequest.setAttribute(Globals.MODULE_KEY, moduleConfig);

        mockPageContext.getServletContext().setAttribute(Globals.MODULE_KEY,
            mockPageContext);

        foundModuleConfig = tagutils.getModuleConfig(mockPageContext);
        assertNotNull(foundModuleConfig);
    }

    // -- public Locale getUserLocale(PageContext pageContext, String locale)
    public void testLocale_getUserLocale_PageContext_String() {
        request.setLocale(Locale.ENGLISH);
        assertEquals(tagutils.getUserLocale(pageContext, ""), Locale.ENGLISH);

        request.setLocale(Locale.CANADA);
        assertEquals(tagutils.getUserLocale(pageContext, ""), Locale.CANADA);
    }

    // -- public boolean isXhtml(PageContext pageContext)
    public void test_boolean_isXhtml_PageContext() {
        assertFalse(tagutils.isXhtml(pageContext));
        pageContext.setAttribute(Globals.XHTML_KEY, "true");

        assertTrue(tagutils.isXhtml(pageContext));
    }

    // -- public Object lookup(PageContext pageContext, String name, String scopeName)
    // lookup with null scope
    public void test_Object_lookup_PageContext_String__String1() {
        pageContext.setAttribute("bean", new MockFormBean());

        try {
            Object val = tagutils.lookup(pageContext, "bean", null);

            assertNotNull((val));
        } catch (JspException e) {
            fail("bean not found:" + e.getMessage());
        }
    }

    // lookup with page scope
    public void test_Object_lookup_PageContext_String__String2() {
        pageContext.setAttribute("bean", new MockFormBean());

        try {
            Object val = tagutils.lookup(pageContext, "bean", "page");

            assertNotNull((val));
        } catch (JspException e) {
            fail("bean not found:" + e.getMessage());
        }
    }

    // lookup with invalid scope
    // -- (where an exception is thrown)
    public void test_Object_lookup_PageContext_String__String3() {
        pageContext.setAttribute("bean", new MockFormBean());

        Object val = null;

        try {
            val = tagutils.lookup(pageContext, "bean", "invalid");
            fail("invalid scope :");
        } catch (JspException e) {
            assertNull((val));
        }
    }

    // try to get the call to throw an IllegalAccessException
    public void test_Object_lookup_PageContext_String_String_String1() {
        //        page.setAttribute("bean", new MockFormBean());
        //        Object val = null;
        //        try {
        //            val = tagutils.lookup(page, "bean", "throwIllegalAccessException");
        //            fail("should have thrown exception");
        //        } catch (JspException e) {
        //            assertNull(val);
        //        }
    }

    // try to get the call to throw an IllegalArgumentException
    public void test_Object_lookup_PageContext_String_String_String2() {
        pageContext.setAttribute("bean", new MockFormBean());

        Object val = null;

        try {
            val = tagutils.lookup(pageContext, "bean", "doesNotExistMethod",
                    "page");
            fail("should have thrown exception");
        } catch (JspException e) {
            assertNull(val);
        }
    }

    // try to get the call to throw an NoSuchMethodException
    public void test_Object_lookup_PageContext_String_String_String3() {
        pageContext.setAttribute("bean", new MockFormBean());

        Object val = null;

     

⌨️ 快捷键说明

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