📄 baseeventtest.java.svn-base
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */package org.apache.pluto.testsuite.test.jsr286.event;import java.lang.reflect.Method;import javax.portlet.ActionRequest;import javax.portlet.ActionResponse;import javax.portlet.PortletRequest;import javax.portlet.StateAwareResponse;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.pluto.testsuite.TestResult;import org.apache.pluto.testsuite.annotations.DefaultTestPhase;import org.apache.pluto.testsuite.annotations.TestPhase;import org.apache.pluto.testsuite.test.AbstractReflectivePortletTest;@DefaultTestPhase(PortletRequest.EVENT_PHASE)public abstract class BaseEventTest extends AbstractReflectivePortletTest { private int numMethodsCache = -1; protected Log LOG = LogFactory.getLog(getClass()); @TestPhase(PortletRequest.ACTION_PHASE) public TestResult checkFireEventsFromActionPhase(ActionRequest request, ActionResponse response) { tally(response); TestResult result = new TestResult(); result.setReturnCode(TestResult.UNDEFINED); result.setDescription("Fire several events to test processing." + " Be sure to check to Companion portlet to make sure" + " that all tests are correctly run."); result.setSpecPLT("15.2.3"); fireEvents(request, response); return result; } /* @TestPhase(PortletRequest.RENDER_PHASE) public TestResult checkCorrectNumberOfMethods(RenderRequest request) { TestResult result = new TestResult(); result.setDescription("Check to make sure that all of the test " + "methods were triggered. More accurately, checks to " + "make sure that all of the methods that are capable " + "of accepting a StateAwareResponse have called the " + "tally() method during this request."); int actual = getTally(request); int expected = getNumberOfMethodsThatShouldRun(request); if (actual == expected) { result.setReturnCode(TestResult.PASSED); } else { result.setReturnCode(TestResult.FAILED); result.setDescription("Expected " + expected + " test methods " + "to run, but actually " + actual + " ran."); } return result; } */ protected int getNumberOfMethodsThatShouldRun(PortletRequest request) { if (numMethodsCache == -1) { Class<?> clazz = getClass(); for (Method m : clazz.getMethods()) { if (m.getName().startsWith("check") && m.getReturnType().equals(TestResult.class)) { for (Class<?> paramType : m.getParameterTypes()) { if (StateAwareResponse.class .isAssignableFrom(paramType)) { numMethodsCache++; } } } } } return numMethodsCache; } protected void tally(StateAwareResponse response) { // Eventually will track how many test methods run... // Maybe should move to the AbstractReflectivePortletTest class? } protected abstract void fireEvents( ActionRequest request, ActionResponse response); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -