dev@javaserverfaces.java.net

Seeking Review: regression test harness with WAB test

From: Ed Burns <edward.burns_at_oracle.com>
Date: Mon, 28 Feb 2011 13:29:07 -0800

Introduce regression testing area, and support for WAB OSGi modules to test system http://java.net/jira/browse/JAVASERVERFACES-1800


SECTION: Modified Files
----------------------------
M common/ant/common.xml

- define properties relating to regression test directory

M common/ant/glassfishV3.1_no_cluster/container.xml
M common/ant/glassfishV3.1/container.xml

- support for initializing the GlassFish 3.1 container for OSGi deployment

- support for deploying OSGi WAB modules.

M jsf-ri/build-tests.xml

- include regression test results in report

M jsf-ri/systest/src/com/sun/faces/render/MessageRenderTestCase.java
M jsf-ri/systest/src/com/sun/faces/render/OutputScriptStyleTestCase.java
M jsf-ri/systest/src/com/sun/faces/render/SelectStarTestCase.java
M jsf-ri/systest/src/com/sun/faces/render/CommandButtonTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsf2jsp/Jsf2JspTestCase.java
M jsf-ri/systest/src/com/sun/faces/event/VerifyBuildBeforeRestoreTestCase.java
M jsf-ri/systest/src/com/sun/faces/event/DynamicAddTestCase.java
M jsf-ri/systest/src/com/sun/faces/event/ValueChangeListenerCalledTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxRedirectTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventAttributeTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestMultiRenderTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxBadXMLTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagResolveTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestScriptTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxAllKeywordTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxMultiformTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxEchoTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxSelectTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagWrappingTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxMessageTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventWrappingTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxInsertDeleteTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxEvalTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxTableTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxErrorTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxRerenderOtherFormTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxIncludedTextTestCase.java
M jsf-ri/systest/src/com/sun/faces/ajax/AjaxAttrsTestCase.java
M jsf-ri/systest/src/com/sun/faces/groovy/GroovyTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTargetNotFoundTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/KeepMessagesTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/ImplicitFacetTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/UIRepeatTestCase.java
M jsf-ri/systest/src/com/sun/faces/facelets/csetTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/SelectManyMultiFormTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/MissingViewTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/TlvTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ViewRootPhaseListenerTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ViewTagTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ForEachTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ConverterTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkNoFormTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/MissingActionListenerMethodTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/SelectItemEscapeTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JstlIntegrationTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase2.java
M jsf-ri/systest/src/com/sun/faces/jsptest/FormInputTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/InvalidateSessionTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/FormElTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ListenerTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ValidatorTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/ValueChangeListenerTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/IdRefTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/TagIvarTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/LocaleTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkOnClickTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/SelectComponentValueTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/SetPropertyTestCase.java
M jsf-ri/systest/src/com/sun/faces/pathtest/PathTestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/ResourceDependencyComponentTestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCaseWithEE6Dependencies.java
M jsf-ri/systest/src/com/sun/faces/composite/ValueChangeListenerSetPropertyActionListener01TestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelComponentTestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/DefaultActionTestCase.java
M jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelActionListenerComponentTestCase.java
M jsf-ri/systest/src/com/sun/faces/component/CompositeMetaDataTestCase.java
M jsf-ri/systest/src/com/sun/faces/component/GetClientIdELTestCase.java
M jsf-ri/systest/src/com/sun/faces/component/ComponentTestCase.java
D jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
D jsf-ri/systest/src/com/sun/faces/htmlunit/SimpleTesterTestCase.java
M jsf-ri/systest/src/com/sun/faces/annotation/AnnotatedComponentsTestCase.java
M jsf-ri/systest/src/com/sun/faces/methodref/MethodRefTestCase.java
M jsf-ri/systest/src/com/sun/faces/methodref/TagAttributeListenerMethodExpressionNoArgTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/http/HttpMethodTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/implicitnav/ImplicitNavigationTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/ResourceRelocationTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/SelectOneHideNoSelectionTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/ComponentMiscTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/DataTableTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/tags/EventTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/lifecycle/ManagedBeanLifecycleAnnotationTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/FlashMessagesTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/CheckboxTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/composite/behavior/CompositeBehaviorTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/composite/CompositeAttributeTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/composite/MultiActionComponentTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/composite/JarPackagedCompositeComponentTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/SelectOneManyEnumTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/FlashReaperTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/dynamic1757/Issue1757TestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/view/xml/ViewXmlTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/NavigationTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/PGridColumnClassesTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/state/IsSavingStateTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/state/DynamicStateTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/FlashViewParamTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/RenderKitsTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/ForEachFaceletsTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/DuplicateIds04TestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/projectstage/FormOmittedTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/projectstage/ProjectStageTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/SelectManyCollectionTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/interweaving/InterweavingTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/regressions/RegressionsTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/subview/SubviewTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/config/ConfigTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/converter/ConverterTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/jsp/managed/ManagedTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/viewparameters/ViewParametersTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/LinkTypeAttributeTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/ConditionalNavigationTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/el/ELTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/OutputTargetsTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/SelectOneValueExpressionHideNoSelectionTestCase.java
M jsf-ri/systest/src/com/sun/faces/systest/resources/ResourceBundleELResolverTestCase.java
M jsf-ri/systest/build-tests.xml
M jsf-ri/systest-per-webapp/invalid-mapping/src/java/com/sun/faces/systest/InvalidMappingTestCase.java
M jsf-ri/systest-per-webapp/injection/src/java/com/sun/faces/systest/InjectionTestCase.java
M jsf-ri/systest-per-webapp/request-char-encoding-no-session/src/java/com/sun/faces/systest/NoSessionCharEncTestCase.java
M jsf-ri/systest-per-webapp/nested-datatables/src/java/com/sun/faces/systest/NestedDatatablesTestCase.java
M jsf-ri/systest-per-webapp/replace-statemanager/src/java/com/sun/faces/systest/ReplaceStateManagerTestCase.java
M jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java
M jsf-ri/systest-per-webapp/replace-variableresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java
M jsf-ri/systest-per-webapp/suppress-xml-decl/src/java/com/sun/faces/systest/SuppressXmlDeclTestCase.java
M jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
M jsf-ri/systest-per-webapp/disable-bean-validator/src/java/com/sun/faces/systest/DisableBeanValidatorTestCase.java
M jsf-ri/systest-per-webapp/annotation-restrictions/src/java/com/sun/faces/systest/AnnotationProcessingTestCase.java
M jsf-ri/systest-per-webapp/write-attribute-script-disabled/src/java/com/sun/faces/systest/WriteAttributeScriptDisabledTestCase.java
M jsf-ri/systest-per-webapp/never-unwrap-exceptions/src/java/com/sun/faces/systest/NeverUnwrapExceptionsTestCase.java
M jsf-ri/systest-per-webapp/formOmittedTrinidad/src/java/com/sun/faces/systest/FormOmittedTrinidadTestCase.java
M jsf-ri/systest-per-webapp/view-expired/src/java/com/sun/faces/systest/ViewExpiredExceptionTestCase.java
M jsf-ri/systest-per-webapp/clientside-statesaving/src/java/com/sun/faces/systest/clientside/AjaxMultiformTestCase.java
M jsf-ri/systest-per-webapp/string-converter/src/java/com/sun/faces/systest/StringConverterTestCase.java
M jsf-ri/systest-per-webapp/converter-property-editor/src/java/com/sun/faces/systest/ConverterPropertyEditorTestCase.java
M jsf-ri/systest-per-webapp/disable-unicode-escaping/src/java/com/sun/faces/systest/UnicodeTestCase.java
M jsf-ri/systest-per-webapp/resource-locale-prefix/src/java/com/sun/faces/systest/ResourceLocalePrefixTestCase.java
M jsf-ri/systest-per-webapp/late-bindings/src/java/com/sun/faces/systest/LateBindingTestCase.java
M jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java
M jsf-ri/systest-per-webapp/replace-variableresolver/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java
M jsf-ri/systest-per-webapp/characterCombat/src/java/characterCombat/CharacterCombatTestCase.java
M jsf-ri/systest-per-webapp/jar-ordering/src/java/com/sun/faces/systest/JarOrderingTestCase.java
M jsf-ri/systest-per-webapp/core-tags/src/java/com/sun/faces/systest/CoreTagsTestCase.java
M jsf-ri/systest-per-webapp/groovy/src/java/com/sun/faces/systest/GroovyTestCase.java
M jsf-ri/systest-per-webapp/document-ordering/src/java/com/sun/faces/systest/DocumentOrderingTestCase.java
M jsf-ri/systest-per-webapp/absolute-ordering/src/java/com/sun/faces/systest/AbsoluteOrderingTestCase.java
M jsf-ri/systest-per-webapp/write-attribute-script-enabled/src/java/com/sun/faces/systest/WriteAttributeScriptEnabledTestCase.java
M jsf-ri/systest-per-webapp/myfaces-uidata-component-state-test/src/java/com/sun/faces/systest/myfaces_uidata_component_state_test/MyFacesUIDataTestCase.java
M jsf-ri/systest-per-webapp/jsp-flash/src/java/com/sun/faces/systest/JspFlashTestCase.java
M jsf-ri/systest-per-webapp/add-elresolver-and-replace-variableresolver-programmatically/src/java/com/sun/faces/systest/AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase.java
M jsf-ri/systest-per-webapp/replace-variableresolver-and-add-elresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase.java
M jsf-ri/systest-per-webapp/flash/src/java/com/sun/faces/systest/FlashTestCase.java
M jsf-ri/systest-per-webapp/build-tests.xml
M jsf-ri/systest-per-webapp/replace-vdl/src/java/com/sun/faces/systest/replacevdl/ReplaceViewDeclarationLanguageTestCase.java
M jsf-ri/systest-per-webapp/wcag-datatable/src/java/com/sun/faces/systest/WcagDataTableTestCase.java
M jsf-ri/systest-per-webapp/process-as-jspx/src/java/com/sun/faces/systest/ProcessAsJspxTestCase.java
M jsf-ri/systest-per-webapp/replace-lifecycle/src/java/com/sun/faces/systest/ReplaceLifecycleTestCase.java
M jsf-ri/systest-per-webapp/empty-string-as-null/src/java/com/sun/faces/systest/EmptyStringAsNullTestCase.java
M jsf-ri/systest-per-webapp/bogus-render-kit-id/src/java/com/sun/faces/systest/render/BogusRenderKitIdTestCase.java
M jsf-ri/systest-per-webapp/nested-loadbundles/src/java/com/sun/faces/systest/NestedLoadBundlesTestCase.java
M jsf-ri/systest-per-webapp/replace-application/src/java/com/sun/faces/systest/ReplaceApplicationTestCase.java
M jsf-ri/systest-per-webapp/property-resolver-jsp/src/java/com/sun/faces/systest/PropertyResolverJspTestCase.java

- Instead of using AbstractTestCase, use HtmlUnitFacesTestCase from
  jsf-extensions-test-time.jar.

M jsf-ri/systest/build-tests.xml
M jsf-ri/systest-per-webapp/build-tests.xml

- Move html.classpath up to common.xml

M build.xml

- add regression.test.dir to call.modules macro.

M lib/jsf-extensions-test-time.jar

- New implementation of HtmlUnitFacesTestCase.


A common/ant/test-app.xml
A jsf-test
A jsf-test/GLASSFISH-11636
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java/beans
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java/beans/Bean.java
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources/META-INF
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources/META-INF/faces-config.xml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/pom.xml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill/face
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill/face/readme.txt
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/resources
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/resources/log4j.properties
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java/beans
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java/ndx
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java/ndx/bill
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java/ndx/bill/face
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/java/ndx/bill/face/system
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages.properties
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages_ru.properties
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/log4j.properties
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/i_gf_11636.xhtml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/index.jsp
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/pages
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/pages/login.xhtml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/faces-config.xml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/web.xml
A jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/pom.xml
A jsf-test/GLASSFISH-11636/build.xml
A jsf-test/build.xml

D jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
D jsf-ri/systest/src/com/sun/faces/htmlunit/SimpleTesterTestCase.java

- These have been moved into jsf-extensions-test-time.jar


SECTION: Diffs
----------------------------
Index: common/ant/common.xml
===================================================================
--- common/ant/common.xml (revision 8876)
+++ common/ant/common.xml (working copy)
@@ -80,6 +80,7 @@
     <property name="api.dir" value="${jsf.build.home}/jsf-api"/>
     <property name="mvn.api.dir" value="${api.dir}/build/mvn" />
     <property name="impl.dir" value="${jsf.build.home}/jsf-ri"/>
+ <property name="regression.test.dir" value="${jsf.build.home}/jsf-test"/>
     <property name="mvn.impl.dir" value="${jsf.build.home}/jsf-ri/build/mvn"/>
     <property name="tools.dir" value="${jsf.build.home}/jsf-tools"/>
     <property name="demo.dir" value="${jsf.build.home}/jsf-demo"/>
@@ -87,6 +88,8 @@
               value="${demo.dir}/dist/spec-snapshot" />
     <property name="impl.test.results.dir" value="${impl.dir}/testresults"/>
     <property name="api.test.results.dir" value="${api.dir}/testresults"/>
+ <property name="regression.test.results.dir"
+ value="${regression.test.dir}/build/testresults" />
 
     <!-- Artifacts of interest -->
     <property name="jsf-api.jar" value="${api.dir}/build/lib/jsf-api.jar"/>
@@ -245,6 +248,13 @@
         <path refid="commons.path"/>
     </path>
 
+ <!-- HtmlUnit client classpath -->
+ <path id="html.classpath">
+ <pathelement location="${basedir}/build/classes"/>
+ <path refid="htmlunit.runtime.classpath"/>
+ <path refid="jsf.test.jar.classpath"/>
+ </path>
+
     <!-- Common Targets -->
 
     <target name="discover.container.version"
Index: common/ant/glassfishV3.1_no_cluster/container.xml
===================================================================
--- common/ant/glassfishV3.1_no_cluster/container.xml (revision 8876)
+++ common/ant/glassfishV3.1_no_cluster/container.xml (working copy)
@@ -66,6 +66,9 @@
         <attribute name="use-virtual-servers"
                    description="If true, deploy to the virtual servers."
                    default="false"/>
+ <attribute name="osgi"
+ description="If true, deploy with --type osgi."
+ default="false"/>
         <sequential>
             <condition property="exec.name" value="cmd.exe">
                 <os family="windows"/>
@@ -105,10 +108,23 @@
             </if>
             <property name="use-virtual-servers-value" value="" />
             <echo message="use-virtual-servers-value: ${use-virtual-servers-value}" />
+ <if>
+ <equals arg1="@{osgi}"
+ casesensitive="false" trim="true"
+ arg2="true" />
+ <then>
+ <sequential>
+ <property name="osgi-value" value="--type osgi" />
+ </sequential>
+ </then>
+ </if>
+ <property name="osgi-value" value="" />
+ <echo message="osgi-value: ${osgi-value}" />
             <exec executable="${exec.name}" failonerror="true">
                 <arg line="${exec.arg.1}"/>
                 <arg line="deploy"/>
                 <arg line="${use-virtual-servers-value}"/>
+ <arg line="${osgi-value}"/>
                 <arg line="--user ${glassfish.admin.user}"/>
                 <arg line="--passwordfile ${glassfish.password.file}"/>
                 <arg line="--host ${glassfish.admin.host}"/>
@@ -264,6 +280,34 @@
       <delete.virtual.servers />
     </target>
 
+ <target name="container.init.osgi"
+ description="Configure GlassFish 3.1 for OSGi WAB deployment">
+ <echo>
+--------- Configuring GlassFish 3.1 for OSGi WAB deployment
+ </echo>
+ <container.start failonerror="false" />
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="false">
+ <arg line="delete-jvm-options"/>
+ <arg line="--target server-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
+ </exec>
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="false">
+ <arg line="delete-jvm-options"/>
+ <arg line="--target server-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
+ </exec>
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="true">
+ <arg line="create-jvm-options"/>
+ <arg line="--target server-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
+ </exec>
+ <container.stop />
+ </target>
+
+
     <target name="container.start"
             description="Start the GlassFish container">
         <var name="create-virtual-server-value" value="false" />
@@ -330,8 +374,10 @@
     <macrodef name="container.start"
             description="Start the GlassFish container">
         <attribute name="create-virtual-server" default="false"/>
+ <attribute name="failonerror" default="true"/>
         <sequential>
- <start.domain create-virtual-server="@{create-virtual-server}"/>
+ <start.domain failonerror="@{failonerror}"
+ create-virtual-server="@{create-virtual-server}"/>
         </sequential>
     </macrodef>
 
@@ -355,6 +401,7 @@
     <!-- 'PRIVATE' targets -->
     <macrodef name="start.domain">
         <attribute name="create-virtual-server" default="false"/>
+ <attribute name="failonerror" default="true"/>
         <sequential>
             <echo>
 
@@ -365,7 +412,7 @@
                 <os family="unix"/>
                 <then>
                     <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="start-domain"/>
                         <arg line="--user ${glassfish.admin.user}"/>
                         <arg line="${glassfish.domain}"/>
@@ -373,23 +420,10 @@
                     <waitfor>
                         <http url="http://${container.host}:${container.port}"/>
                     </waitfor>
-
- <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
- <arg line="delete-jvm-options"/>
- <arg line="--target server-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
- </exec>
- <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
- <arg line="create-jvm-options"/>
- <arg line="--target server-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
- </exec>
-
                 </then>
                 <else>
                     <exec executable="${container.home}/bin/asadmin.bat"
+ failonerror="@{failonerror}"
                           spawn="true">
                         <arg line="start-domain"/>
                         <arg line="--user ${glassfish.admin.user}"/>
@@ -399,13 +433,13 @@
                         <http url="http://${container.host}:${container.port}"/>
                     </waitfor>
                     <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="delete-jvm-options"/>
                         <arg line="--target server-config"/>
                         <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
                     </exec>
                     <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="create-jvm-options"/>
                         <arg line="--target server-config"/>
                         <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
Index: common/ant/glassfishV3.1/container.xml
===================================================================
--- common/ant/glassfishV3.1/container.xml (revision 8876)
+++ common/ant/glassfishV3.1/container.xml (working copy)
@@ -80,6 +80,9 @@
         <attribute name="use-virtual-servers"
                    description="If true, deploy to the virtual servers."
                    default="false"/>
+ <attribute name="osgi"
+ description="If true, deploy with --type osgi."
+ default="false"/>
         <sequential>
             <condition property="exec.name" value="cmd.exe">
                 <os family="windows"/>
@@ -111,10 +114,23 @@
             </condition>
             <property name="target" value="" />
             <property name="availabilityenabled" value="" />
+ <if>
+ <equals arg1="@{osgi}"
+ casesensitive="false" trim="true"
+ arg2="true" />
+ <then>
+ <sequential>
+ <property name="osgi-value" value="--type osgi" />
+ </sequential>
+ </then>
+ </if>
+ <property name="osgi-value" value="" />
+ <echo message="osgi-value: ${osgi-value}" />
             <exec executable="${exec.name}" failonerror="true">
                 <arg line="${exec.arg.1}"/>
                 <arg line="--port ${glassfish.custom.admin.port}"/>
                 <arg line="deploy"/>
+ <arg line="${osgi-value}"/>
                 <arg line="${availabilityenabled}"/>
                 <arg line="${target}"/>
                 <arg line="@{artifact}"/>
@@ -291,7 +307,7 @@
 --------- Starting container, create-domain: ${create-domain-value} create-cluster: ${create-cluster-value}
         </echo>
         <container.start create-domain="${create-domain-value}"
- create-cluster="${create-cluster-value}"/>
+ create-cluster="${create-cluster-value}" failonerror="false"/>
     </target>
 
     <target name="container.debug"
@@ -348,6 +364,36 @@
                         create-cluster="${create-cluster-value}"/>
     </target>
 
+ <target name="container.init.osgi"
+ description="Configure GlassFish 3.1 for OSGi WAB deployment">
+ <echo>
+--------- Configuring GlassFish 3.1 for OSGi WAB deployment
+ </echo>
+ <container.start failonerror="false"/>
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="false">
+ <arg line="--port ${glassfish.custom.admin.port}"/>
+ <arg line="delete-jvm-options"/>
+ <arg line="--target mojarra-cluster-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
+ </exec>
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="false">
+ <arg line="--port ${glassfish.custom.admin.port}"/>
+ <arg line="delete-jvm-options"/>
+ <arg line="--target mojarra-cluster-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
+ </exec>
+ <exec executable="${container.home}/bin/asadmin"
+ failonerror="true">
+ <arg line="--port ${glassfish.custom.admin.port}"/>
+ <arg line="create-jvm-options"/>
+ <arg line="--target mojarra-cluster-config"/>
+ <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
+ </exec>
+ <container.stop create-domain="false" create-cluster="false"/>
+ </target>
+
     <target name="container.restart"
             description="Stop the GlassFish container">
         <container.stop/>
@@ -381,9 +427,11 @@
             description="Start the GlassFish container">
         <attribute name="create-domain" default="true"/>
         <attribute name="create-cluster" default="true"/>
+ <attribute name="failonerror" default="true"/>
         <sequential>
             <start.domain create-domain="@{create-domain}"
- create-cluster="@{create-cluster}"/>
+ create-cluster="@{create-cluster}"
+ failonerror="@{failonerror}"/>
         </sequential>
     </macrodef>
 
@@ -412,6 +460,7 @@
     <macrodef name="start.domain">
         <attribute name="create-domain" default="true"/>
         <attribute name="create-cluster" default="true"/>
+ <attribute name="failonerror" default="true"/>
 
         <sequential>
             <echo>
@@ -429,7 +478,7 @@
                                 arg2="true" />
                         <then>
                           <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                               <arg line="create-domain"/>
                               <arg line="--user ${glassfish.admin.user}"/>
                               <arg line="--passwordfile ${glassfish.password.file}"/>
@@ -439,25 +488,11 @@
                         </then>
                     </if>
                     <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="start-domain"/>
                         <arg line="--user ${glassfish.admin.user}"/>
                         <arg line="${glassfish.custom.domain}"/>
                     </exec>
- <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
- <arg line="delete-jvm-options"/>
- <arg line="--port ${glassfish.custom.admin.port}"/>
- <arg line="--target default-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
- </exec>
- <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
- <arg line="create-jvm-options"/>
- <arg line="--port ${glassfish.custom.admin.port}"/>
- <arg line="--target default-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
- </exec>
                     <if>
                       <not>
                         <equals arg1="${force.no.cluster}"
@@ -465,7 +500,8 @@
                                 arg2="true" />
                       </not>
                       <then>
- <start.cluster create-cluster="@{create-cluster}"/>
+ <start.cluster create-cluster="@{create-cluster}"
+ failonerror="@{failonerror}"/>
                       </then>
                       <else>
                         <waitfor>
@@ -483,7 +519,7 @@
                                 arg2="true" />
                         <then>
                           <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                               <arg line="create-domain"/>
                               <arg line="--user ${glassfish.admin.user}"/>
                               <arg line="--passwordfile ${glassfish.password.file}"/>
@@ -493,25 +529,12 @@
                         </then>
                     </if>
                     <exec executable="${container.home}/bin/asadmin.bat"
+ failonerror="@{failonerror}">
                           spawn="true">
                         <arg line="start-domain"/>
                         <arg line="--user ${glassfish.admin.user}"/>
                         <arg line="${glassfish.custom.domain}"/>
                     </exec>
- <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
- <arg line="delete-jvm-options"/>
- <arg line="--port ${glassfish.custom.admin.port}"/>
- <arg line="--target default-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command'"/>
- </exec>
- <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
- <arg line="create-jvm-options"/>
- <arg line="--port ${glassfish.custom.admin.port}"/>
- <arg line="--target default-config"/>
- <arg line="-Dorg.glassfish.additionalOSGiBundlesToStart='org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.shell.remote,org.apache.felix.fileinstall'"/>
- </exec>
                     <if>
                       <not>
                         <equals arg1="${force.no.cluster}"
@@ -519,7 +542,8 @@
                                 arg2="true" />
                       </not>
                       <then>
- <start.cluster create-cluster="@{create-cluster}"/>
+ <start.cluster create-cluster="@{create-cluster}"
+ failonerror="@{failonerror}"/>
                       </then>
                       <else>
                         <waitfor>
@@ -535,6 +559,7 @@
 
     <macrodef name="start.cluster">
         <attribute name="create-cluster" default="true"/>
+ <attribute name="failonerror" default="true"/>
         <sequential>
             <echo>
 
@@ -550,7 +575,7 @@
                                 arg2="true" />
                         <then>
                           <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                               <arg line="--port ${glassfish.custom.admin.port}"/>
                               <arg line="create-cluster"/>
                               <arg line="--systemproperties ASADMIN_LISTENER_PORT=${glassfish.cluster.admin.port}"/>
@@ -560,7 +585,7 @@
                           <for list="${instance.numbers}" param="num" trim="true">
                             <sequential>
                               <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                                   <arg line="--port ${glassfish.custom.admin.port}"/>
                                   <arg line="create-local-instance"/>
                                   <arg line="--cluster ${glassfish.cluster}"/>
@@ -572,7 +597,7 @@
                       </then>
                     </if>
                     <exec executable="${container.home}/bin/asadmin"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="--port ${glassfish.custom.admin.port}"/>
                         <arg line="start-cluster"/>
                         <arg line="${glassfish.cluster}"/>
@@ -592,7 +617,7 @@
                                 arg2="true" />
                         <then>
                         <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                             <arg line="--port ${glassfish.custom.admin.port}"/>
                             <arg line="create-cluster"/>
                             <arg line="--systemproperties ASADMIN_LISTENER_PORT=${glassfish.cluster.admin.port}"/>
@@ -602,7 +627,7 @@
                         <for list="${instance.numbers}" param="num" trim="true">
                           <sequential>
                             <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                                 <arg line="--port ${glassfish.custom.admin.port}"/>
                                 <arg line="create-local-instance"/>
                                 <arg line="--cluster ${glassfish.cluster}"/>
@@ -614,7 +639,7 @@
                       </then>
                     </if>
                     <exec executable="${container.home}/bin/asadmin.bat"
- failonerror="true">
+ failonerror="@{failonerror}">
                         <arg line="--port ${glassfish.custom.admin.port}"/>
                         <arg line="start-cluster"/>
                         <arg line="${glassfish.cluster}"/>
Index: common/ant/test-app.xml
===================================================================
--- common/ant/test-app.xml (revision 0)
+++ common/ant/test-app.xml (revision 0)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+-->
+
+<project name="test-app"
+ basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+
+ <!-- Construct compile classpath -->
+ <path id="test.compile.classpath">
+ <pathelement location="${jsf-api.jar}"/>
+ <pathelement location="${jsf-impl.jar}"/>
+ <pathelement location="${javax-enterprise.jar}"/>
+ <pathelement location="${javax-inject.jar}"/>
+ <pathelement location="${jsf.test.jar}"/>
+ <pathelement location="${jsf.test.jar}"/>
+ <path refid="compile.classpath"/>
+ <pathelement location="${basedir}/build/classes"/>
+ <pathelement location="${basedir}/../build/test/classes"/>
+ <path refid="htmlunit.compile.classpath"/>
+ </path>
+
+ <target name="help">
+<echo>
+Define some properties in your build file that imports
+this file. Use the following as an example.
+
+ &lt;property name="deploy-exploded-applications"
+ value="groovy" /&gt;
+
+ &lt;property name="applications-for-V3-only"
+ value="disable-bean-validator,
+ no-web-xml" /&gt;
+
+ &lt;property name="applications-for-V3.1-only"
+ value="disable-bean-validator,
+ injection,
+ no-web-xml,
+ cluster-no-agressive-session-dirtying" /&gt;
+
+ &lt;property name="applications-for-V3.1_no_cluster-only"
+ value="disable-bean-validator,
+ injection,
+ no-web-xml" /&gt;
+
+ &lt;property name="container-agnostic-applications"
+ value="
+ annotation-restrictions,
+ clientside-statesaving,
+ request-char-encoding-no-session,
+ bogus-render-kit-id,
+ characterCombat"/&gt;
+
+</echo>
+ </target>
+
+ <target name="define.applications" depends="discover.container.version,define.V2.applications,define.V3.applications,define.V3.1.applications,define.V3.1_no_cluster.applications" />
+
+ <target name="discover.container.version"
+ depends="query.is.V2,query.is.V3,query.is.V3.1,query.is.V3.1_no_cluster"/>
+
+ <target name="query.is.V2">
+ <condition property="container.is.V2">
+ <equals arg1="glassfish" arg2="${container.name}" />
+ </condition>
+ </target>
+
+ <target name="query.is.V3">
+ <condition property="container.is.V3">
+ <equals arg1="glassfishV3" arg2="${container.name}" />
+ </condition>
+ </target>
+
+ <target name="query.is.V3.1">
+ <condition property="container.is.V3.1">
+ <equals arg1="glassfishV3.1" arg2="${container.name}" />
+ </condition>
+ </target>
+
+ <target name="query.is.V3.1_no_cluster">
+ <condition property="container.is.V3.1_no_cluster">
+ <equals arg1="glassfishV3.1_no_cluster" arg2="${container.name}" />
+ </condition>
+ </target>
+
+ <target name="define.V2.applications" if="container.is.V2">
+ <property name="applications" value="${container-agnostic-applications}" />
+ </target>
+
+ <target name="define.V3.applications" if="container.is.V3">
+ <property name="applications"
+ value="${container-agnostic-applications},${applications-for-V3-only}" />
+ </target>
+
+ <target name="define.V3.1.applications" if="container.is.V3.1">
+ <property name="applications"
+ value="${container-agnostic-applications},${applications-for-V3.1-only}" />
+ </target>
+
+ <target name="define.V3.1_no_cluster.applications" if="container.is.V3.1_no_cluster">
+ <property name="applications"
+ value="${container-agnostic-applications},${applications-for-V3.1_no_cluster-only}" />
+ </target>
+
+</project>
Index: jsf-ri/build-tests.xml
===================================================================
--- jsf-ri/build-tests.xml (revision 8876)
+++ jsf-ri/build-tests.xml (working copy)
@@ -546,6 +546,9 @@
         <fileset dir="${api.test.results.dir}">
           <include name="TEST-*.xml" />
         </fileset>
+ <fileset dir="${regression.test.results.dir}">
+ <include name="TEST-*.xml" />
+ </fileset>
         <report format="frames" todir="${test.report.dir}/html" />
       </junitreport>
    </target>
Index: jsf-ri/systest/src/com/sun/faces/render/MessageRenderTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/render/MessageRenderTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/render/MessageRenderTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.render;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class MessageRenderTestCase extends AbstractTestCase {
+public class MessageRenderTestCase extends HtmlUnitFacesTestCase {
 
     public MessageRenderTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/render/OutputScriptStyleTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/render/OutputScriptStyleTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/render/OutputScriptStyleTestCase.java (working copy)
@@ -40,13 +40,13 @@
 
 package com.sun.faces.render;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
 
-public class OutputScriptStyleTestCase extends AbstractTestCase {
+public class OutputScriptStyleTestCase extends HtmlUnitFacesTestCase {
 
     public OutputScriptStyleTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/render/SelectStarTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/render/SelectStarTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/render/SelectStarTestCase.java (working copy)
@@ -40,14 +40,14 @@
 
 package com.sun.faces.render;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
 import java.util.List;
 
-public class SelectStarTestCase extends AbstractTestCase {
+public class SelectStarTestCase extends HtmlUnitFacesTestCase {
 
     public SelectStarTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/render/CommandButtonTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/render/CommandButtonTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/render/CommandButtonTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.render;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class CommandButtonTestCase extends AbstractTestCase {
+public class CommandButtonTestCase extends HtmlUnitFacesTestCase {
 
     public CommandButtonTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/jsf2jsp/Jsf2JspTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsf2jsp/Jsf2JspTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsf2jsp/Jsf2JspTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.sun.faces.jsptest.ValidatorTestCase;
@@ -50,7 +50,7 @@
 import junit.framework.TestResult;
 import junit.framework.TestSuite;
 
-public class Jsf2JspTestCase extends AbstractTestCase {
+public class Jsf2JspTestCase extends HtmlUnitFacesTestCase {
 
 
     public Jsf2JspTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/event/VerifyBuildBeforeRestoreTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/event/VerifyBuildBeforeRestoreTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/event/VerifyBuildBeforeRestoreTestCase.java (working copy)
@@ -42,14 +42,14 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class VerifyBuildBeforeRestoreTestCase extends AbstractTestCase {
+public class VerifyBuildBeforeRestoreTestCase extends HtmlUnitFacesTestCase {
 
 
     public VerifyBuildBeforeRestoreTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/event/DynamicAddTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/event/DynamicAddTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/event/DynamicAddTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 import java.util.regex.Pattern;
 
@@ -50,7 +50,7 @@
 /**
  * Unit tests for Composite Components.
  */
-public class DynamicAddTestCase extends AbstractTestCase {
+public class DynamicAddTestCase extends HtmlUnitFacesTestCase {
 
 
     public DynamicAddTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/event/ValueChangeListenerCalledTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/event/ValueChangeListenerCalledTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/event/ValueChangeListenerCalledTestCase.java (working copy)
@@ -47,13 +47,13 @@
 import com.gargoylesoftware.htmlunit.javascript.host.HTMLAnchorElement;
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class ValueChangeListenerCalledTestCase extends AbstractTestCase {
+public class ValueChangeListenerCalledTestCase extends HtmlUnitFacesTestCase {
 
 
     public ValueChangeListenerCalledTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxRedirectTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxRedirectTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxRedirectTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
@@ -50,7 +50,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-public class AjaxRedirectTestCase extends AbstractTestCase {
+public class AjaxRedirectTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxRedirectTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventAttributeTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventAttributeTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventAttributeTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxTagEventAttributeTestCase extends AbstractTestCase {
+public class AjaxTagEventAttributeTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTagEventAttributeTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestMultiRenderTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestMultiRenderTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestMultiRenderTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -48,7 +48,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 
-public class AjaxRequestMultiRenderTestCase extends AbstractTestCase {
+public class AjaxRequestMultiRenderTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxRequestMultiRenderTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxBadXMLTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxBadXMLTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxBadXMLTestCase.java (working copy)
@@ -41,11 +41,11 @@
 package com.sun.faces.ajax;
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class AjaxBadXMLTestCase extends AbstractTestCase {
+public class AjaxBadXMLTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxBadXMLTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagResolveTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagResolveTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagResolveTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
@@ -48,7 +48,7 @@
 import com.gargoylesoftware.htmlunit.AjaxController;
 import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
 
-public class AjaxTagResolveTestCase extends AbstractTestCase {
+public class AjaxTagResolveTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTagResolveTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxTagTestCase extends AbstractTestCase {
+public class AjaxTagTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTagTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestScriptTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestScriptTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestScriptTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -48,7 +48,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 
-public class AjaxRequestScriptTestCase extends AbstractTestCase {
+public class AjaxRequestScriptTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxRequestScriptTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxAllKeywordTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxAllKeywordTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxAllKeywordTestCase.java (working copy)
@@ -40,13 +40,13 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class AjaxAllKeywordTestCase extends AbstractTestCase {
+public class AjaxAllKeywordTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxAllKeywordTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxMultiformTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxMultiformTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxMultiformTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxMultiformTestCase extends AbstractTestCase {
+public class AjaxMultiformTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxMultiformTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxEchoTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxEchoTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxEchoTestCase.java (working copy)
@@ -41,11 +41,11 @@
 package com.sun.faces.ajax;
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class AjaxEchoTestCase extends AbstractTestCase {
+public class AjaxEchoTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxEchoTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxSelectTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxSelectTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxSelectTestCase.java (working copy)
@@ -43,12 +43,12 @@
 import com.gargoylesoftware.htmlunit.html.ClickableElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class AjaxSelectTestCase extends AbstractTestCase {
+public class AjaxSelectTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxSelectTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagWrappingTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagWrappingTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagWrappingTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxTagWrappingTestCase extends AbstractTestCase {
+public class AjaxTagWrappingTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTagWrappingTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxMessageTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxMessageTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxMessageTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.sun.faces.render.MessageRenderTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 import com.gargoylesoftware.htmlunit.javascript.host.Node;
@@ -48,7 +48,7 @@
 import junit.framework.TestSuite;
 
 
-public class AjaxMessageTestCase extends AbstractTestCase {
+public class AjaxMessageTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxMessageTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventWrappingTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventWrappingTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTagEventWrappingTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxTagEventWrappingTestCase extends AbstractTestCase {
+public class AjaxTagEventWrappingTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTagEventWrappingTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxInsertDeleteTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxInsertDeleteTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxInsertDeleteTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlHorizontalRule;
@@ -48,7 +48,7 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class AjaxInsertDeleteTestCase extends AbstractTestCase {
+public class AjaxInsertDeleteTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxInsertDeleteTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxEvalTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxEvalTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxEvalTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.CollectingAlertHandler;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
@@ -51,7 +51,7 @@
 import java.util.List;
 
 
-public class AjaxEvalTestCase extends AbstractTestCase {
+public class AjaxEvalTestCase extends HtmlUnitFacesTestCase {
 
 
      public AjaxEvalTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxTableTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxTableTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxTableTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxTableTestCase extends AbstractTestCase {
+public class AjaxTableTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxTableTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxRequestTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -48,7 +48,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 
-public class AjaxRequestTestCase extends AbstractTestCase {
+public class AjaxRequestTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxRequestTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxErrorTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxErrorTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxErrorTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.CollectingAlertHandler;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -52,7 +52,7 @@
 import java.util.List;
 
 
-public class AjaxErrorTestCase extends AbstractTestCase {
+public class AjaxErrorTestCase extends HtmlUnitFacesTestCase {
 
 
      public AjaxErrorTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxRerenderOtherFormTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxRerenderOtherFormTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxRerenderOtherFormTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.Page;
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
@@ -49,7 +49,7 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class AjaxRerenderOtherFormTestCase extends AbstractTestCase {
+public class AjaxRerenderOtherFormTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxRerenderOtherFormTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxIncludedTextTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxIncludedTextTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxIncludedTextTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
@@ -48,7 +48,7 @@
 import junit.framework.TestSuite;
 
 
-public class AjaxIncludedTextTestCase extends AbstractTestCase {
+public class AjaxIncludedTextTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxIncludedTextTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/ajax/AjaxAttrsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/ajax/AjaxAttrsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/ajax/AjaxAttrsTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.ajax;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.CollectingAlertHandler;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
@@ -51,7 +51,7 @@
 import java.util.List;
 
 
-public class AjaxAttrsTestCase extends AbstractTestCase {
+public class AjaxAttrsTestCase extends HtmlUnitFacesTestCase {
 
 
      public AjaxAttrsTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/groovy/GroovyTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/groovy/GroovyTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/groovy/GroovyTestCase.java (working copy)
@@ -41,11 +41,11 @@
 package com.sun.faces.groovy;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class GroovyTestCase extends AbstractTestCase {
+public class GroovyTestCase extends HtmlUnitFacesTestCase {
     public GroovyTestCase() {
         this("groovyTestCase");
     }
Index: jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTestCase.java (working copy)
@@ -51,7 +51,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 import com.gargoylesoftware.htmlunit.html.HtmlUnorderedList;
 import com.gargoylesoftware.htmlunit.html.HtmlDivision;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -59,7 +59,7 @@
 /**
  * Test cases for Facelets functionality
  */
-public class FaceletsTestCase extends AbstractTestCase {
+public class FaceletsTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTargetNotFoundTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTargetNotFoundTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTargetNotFoundTestCase.java (working copy)
@@ -50,14 +50,14 @@
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 /**
  * Test cases for Facelets functionality
  */
-public class FaceletsTargetNotFoundTestCase extends AbstractTestCase {
+public class FaceletsTargetNotFoundTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/facelets/KeepMessagesTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/KeepMessagesTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/KeepMessagesTestCase.java (working copy)
@@ -48,9 +48,9 @@
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
-public class KeepMessagesTestCase extends AbstractTestCase {
+public class KeepMessagesTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/facelets/ImplicitFacetTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/ImplicitFacetTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/ImplicitFacetTestCase.java (working copy)
@@ -44,14 +44,14 @@
 import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 /**
  * Test cases for Facelets functionality
  */
-public class ImplicitFacetTestCase extends AbstractTestCase {
+public class ImplicitFacetTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/facelets/UIRepeatTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/UIRepeatTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/UIRepeatTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
 /**
  * Test cases for Facelets functionality
  */
-public class UIRepeatTestCase extends AbstractTestCase {
+public class UIRepeatTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/facelets/csetTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/facelets/csetTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/facelets/csetTestCase.java (working copy)
@@ -48,14 +48,14 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 /**
  * Test cases for Facelets functionality
  */
-public class csetTestCase extends AbstractTestCase {
+public class csetTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/jsptest/SelectManyMultiFormTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/SelectManyMultiFormTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/SelectManyMultiFormTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class SelectManyMultiFormTestCase extends AbstractTestCase {
+public class SelectManyMultiFormTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/MissingViewTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/MissingViewTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/MissingViewTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -52,7 +52,7 @@
  * forgets the view tag.</p>
  */
 
-public class MissingViewTestCase extends AbstractTestCase {
+public class MissingViewTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/TlvTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/TlvTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/TlvTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -54,7 +54,7 @@
  * <p>Verify that required validation occurrs for Select* components.</p>
  */
 
-public class TlvTestCase extends AbstractTestCase {
+public class TlvTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ViewRootPhaseListenerTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ViewRootPhaseListenerTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ViewRootPhaseListenerTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -54,7 +54,7 @@
  * <p>Make sure that only unique view ids are saved in the session</p>
  */
 
-public class ViewRootPhaseListenerTestCase extends AbstractTestCase {
+public class ViewRootPhaseListenerTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ViewTagTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ViewTagTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ViewTagTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class ViewTagTestCase extends AbstractTestCase {
+public class ViewTagTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ForEachTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ForEachTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ForEachTestCase.java (working copy)
@@ -44,7 +44,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ForEachTestCase extends AbstractTestCase {
+public class ForEachTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ConverterTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ConverterTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ConverterTestCase.java (working copy)
@@ -43,7 +43,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ConverterTestCase extends AbstractTestCase {
+public class ConverterTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -52,7 +52,7 @@
  * forgets the view tag.</p>
  */
 
-public class PrependIdTestCase extends AbstractTestCase {
+public class PrependIdTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkNoFormTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkNoFormTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkNoFormTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -52,7 +52,7 @@
  * <p>Verify expected behavior when command link is not enclosed by a form</p>
  */
 
-public class CommandLinkNoFormTestCase extends AbstractTestCase {
+public class CommandLinkNoFormTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/MissingActionListenerMethodTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/MissingActionListenerMethodTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/MissingActionListenerMethodTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Assert;
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -53,7 +53,7 @@
  * @author Jason Lee
  */
 
-public class MissingActionListenerMethodTestCase extends AbstractTestCase {
+public class MissingActionListenerMethodTestCase extends HtmlUnitFacesTestCase {
     // ------------------------------------------------------------ Constructors
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/jsptest/SelectItemEscapeTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/SelectItemEscapeTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/SelectItemEscapeTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
  * <p>Verify that required validation occurrs for Select* components.</p>
  */
 
-public class SelectItemEscapeTestCase extends AbstractTestCase {
+public class SelectItemEscapeTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/JstlIntegrationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/JstlIntegrationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/JstlIntegrationTestCase.java (working copy)
@@ -44,7 +44,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
  * <p>Test Case for JSTL Interoperability.</p>
  */
 
-public class JstlIntegrationTestCase extends AbstractTestCase {
+public class JstlIntegrationTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase2.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase2.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase2.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -52,7 +52,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class JspIntegrationTestCase2 extends AbstractTestCase {
+public class JspIntegrationTestCase2 extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/FormInputTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/FormInputTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/FormInputTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -56,7 +56,7 @@
  * <p>Test Case for Form Input.</p>
  */
 
-public class FormInputTestCase extends AbstractTestCase {
+public class FormInputTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/InvalidateSessionTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/InvalidateSessionTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/InvalidateSessionTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class InvalidateSessionTestCase extends AbstractTestCase {
+public class InvalidateSessionTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/FormElTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/FormElTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/FormElTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
  * forgets the view tag.</p>
  */
 
-public class FormElTestCase extends AbstractTestCase {
+public class FormElTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ListenerTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ListenerTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ListenerTestCase.java (working copy)
@@ -43,7 +43,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ListenerTestCase extends AbstractTestCase {
+public class ListenerTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ValidatorTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ValidatorTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ValidatorTestCase.java (working copy)
@@ -43,7 +43,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ValidatorTestCase extends AbstractTestCase {
+public class ValidatorTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/ValueChangeListenerTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/ValueChangeListenerTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/ValueChangeListenerTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.jsptest;
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ValueChangeListenerTestCase extends AbstractTestCase {
+public class ValueChangeListenerTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/IdRefTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/IdRefTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/IdRefTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.jsptest;
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -54,7 +54,7 @@
  * </p>
  */
 
-public class IdRefTestCase extends AbstractTestCase {
+public class IdRefTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------
     // Constructors
Index: jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -53,7 +53,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class CommandLinkMultiFormTestCase extends AbstractTestCase {
+public class CommandLinkMultiFormTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/TagIvarTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/TagIvarTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/TagIvarTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class TagIvarTestCase extends AbstractTestCase {
+public class TagIvarTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/LocaleTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/LocaleTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/LocaleTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class LocaleTestCase extends AbstractTestCase {
+public class LocaleTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkOnClickTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkOnClickTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkOnClickTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -50,7 +50,7 @@
  * <p>Test Case for Multiple RenderKits.</p>
  */
 
-public class CommandLinkOnClickTestCase extends AbstractTestCase {
+public class CommandLinkOnClickTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/SelectComponentValueTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/SelectComponentValueTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/SelectComponentValueTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -58,7 +58,7 @@
  * <p>Verify that required validation occurrs for Select* components.</p>
  */
 
-public class SelectComponentValueTestCase extends AbstractTestCase {
+public class SelectComponentValueTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -52,7 +52,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class JspIntegrationTestCase extends AbstractTestCase {
+public class JspIntegrationTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/jsptest/SetPropertyTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/jsptest/SetPropertyTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/jsptest/SetPropertyTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -54,7 +54,7 @@
  * <p>Test Case for f:setProperty.</p>
  */
 
-public class SetPropertyTestCase extends AbstractTestCase {
+public class SetPropertyTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/pathtest/PathTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/pathtest/PathTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/pathtest/PathTestCase.java (working copy)
@@ -43,12 +43,12 @@
 import com.gargoylesoftware.htmlunit.TextPage;
 import com.gargoylesoftware.htmlunit.WebResponse;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class PathTestCase extends AbstractTestCase {
+public class PathTestCase extends HtmlUnitFacesTestCase {
 
     //
     // Protected Constants
Index: jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 import java.util.List;
@@ -51,7 +51,7 @@
 /**
  * Unit tests for Composite Components.
  */
-public class CompositeComponentsTestCase extends AbstractTestCase {
+public class CompositeComponentsTestCase extends HtmlUnitFacesTestCase {
 
 
     @SuppressWarnings({"UnusedDeclaration"})
Index: jsf-ri/systest/src/com/sun/faces/composite/ResourceDependencyComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/ResourceDependencyComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/ResourceDependencyComponentTestCase.java (working copy)
@@ -47,13 +47,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class ResourceDependencyComponentTestCase extends AbstractTestCase {
+public class ResourceDependencyComponentTestCase extends HtmlUnitFacesTestCase {
 
 
     public ResourceDependencyComponentTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCaseWithEE6Dependencies.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCaseWithEE6Dependencies.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/CompositeComponentsTestCaseWithEE6Dependencies.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 import java.util.List;
@@ -51,7 +51,7 @@
 /**
  * Unit tests for Composite Components.
  */
-public class CompositeComponentsTestCaseWithEE6Dependencies extends AbstractTestCase {
+public class CompositeComponentsTestCaseWithEE6Dependencies extends HtmlUnitFacesTestCase {
 
 
     @SuppressWarnings({"UnusedDeclaration"})
Index: jsf-ri/systest/src/com/sun/faces/composite/ValueChangeListenerSetPropertyActionListener01TestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/ValueChangeListenerSetPropertyActionListener01TestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/ValueChangeListenerSetPropertyActionListener01TestCase.java (working copy)
@@ -42,14 +42,14 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class ValueChangeListenerSetPropertyActionListener01TestCase extends AbstractTestCase {
+public class ValueChangeListenerSetPropertyActionListener01TestCase extends HtmlUnitFacesTestCase {
 
 
     public ValueChangeListenerSetPropertyActionListener01TestCase() {
Index: jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelComponentTestCase.java (working copy)
@@ -42,14 +42,14 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class JavaTopLevelComponentTestCase extends AbstractTestCase {
+public class JavaTopLevelComponentTestCase extends HtmlUnitFacesTestCase {
 
 
     public JavaTopLevelComponentTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/composite/DefaultActionTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/DefaultActionTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/DefaultActionTestCase.java (working copy)
@@ -46,13 +46,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class DefaultActionTestCase extends AbstractTestCase {
+public class DefaultActionTestCase extends HtmlUnitFacesTestCase {
 
 
     public DefaultActionTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelActionListenerComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelActionListenerComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/composite/JavaTopLevelActionListenerComponentTestCase.java (working copy)
@@ -45,13 +45,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
 /**
  * Unit tests for Composite Components.
  */
-public class JavaTopLevelActionListenerComponentTestCase extends AbstractTestCase {
+public class JavaTopLevelActionListenerComponentTestCase extends HtmlUnitFacesTestCase {
 
 
     public JavaTopLevelActionListenerComponentTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/component/CompositeMetaDataTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/component/CompositeMetaDataTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/component/CompositeMetaDataTestCase.java (working copy)
@@ -40,12 +40,12 @@
 
 package com.sun.faces.component;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class CompositeMetaDataTestCase extends AbstractTestCase {
+public class CompositeMetaDataTestCase extends HtmlUnitFacesTestCase {
 
     public CompositeMetaDataTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/component/GetClientIdELTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/component/GetClientIdELTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/component/GetClientIdELTestCase.java (working copy)
@@ -40,13 +40,13 @@
 
 package com.sun.faces.component;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class GetClientIdELTestCase extends AbstractTestCase {
+public class GetClientIdELTestCase extends HtmlUnitFacesTestCase {
 
     public GetClientIdELTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/component/ComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/component/ComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/component/ComponentTestCase.java (working copy)
@@ -40,13 +40,13 @@
 
 package com.sun.faces.component;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class ComponentTestCase extends AbstractTestCase {
+public class ComponentTestCase extends HtmlUnitFacesTestCase {
 
     public ComponentTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java (working copy)
@@ -1,650 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License"). You
- * may not use this file except in compliance with the License. You can
- * obtain a copy of the License at
- * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license." If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above. However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package com.sun.faces.htmlunit;
-
-
-import com.gargoylesoftware.htmlunit.BrowserVersion;
-import com.gargoylesoftware.htmlunit.CookieManager;
-import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
-import com.gargoylesoftware.htmlunit.ProxyConfig;
-import com.gargoylesoftware.htmlunit.WebClient;
-import com.gargoylesoftware.htmlunit.WebRequestSettings;
-import com.gargoylesoftware.htmlunit.WebResponse;
-import com.gargoylesoftware.htmlunit.html.HtmlBody;
-import com.gargoylesoftware.htmlunit.html.HtmlElement;
-import com.gargoylesoftware.htmlunit.html.HtmlForm;
-import com.gargoylesoftware.htmlunit.html.HtmlInput;
-import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import java.util.logging.Level;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Vector;
-import java.util.logging.Logger;
-
-
-/**
- * <p>Abstract base class for test cases utilizing HtmlUnit.</p>
- */
-
-public abstract class AbstractTestCase extends TestCase {
-
- // ------------------------------------------------------------ Constructors
-
-
- /**
- * Construct a new instance of this test case.
- *
- * @param name Name of the test case
- */
- public AbstractTestCase(String name) {
- super(name);
- this.testName = name;
- }
-
-
- // ------------------------------------------------------ Instance Variables
-
- /**
- * The <code>Log</code> instance for this class.
- */
- protected static final Logger log = Logger.getLogger(AbstractTestCase.class.getName());
-
- protected String testName;
-
- // System property values used to configure the HTTP connection
- protected String contextPath = null;
- protected String host = null;
- protected int port = 0;
- protected Integer virtualServerPort = null;
-
- // The current session identifier
- protected String sessionId = null;
-
-
- // The WebClient instance for this test case
- protected WebClient client = null;
-
- // The URL for our test application
- protected URL domainURL = null;
-
- // The cookie manager
- protected CookieManager cmanager = null;
-
- // The last requested page
- protected HtmlPage lastpage = null;
-
- // Possible containers - these should be the uppercase values of the possible container values in build.properties
- protected enum Container { GLASSFISH, GLASSFISHV3PRELUDE, GLASSFISHV3, GLASSFISHV3_1, GLASSFISHV3_1_NO_CLUSTER, TOMCAT6 }
-
- // Per-container exclusions
- protected Map<Container, Vector<String>> exclusions = null;
-
- // Instance numbers for clustering
- private List<Integer> instanceNumbers;
-
- protected boolean forceNoCluster = false;
-
- private Random rand = new Random();
-
- protected boolean isVirtualServer = false;
-
-
- // ---------------------------------------------------- Overall Test Methods
-
-
- /**
- * Set up instance variables required by this test case.
- */
- @Override
- public void setUp() throws Exception {
-
- BrowserVersion browserVersion;
-
- isVirtualServer = Boolean.parseBoolean(System.getProperty("virtual-server"));
-
- String instanceNumbersStr = System.getProperty("instance.numbers");
- if (null != instanceNumbersStr && 0 < instanceNumbersStr.length() &&
- !("${instance.numbers}".equals(instanceNumbersStr))) {
- String [] strs = instanceNumbersStr.split(",");
- List<Integer> instNums = getInstanceNumbers();
- for (String cur : strs) {
- try {
- instNums.add(Integer.parseInt(cur));
- } catch (NumberFormatException e) {
- System.out.println(e.getMessage());
- }
- }
- }
- String forceNoClusterStr = System.getProperty("force.no.cluster");
- forceNoCluster = (null != forceNoClusterStr && 0 < forceNoClusterStr.length());
-
- contextPath = System.getProperty("context.path");
- host = System.getProperty("host");
- port = Integer.parseInt(System.getProperty("port"));
- String browser = System.getProperty("browser");
-
- if ("FF3".equals(browser)) {
- browserVersion = BrowserVersion.FIREFOX_3;
- } else if ("FF2".equals(browser)) {
- browserVersion = BrowserVersion.FIREFOX_2;
- } else if ("IE6".equals(browser)) {
- browserVersion = BrowserVersion.INTERNET_EXPLORER_6;
- } else {
- browserVersion = BrowserVersion.INTERNET_EXPLORER_7;
- }
-
- String proxyHost = System.getProperty("proxyHost");
- String proxyPort = System.getProperty("proxyPort");
-
- client = new WebClient(browserVersion);
- cmanager = client.getCookieManager();
- // Add an ajax controller to synchronize all ajax calls
- client.setAjaxController(new NicelyResynchronizingAjaxController());
- domainURL = getURL("/");
- WebRequestSettings settings = new WebRequestSettings(domainURL);
- if (null != proxyHost && null != proxyPort) {
- settings.setProxyHost(proxyHost);
- int proxyPortInt = Integer.parseInt(proxyPort);
- settings.setProxyPort(proxyPortInt);
- ProxyConfig config = client.getProxyConfig();
- config.setProxyHost(proxyHost);
- config.setProxyPort(proxyPortInt);
- }
-
- WebResponse response = client.getWebConnection().getResponse(settings);
- }
-
- protected List<Integer> getInstanceNumbers() {
- if (null == instanceNumbers) {
- instanceNumbers = new ArrayList<Integer>();
- }
- return instanceNumbers;
- }
-
-
- /**
- * Return the tests included in this test suite.
- */
- public static Test suite() {
- return (new TestSuite(AbstractTestCase.class));
- }
-
-
- /**
- * Tear down instance variables required by this test case.
- */
- public void tearDown() {
-
- client = null;
- domainURL = null;
- cmanager = null;
-
- }
-
-
- // ------------------------------------------------- Individual Test Methods
-
-
- // --------------------------------------------------------- Private Methods
-
-
- /**
- * <p>Extract and return the result of calling <code>asText()</code>
- * on the <code>&lt;body&gt;</code> element of this page.</p>
- *
- * @param page The <code>HtmlPage</code> to process
- */
- protected String getBodyText(HtmlPage page) {
-
- Object body =
- page.getDocumentElement().getHtmlElementsByTagName("body").get(0);
-
- if (body != null) {
- if (body instanceof HtmlBody) {
- return (((HtmlBody) body).asText());
- }
- }
-
- fail("This page does not have a <body> element");
- return (null); // To satisfy the compiler
-
- }
-
-
- /**
- * <p>Return the page for the specified context-relative path,
- * maintaining session affinity if <code>sessionId</code> is not null.</p>
- *
- * @param path Context-relative part of the path
- */
- protected HtmlPage getPage(String path) throws Exception {
-
- /* Cookies seem to be maintained automatically now
- if (sessionId != null) {
- // System.err.println("Joining session " + sessionId);
- client.addRequestHeader("Cookie", "JSESSIONID=" + sessionId);
- }
- */
- lastpage = (HtmlPage) client.getPage(getURL(path));
- if (sessionId == null) {
- parseSession(lastpage);
- }
- return lastpage;
-
- }
-
- protected HtmlPage getPageSticky(String path) throws Exception {
-
- /* Cookies seem to be maintained automatically now
- if (sessionId != null) {
- // System.err.println("Joining session " + sessionId);
- client.addRequestHeader("Cookie", "JSESSIONID=" + sessionId);
- }
- */
- lastpage = (HtmlPage) client.getPage(getURLSticky(path));
- if (sessionId == null) {
- parseSession(lastpage);
- }
- return lastpage;
-
- }
-
- protected HtmlPage getPageFromInstanceN(String path, int instanceNumber) throws Exception {
-
- /* Cookies seem to be maintained automatically now
- if (sessionId != null) {
- // System.err.println("Joining session " + sessionId);
- client.addRequestHeader("Cookie", "JSESSIONID=" + sessionId);
- }
- */
- lastpage = (HtmlPage) client.getPage(getURLFromInstanceN(path, instanceNumber));
- if (sessionId == null) {
- parseSession(lastpage);
- }
- return lastpage;
-
- }
-
- protected int getPort() {
-
- if (null != virtualServerPort) {
- return virtualServerPort.intValue();
- }
-
- int result = port;
- List<Integer> instNums = getInstanceNumbers();
- if (!instNums.isEmpty() &&
- (!forceNoCluster || isVirtualServer)) {
- int instanceNumberIndex = rand.nextInt(instNums.size());
- try {
- String num = instNums.get(instanceNumberIndex).toString() + port;
- result = Integer.parseInt(num);
-
- } catch (NumberFormatException e) {
- System.out.println(e.getMessage());
- throw e;
- }
- }
-
- if (isVirtualServer) {
- virtualServerPort = (Integer) result;
- }
-
- return result;
- }
-
- protected int getFirstPort() {
- int result = port;
- List<Integer> instNums = getInstanceNumbers();
- if (!instNums.isEmpty() && !forceNoCluster) {
- int instanceNumberIndex = 0;
- try {
- String num = instNums.get(instanceNumberIndex).toString() + port;
- result = Integer.parseInt(num);
-
- } catch (NumberFormatException e) {
- System.out.println(e.getMessage());
- throw e;
- }
- }
- return result;
- }
-
- protected int getNthPort(int instanceNumber) {
- int result = port;
- if (!forceNoCluster) {
- try {
- String num = instanceNumber + "" + port;
- result = Integer.parseInt(num);
-
- } catch (NumberFormatException e) {
- System.out.println(e.getMessage());
- throw e;
- }
- }
- return result;
- }
- /**
- * The same as {_at_link #getPage(String)} except this uses the specified
- * WebClient.
- *
- * @param path context-relative path
- * @param client WebClient
- * @return an HtmlPage instance
- * @throws Exception if an error occurs
- */
- protected HtmlPage getPage(String path, WebClient client) throws Exception {
- lastpage = (HtmlPage) client.getPage(getURL(path));
- if (sessionId == null) {
- parseSession(lastpage);
- }
- return lastpage;
- }
-
-
- /**
- * <p>Return a <code>URL</code> for the specified context-relative
- * path.</p>
- *
- * @param path Context relative path
- */
- protected URL getURL(String path) throws Exception {
-
- StringBuffer sb = new StringBuffer("http://");
- sb.append(host);
- int myPort = getPort();
- if (myPort != 80) {
- sb.append(":");
- sb.append("" + myPort);
- }
- sb.append(contextPath);
- sb.append(path);
- if (log.isLoggable(Level.INFO)) {
- log.info(sb.toString());
- }
- return (new URL(sb.toString()));
-
- }
-
- protected URL getURLSticky(String path) throws Exception {
-
- StringBuffer sb = new StringBuffer("http://");
- sb.append(host);
- int myPort = getFirstPort();
- if (myPort != 80) {
- sb.append(":");
- sb.append("" + myPort);
- }
- sb.append(contextPath);
- sb.append(path);
- if (log.isLoggable(Level.INFO)) {
- log.info(sb.toString());
- }
- return (new URL(sb.toString()));
-
- }
-
- protected URL getURLFromInstanceN(String path, int instanceNumber) throws Exception {
-
- StringBuilder sb = new StringBuilder("http://");
- sb.append(host);
- int myPort = getNthPort(instanceNumber);
- if (myPort != 80) {
- sb.append(":");
- sb.append("").append(myPort);
- }
- sb.append(contextPath);
- sb.append(path);
- if (log.isLoggable(Level.INFO)) {
- log.info(sb.toString());
- }
- return (new URL(sb.toString()));
-
- }
-
-
- /**
- * <p>Parse and save any session identifier from the specified page.</p>
- *
- * @param page The current page
- */
- protected void parseSession(HtmlPage page) {
-
- String value =
- page.getWebResponse().getResponseHeaderValue("Set-Cookie");
- if (value == null) {
- return;
- }
- int equals = value.indexOf("JSESSIONID=");
- if (equals < 0) {
- return;
- }
- value = value.substring(equals + "JSESSIONID=".length());
- int semi = value.indexOf(";");
- if (semi >= 0) {
- value = value.substring(0, semi);
- }
- sessionId = value;
- // System.err.println("Beginning session " + sessionId);
-
- }
-
-
- protected boolean clearAllCookies() {
- cmanager.clearCookies();
- return true;
- }
-
- // Return the form with the specified "id" from the specified page
- // (HtmlPage.getFormByName() looks at "name" instead)
- protected HtmlForm getFormById(HtmlPage page, String id) {
-
- Iterator forms = page.getForms().iterator();
- while (forms.hasNext()) {
- HtmlForm form = (HtmlForm) forms.next();
- if (id.equals(form.getAttributeValue("id"))) {
- return (form);
- }
- }
- return (null);
-
- }
-
-
- /**
- * <p>Added to compensate for changes in the HtmlUnit 1.4 API.</p>
- *
- * @see #getAllElementsOfGivenClass(com.gargoylesoftware.htmlunit.html.HtmlElement, java.util.List, Class)
- */
- protected List getAllElementsOfGivenClass(HtmlPage root, List list,
- Class matchClass) {
-
- return getAllElementsOfGivenClass(root.getDocumentElement(),
- list,
- matchClass);
-
- }
-
- /**
- * Depth first search from root to find all children that are
- * instances of HtmlInput. Add them to the list.
- */
- protected List getAllElementsOfGivenClass(HtmlElement root, List list,
- Class matchClass) {
- if (null == root) {
- return list;
- }
- if (null == list) {
- list = new ArrayList();
- }
- Iterable<HtmlElement> iterable = root.getAllHtmlChildElements();
- Iterator<HtmlElement> iter = iterable.iterator();
- while (iter.hasNext()) {
- getAllElementsOfGivenClass((HtmlElement) iter.next(), list,
- matchClass);
- }
- if (matchClass.isInstance(root)) {
- if (!list.contains(root)) {
- list.add(root);
- }
- }
- return list;
- }
-
- protected HtmlInput getInputContainingGivenId(HtmlPage root,
- String id) {
- List list;
- int i;
- HtmlInput result = null;
-
- list = getAllElementsOfGivenClass(root, null, HtmlInput.class);
- for (i = 0; i < list.size(); i++) {
- result = (HtmlInput) list.get(i);
- if (-1 != result.getIdAttribute().indexOf(id)) {
- break;
- }
- result = null;
- }
- return result;
-
- }
-
- protected HtmlInput getNthInputContainingGivenId(HtmlPage root,
- String id,
- int whichInput) {
- List list;
- int i, hitCount = 0;
- HtmlInput result = null;
-
- list = getAllElementsOfGivenClass(root, null, HtmlInput.class);
- for (i = 0; i < list.size(); i++) {
- result = (HtmlInput) list.get(i);
- if (-1 != result.getIdAttribute().indexOf(id) &&
- hitCount++ == whichInput) {
- break;
- }
- result = null;
- }
- return result;
-
- }
-
- protected HtmlInput getNthFromLastInputContainingGivenId(HtmlPage root,
- String id,
- int whichInput) {
- List list;
- int i, hitCount = 0;
- HtmlInput result = null;
-
- list = getAllElementsOfGivenClass(root, null, HtmlInput.class);
- for (i = list.size() - 1; i >= 0; i--) {
- result = (HtmlInput) list.get(i);
- if (-1 != result.getIdAttribute().indexOf(id) &&
- hitCount++ == whichInput) {
- break;
- }
- result = null;
- }
- return result;
-
- }
-
- protected String getText(String element) {
- return ((HtmlElement)lastpage.getHtmlElementById(element)).asText();
- }
-
- /*
- Check that the text of the element is equal to the supplied string
- */
- protected boolean check(String element, String expected) {
- return expected.equals(getText(element));
- }
-
- protected void checkTrue(String element, String expected) {
- assertTrue(element+":- Expected '"+expected+"', but received '"+getText(element)+"'", check(element,expected));
- }
-
- @Override
- protected void runTest() throws Throwable {
- String currentContainer = System.getProperty("container");
- boolean doRunTest = true;
- if(currentContainer == null) {
- log.warning("Test exclusions not taken into account since no container property could be found");
- } else if(exclusions != null) {
- Vector<String> excludedTests = this.exclusions.get(Container.valueOf(currentContainer.toUpperCase().replaceAll("\\.", "_")));
- if(null != excludedTests && !excludedTests.isEmpty() && excludedTests.contains(testName)) {
- log.log(Level.INFO, "Skipping execution of test ''{0}'' for container {1}", new Object[]{testName, currentContainer});
- doRunTest = false;
- }
- }
- if (doRunTest) {
- super.runTest();
- }
- }
-
- /**
- * Adds an exclusion for a particular test method in the TestCase
- * @param container the container for which the exclusion should be applied
- * @param testName the name of the test method to exclude
- */
- protected void addExclusion(Container container, String testName) {
-
- if(exclusions == null) {
- exclusions = new HashMap<Container, Vector<String>>();
- }
-
- Vector<String> excluded = this.exclusions.get(container);
- if(excluded == null) {
- excluded = new Vector<String>();
- exclusions.put(container, excluded);
- }
- excluded.add(testName);
- }
-}
Index: jsf-ri/systest/src/com/sun/faces/htmlunit/SimpleTesterTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/htmlunit/SimpleTesterTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/htmlunit/SimpleTesterTestCase.java (working copy)
@@ -1,120 +0,0 @@
-
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License"). You
- * may not use this file except in compliance with the License. You can
- * obtain a copy of the License at
- * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license." If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above. However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package com.sun.faces.htmlunit;
-
-import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-
-public class SimpleTesterTestCase extends AbstractTestCase {
-
- public SimpleTesterTestCase(String name) {
- super(name);
- }
-
- private String regexp = null;
-
- public static Test suite() {
- return (new TestSuite(SimpleTesterTestCase.class));
- }
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
- String regexpFilename = System.getProperty("regexpFile");
- if (null != regexpFilename && 0 < regexpFilename.length()) {
- File regexpFile = new File(regexpFilename);
- regexp = readLineFromFile(regexpFile);
- } else {
- regexp = System.getProperty("regexp");
- }
-
-
- }
-
- private String readLineFromFile(File file) throws Exception {
- String result = null;
-
- BufferedReader reader = new BufferedReader(new FileReader(file));
- result = reader.readLine();
- reader.close();
-
- return result;
- }
-
-
- private void doRegexp(String text) throws Exception {
- if (null != regexp && 0 < regexp.length()) {
- assertTrue(text.matches(regexp));
- }
-
- }
-
-
- public void testMethod() throws Exception {
- this.client.setThrowExceptionOnFailingStatusCode(false);
- String request = System.getProperty("request");
- assertNotNull(request);
- assertTrue("invalid request attribute", 0 < request.length());
-
- String status = System.getProperty("status");
-
- HtmlPage page = getPage(request);
-
- doRegexp(page.asXml());
-
- if (null != status && 0 < status.length()) {
- int expected = Integer.parseInt(status);
- int actual = page.getWebResponse().getStatusCode();
- assertEquals(expected, actual);
- }
-
- }
-
-
-}
Index: jsf-ri/systest/src/com/sun/faces/annotation/AnnotatedComponentsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/annotation/AnnotatedComponentsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/annotation/AnnotatedComponentsTestCase.java (working copy)
@@ -59,14 +59,14 @@
 import com.sun.faces.mgbean.BeanManager;
 import com.sun.faces.mgbean.ManagedBeanInfo;
 import com.sun.faces.mgbean.BeanBuilder;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class AnnotatedComponentsTestCase extends AbstractTestCase {
+public class AnnotatedComponentsTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/methodref/MethodRefTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/methodref/MethodRefTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/methodref/MethodRefTestCase.java (working copy)
@@ -49,7 +49,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -62,7 +62,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class MethodRefTestCase extends AbstractTestCase {
+public class MethodRefTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/methodref/TagAttributeListenerMethodExpressionNoArgTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/methodref/TagAttributeListenerMethodExpressionNoArgTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/methodref/TagAttributeListenerMethodExpressionNoArgTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
@@ -53,7 +53,7 @@
 /**
  * Validate resource re-location of scripts and stylesheets
  */
-public class TagAttributeListenerMethodExpressionNoArgTestCase extends AbstractTestCase {
+public class TagAttributeListenerMethodExpressionNoArgTestCase extends HtmlUnitFacesTestCase {
 
 
     public TagAttributeListenerMethodExpressionNoArgTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/systest/http/HttpMethodTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/http/HttpMethodTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/http/HttpMethodTestCase.java (working copy)
@@ -41,7 +41,7 @@
 
 package com.sun.faces.systest.http;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.InputStreamReader;
@@ -54,7 +54,7 @@
 
 
 
- public class HttpMethodTestCase extends AbstractTestCase {
+ public class HttpMethodTestCase extends HtmlUnitFacesTestCase {
 
 
     public HttpMethodTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/implicitnav/ImplicitNavigationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/implicitnav/ImplicitNavigationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/implicitnav/ImplicitNavigationTestCase.java (working copy)
@@ -44,12 +44,12 @@
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
 import com.gargoylesoftware.htmlunit.html.HtmlButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 
-public class ImplicitNavigationTestCase extends AbstractTestCase {
+public class ImplicitNavigationTestCase extends HtmlUnitFacesTestCase {
 
 
     public ImplicitNavigationTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/ResourceRelocationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/ResourceRelocationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/ResourceRelocationTestCase.java (working copy)
@@ -44,7 +44,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlHead;
@@ -60,7 +60,7 @@
 /**
  * Validate resource re-location of scripts and stylesheets
  */
-public class ResourceRelocationTestCase extends AbstractTestCase {
+public class ResourceRelocationTestCase extends HtmlUnitFacesTestCase {
 
 
     public ResourceRelocationTestCase() {
Index: jsf-ri/systest/src/com/sun/faces/systest/SelectOneHideNoSelectionTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/SelectOneHideNoSelectionTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/SelectOneHideNoSelectionTestCase.java (working copy)
@@ -45,10 +45,10 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
-public class SelectOneHideNoSelectionTestCase extends AbstractTestCase {
+public class SelectOneHideNoSelectionTestCase extends HtmlUnitFacesTestCase {
 
 
     private HtmlPage page;
Index: jsf-ri/systest/src/com/sun/faces/systest/ComponentMiscTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/ComponentMiscTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/ComponentMiscTestCase.java (working copy)
@@ -47,7 +47,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class ComponentMiscTestCase extends AbstractTestCase {
+public class ComponentMiscTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/DataTableTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/DataTableTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/DataTableTestCase.java (working copy)
@@ -45,10 +45,10 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class DataTableTestCase extends AbstractTestCase {
+public class DataTableTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/tags/EventTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/tags/EventTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/tags/EventTestCase.java (working copy)
@@ -48,7 +48,7 @@
 import java.util.logging.Logger;
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
@@ -57,7 +57,7 @@
 /**
  * Validate new EL features such as the component implicit object
  */
-public class EventTestCase extends AbstractTestCase {
+public class EventTestCase extends HtmlUnitFacesTestCase {
 
     public EventTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/systest/lifecycle/ManagedBeanLifecycleAnnotationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/lifecycle/ManagedBeanLifecycleAnnotationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/lifecycle/ManagedBeanLifecycleAnnotationTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.systest.lifecycle;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import junit.framework.Test;
@@ -52,7 +52,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class ManagedBeanLifecycleAnnotationTestCase extends AbstractTestCase {
+public class ManagedBeanLifecycleAnnotationTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/FlashMessagesTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/FlashMessagesTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/FlashMessagesTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.systest;
 
 import com.gargoylesoftware.htmlunit.html.HtmlButtonInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import junit.framework.Test;
@@ -50,7 +50,7 @@
 /**
   *
  */
-public class FlashMessagesTestCase extends AbstractTestCase {
+public class FlashMessagesTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/CheckboxTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/CheckboxTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/CheckboxTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.systest;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput;
 import junit.framework.Test;
@@ -49,7 +49,7 @@
 /**
   *
  */
-public class CheckboxTestCase extends AbstractTestCase {
+public class CheckboxTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/composite/behavior/CompositeBehaviorTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/composite/behavior/CompositeBehaviorTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/composite/behavior/CompositeBehaviorTestCase.java (working copy)
@@ -44,13 +44,13 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class CompositeBehaviorTestCase extends AbstractTestCase {
+public class CompositeBehaviorTestCase extends HtmlUnitFacesTestCase {
 
 
     public CompositeBehaviorTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/composite/CompositeAttributeTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/composite/CompositeAttributeTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/composite/CompositeAttributeTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.*;
 
 import java.util.List;
@@ -51,7 +51,7 @@
 /**
  * Unit tests for Composite Component Attributes
  */
-public class CompositeAttributeTestCase extends AbstractTestCase {
+public class CompositeAttributeTestCase extends HtmlUnitFacesTestCase {
 
 
     @SuppressWarnings({"UnusedDeclaration"})
Index: jsf-ri/systest/src/com/sun/faces/systest/composite/MultiActionComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/composite/MultiActionComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/composite/MultiActionComponentTestCase.java (working copy)
@@ -43,13 +43,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class MultiActionComponentTestCase extends AbstractTestCase {
+public class MultiActionComponentTestCase extends HtmlUnitFacesTestCase {
 
 
     public MultiActionComponentTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/composite/JarPackagedCompositeComponentTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/composite/JarPackagedCompositeComponentTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/composite/JarPackagedCompositeComponentTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.composite;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class JarPackagedCompositeComponentTestCase extends AbstractTestCase {
+public class JarPackagedCompositeComponentTestCase extends HtmlUnitFacesTestCase {
 
 
     public JarPackagedCompositeComponentTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/SelectOneManyEnumTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/SelectOneManyEnumTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/SelectOneManyEnumTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import java.util.List;
 import java.util.ArrayList;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
@@ -54,7 +54,7 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class SelectOneManyEnumTestCase extends AbstractTestCase {
+public class SelectOneManyEnumTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/FlashReaperTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/FlashReaperTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/FlashReaperTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.systest;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.net.URL;
 import java.net.URLConnection;
 import junit.framework.Test;
@@ -50,7 +50,7 @@
 /**
   *
  */
-public class FlashReaperTestCase extends AbstractTestCase {
+public class FlashReaperTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/dynamic1757/Issue1757TestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/dynamic1757/Issue1757TestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/dynamic1757/Issue1757TestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
 /**
  * Test cases for Facelets functionality
  */
-public class Issue1757TestCase extends AbstractTestCase {
+public class Issue1757TestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/systest/view/xml/ViewXmlTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/view/xml/ViewXmlTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/view/xml/ViewXmlTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.systest.view.xml;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -50,7 +50,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class ViewXmlTestCase extends AbstractTestCase {
+public class ViewXmlTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/NavigationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/NavigationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/NavigationTestCase.java (working copy)
@@ -48,7 +48,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -59,7 +59,7 @@
  * <p>Test Case for JSP Interoperability.</p>
  */
 
-public class NavigationTestCase extends AbstractTestCase {
+public class NavigationTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/PGridColumnClassesTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/PGridColumnClassesTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/PGridColumnClassesTestCase.java (working copy)
@@ -43,13 +43,13 @@
 
 import com.sun.faces.systest.jsp.interweaving.*;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class PGridColumnClassesTestCase extends AbstractTestCase {
+public class PGridColumnClassesTestCase extends HtmlUnitFacesTestCase {
 
 
     public PGridColumnClassesTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/state/IsSavingStateTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/state/IsSavingStateTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/state/IsSavingStateTestCase.java (working copy)
@@ -43,13 +43,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class IsSavingStateTestCase extends AbstractTestCase {
+public class IsSavingStateTestCase extends HtmlUnitFacesTestCase {
 
 
     public IsSavingStateTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/state/DynamicStateTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/state/DynamicStateTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/state/DynamicStateTestCase.java (working copy)
@@ -40,14 +40,14 @@
 
 package com.sun.faces.systest.state;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class DynamicStateTestCase extends AbstractTestCase {
+public class DynamicStateTestCase extends HtmlUnitFacesTestCase {
 
     public DynamicStateTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/systest/FlashViewParamTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/FlashViewParamTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/FlashViewParamTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlButtonInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import junit.framework.Test;
@@ -51,7 +51,7 @@
 /**
   *
  */
-public class FlashViewParamTestCase extends AbstractTestCase {
+public class FlashViewParamTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/RenderKitsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/RenderKitsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/RenderKitsTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlHiddenInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -56,7 +56,7 @@
  * <p>Test Case for Multiple RenderKits.</p>
  */
 
-public class RenderKitsTestCase extends AbstractTestCase {
+public class RenderKitsTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/ForEachFaceletsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/ForEachFaceletsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/ForEachFaceletsTestCase.java (working copy)
@@ -44,7 +44,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -55,7 +55,7 @@
  * <p>Test that invalid values don't cause valueChangeEvents to occur.</p>
  */
 
-public class ForEachFaceletsTestCase extends AbstractTestCase {
+public class ForEachFaceletsTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/systest/DuplicateIds04TestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/DuplicateIds04TestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/DuplicateIds04TestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -54,7 +54,7 @@
  * <p>Verify that required validation occurrs for Select* components.</p>
  */
 
-public class DuplicateIds04TestCase extends AbstractTestCase {
+public class DuplicateIds04TestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/projectstage/FormOmittedTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/projectstage/FormOmittedTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/projectstage/FormOmittedTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.systest.projectstage;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -50,7 +50,7 @@
  * <p>Test Case for checking if form is omitted when there is a button/link in the page.</p>
  */
 
-public class FormOmittedTestCase extends AbstractTestCase {
+public class FormOmittedTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/src/com/sun/faces/systest/projectstage/ProjectStageTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/projectstage/ProjectStageTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/projectstage/ProjectStageTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.projectstage;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class ProjectStageTestCase extends AbstractTestCase {
+public class ProjectStageTestCase extends HtmlUnitFacesTestCase {
 
 
     public ProjectStageTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/SelectManyCollectionTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/SelectManyCollectionTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/SelectManyCollectionTestCase.java (working copy)
@@ -43,7 +43,7 @@
 import java.util.List;
 import java.util.ArrayList;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlOption;
@@ -52,7 +52,7 @@
 import junit.framework.TestSuite;
 
 
-public class SelectManyCollectionTestCase extends AbstractTestCase {
+public class SelectManyCollectionTestCase extends HtmlUnitFacesTestCase {
 
 
     /**
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/interweaving/InterweavingTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/interweaving/InterweavingTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/interweaving/InterweavingTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.interweaving;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class InterweavingTestCase extends AbstractTestCase {
+public class InterweavingTestCase extends HtmlUnitFacesTestCase {
 
 
     public InterweavingTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/regressions/RegressionsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/regressions/RegressionsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/regressions/RegressionsTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.regressions;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class RegressionsTestCase extends AbstractTestCase {
+public class RegressionsTestCase extends HtmlUnitFacesTestCase {
 
 
     public RegressionsTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/subview/SubviewTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/subview/SubviewTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/subview/SubviewTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.subview;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class SubviewTestCase extends AbstractTestCase {
+public class SubviewTestCase extends HtmlUnitFacesTestCase {
 
 
     public SubviewTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/config/ConfigTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/config/ConfigTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/config/ConfigTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.config;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class ConfigTestCase extends AbstractTestCase {
+public class ConfigTestCase extends HtmlUnitFacesTestCase {
 
 
     public ConfigTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/converter/ConverterTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/converter/ConverterTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/converter/ConverterTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.converter;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class ConverterTestCase extends AbstractTestCase {
+public class ConverterTestCase extends HtmlUnitFacesTestCase {
 
 
     public ConverterTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.htmltaglib;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class HtmlTaglibTestCase extends AbstractTestCase {
+public class HtmlTaglibTestCase extends HtmlUnitFacesTestCase {
 
 
     public HtmlTaglibTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/jsp/managed/ManagedTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/jsp/managed/ManagedTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/jsp/managed/ManagedTestCase.java (working copy)
@@ -42,13 +42,13 @@
 package com.sun.faces.systest.jsp.managed;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class ManagedTestCase extends AbstractTestCase {
+public class ManagedTestCase extends HtmlUnitFacesTestCase {
 
 
     public ManagedTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/viewparameters/ViewParametersTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/viewparameters/ViewParametersTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/viewparameters/ViewParametersTestCase.java (working copy)
@@ -46,7 +46,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.net.URL;
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -54,7 +54,7 @@
 /**
  * Test cases for Facelets functionality
  */
-public class ViewParametersTestCase extends AbstractTestCase {
+public class ViewParametersTestCase extends HtmlUnitFacesTestCase {
 
 
     // --------------------------------------------------------------- Test Init
Index: jsf-ri/systest/src/com/sun/faces/systest/LinkTypeAttributeTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/LinkTypeAttributeTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/LinkTypeAttributeTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 
@@ -50,7 +50,7 @@
 /**
  * Test case for issue 1098.
  */
-public class LinkTypeAttributeTestCase extends AbstractTestCase {
+public class LinkTypeAttributeTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest/src/com/sun/faces/systest/ConditionalNavigationTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/ConditionalNavigationTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/ConditionalNavigationTestCase.java (working copy)
@@ -45,9 +45,9 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
-public class ConditionalNavigationTestCase extends AbstractTestCase {
+public class ConditionalNavigationTestCase extends HtmlUnitFacesTestCase {
 
 
     public ConditionalNavigationTestCase(String name) {
Index: jsf-ri/systest/src/com/sun/faces/systest/el/ELTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/el/ELTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/el/ELTestCase.java (working copy)
@@ -45,7 +45,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
@@ -53,7 +53,7 @@
 /**
  * Validate new EL features such as the component implicit object
  */
-public class ELTestCase extends AbstractTestCase {
+public class ELTestCase extends HtmlUnitFacesTestCase {
 
     public ELTestCase(String name) {
         super(name);
Index: jsf-ri/systest/src/com/sun/faces/systest/OutputTargetsTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/OutputTargetsTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/OutputTargetsTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
@@ -53,7 +53,7 @@
 /**
  * Test h:link and h:button.
  */
-public class OutputTargetsTestCase extends AbstractTestCase {
+public class OutputTargetsTestCase extends HtmlUnitFacesTestCase {
 
     /**
      * Construct a new instance of this test case.
Index: jsf-ri/systest/src/com/sun/faces/systest/SelectOneValueExpressionHideNoSelectionTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/SelectOneValueExpressionHideNoSelectionTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/SelectOneValueExpressionHideNoSelectionTestCase.java (working copy)
@@ -46,10 +46,10 @@
 import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
 
-public class SelectOneValueExpressionHideNoSelectionTestCase extends AbstractTestCase {
+public class SelectOneValueExpressionHideNoSelectionTestCase extends HtmlUnitFacesTestCase {
 
     private HtmlPage page;
 
Index: jsf-ri/systest/src/com/sun/faces/systest/resources/ResourceBundleELResolverTestCase.java
===================================================================
--- jsf-ri/systest/src/com/sun/faces/systest/resources/ResourceBundleELResolverTestCase.java (revision 8876)
+++ jsf-ri/systest/src/com/sun/faces/systest/resources/ResourceBundleELResolverTestCase.java (working copy)
@@ -42,12 +42,12 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class ResourceBundleELResolverTestCase extends AbstractTestCase {
+public class ResourceBundleELResolverTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest/build-tests.xml
===================================================================
--- jsf-ri/systest/build-tests.xml (revision 8876)
+++ jsf-ri/systest/build-tests.xml (working copy)
@@ -61,12 +61,6 @@
 
     <property name="regexp.path" value="${basedir}/web/regexp"/>
 
- <!-- HtmlUnit client classpath -->
- <path id="html.classpath">
- <pathelement location="${basedir}/build/classes"/>
- <path refid="htmlunit.runtime.classpath"/>
- </path>
-
     <!-- ======================== Test Execution ============================== -->
     <!-- converter06 impl logic deferred to 2.0 -->
     <!-- DO NOT REORDER test.annotations -->
Index: jsf-ri/systest-per-webapp/invalid-mapping/src/java/com/sun/faces/systest/InvalidMappingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/invalid-mapping/src/java/com/sun/faces/systest/InvalidMappingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/invalid-mapping/src/java/com/sun/faces/systest/InvalidMappingTestCase.java (working copy)
@@ -42,12 +42,12 @@
 
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class InvalidMappingTestCase extends AbstractTestCase {
+public class InvalidMappingTestCase extends HtmlUnitFacesTestCase {
 
     public InvalidMappingTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/injection/src/java/com/sun/faces/systest/InjectionTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/injection/src/java/com/sun/faces/systest/InjectionTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/injection/src/java/com/sun/faces/systest/InjectionTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -58,7 +58,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class InjectionTestCase extends AbstractTestCase {
+public class InjectionTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/request-char-encoding-no-session/src/java/com/sun/faces/systest/NoSessionCharEncTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/request-char-encoding-no-session/src/java/com/sun/faces/systest/NoSessionCharEncTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/request-char-encoding-no-session/src/java/com/sun/faces/systest/NoSessionCharEncTestCase.java (working copy)
@@ -42,12 +42,12 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class NoSessionCharEncTestCase extends AbstractTestCase {
+public class NoSessionCharEncTestCase extends HtmlUnitFacesTestCase {
 
     public NoSessionCharEncTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/nested-datatables/src/java/com/sun/faces/systest/NestedDatatablesTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/nested-datatables/src/java/com/sun/faces/systest/NestedDatatablesTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/nested-datatables/src/java/com/sun/faces/systest/NestedDatatablesTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -66,7 +66,7 @@
  * <p>Make sure that only unique view ids are saved in the session</p>
  */
 
-public class NestedDatatablesTestCase extends AbstractTestCase {
+public class NestedDatatablesTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/replace-statemanager/src/java/com/sun/faces/systest/ReplaceStateManagerTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-statemanager/src/java/com/sun/faces/systest/ReplaceStateManagerTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-statemanager/src/java/com/sun/faces/systest/ReplaceStateManagerTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceStateManagerTestCase extends AbstractTestCase {
+public class ReplaceStateManagerTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java (working copy)
@@ -46,13 +46,13 @@
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import java.util.List;
 
-public class NoWebXMLTestCase extends AbstractTestCase {
+public class NoWebXMLTestCase extends HtmlUnitFacesTestCase {
 
     public NoWebXMLTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/replace-variableresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-variableresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-variableresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -56,7 +56,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceVariableResolverTestCase extends AbstractTestCase {
+public class ReplaceVariableResolverTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/suppress-xml-decl/src/java/com/sun/faces/systest/SuppressXmlDeclTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/suppress-xml-decl/src/java/com/sun/faces/systest/SuppressXmlDeclTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/suppress-xml-decl/src/java/com/sun/faces/systest/SuppressXmlDeclTestCase.java (working copy)
@@ -42,7 +42,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.URL;
@@ -52,7 +52,7 @@
 import junit.framework.TestSuite;
 
 
-public class SuppressXmlDeclTestCase extends AbstractTestCase {
+public class SuppressXmlDeclTestCase extends HtmlUnitFacesTestCase {
 
     private final static Pattern XmlDeclaration = Pattern.compile("^<\\?xml.+?version=['\"](.+?)['\"](.+?encoding=['\"]((.+?))['\"])?.*?\\?>");
 
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (working copy)
@@ -44,13 +44,13 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.util.List;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+public class ClusterNoAgressiveSessionDirtyingTestCase extends HtmlUnitFacesTestCase {
 
     public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/disable-bean-validator/src/java/com/sun/faces/systest/DisableBeanValidatorTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/disable-bean-validator/src/java/com/sun/faces/systest/DisableBeanValidatorTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/disable-bean-validator/src/java/com/sun/faces/systest/DisableBeanValidatorTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class DisableBeanValidatorTestCase extends AbstractTestCase {
+public class DisableBeanValidatorTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/annotation-restrictions/src/java/com/sun/faces/systest/AnnotationProcessingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/annotation-restrictions/src/java/com/sun/faces/systest/AnnotationProcessingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/annotation-restrictions/src/java/com/sun/faces/systest/AnnotationProcessingTestCase.java (working copy)
@@ -43,9 +43,9 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
-public class AnnotationProcessingTestCase extends AbstractTestCase {
+public class AnnotationProcessingTestCase extends HtmlUnitFacesTestCase {
 
 
     public AnnotationProcessingTestCase(String name) {
Index: jsf-ri/systest-per-webapp/write-attribute-script-disabled/src/java/com/sun/faces/systest/WriteAttributeScriptDisabledTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/write-attribute-script-disabled/src/java/com/sun/faces/systest/WriteAttributeScriptDisabledTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/write-attribute-script-disabled/src/java/com/sun/faces/systest/WriteAttributeScriptDisabledTestCase.java (working copy)
@@ -45,14 +45,14 @@
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import java.util.List;
 
 
-public class WriteAttributeScriptDisabledTestCase extends AbstractTestCase {
+public class WriteAttributeScriptDisabledTestCase extends HtmlUnitFacesTestCase {
 
     public WriteAttributeScriptDisabledTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/never-unwrap-exceptions/src/java/com/sun/faces/systest/NeverUnwrapExceptionsTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/never-unwrap-exceptions/src/java/com/sun/faces/systest/NeverUnwrapExceptionsTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/never-unwrap-exceptions/src/java/com/sun/faces/systest/NeverUnwrapExceptionsTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -66,7 +66,7 @@
  * <p>Make sure that only unique view ids are saved in the session</p>
  */
 
-public class NeverUnwrapExceptionsTestCase extends AbstractTestCase {
+public class NeverUnwrapExceptionsTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/formOmittedTrinidad/src/java/com/sun/faces/systest/FormOmittedTrinidadTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/formOmittedTrinidad/src/java/com/sun/faces/systest/FormOmittedTrinidadTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/formOmittedTrinidad/src/java/com/sun/faces/systest/FormOmittedTrinidadTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.systest;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -50,7 +50,7 @@
  * <p>Test Case for checking if form is omitted when there is a button/link in the page.</p>
  */
 
-public class FormOmittedTrinidadTestCase extends AbstractTestCase {
+public class FormOmittedTrinidadTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/view-expired/src/java/com/sun/faces/systest/ViewExpiredExceptionTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/view-expired/src/java/com/sun/faces/systest/ViewExpiredExceptionTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/view-expired/src/java/com/sun/faces/systest/ViewExpiredExceptionTestCase.java (working copy)
@@ -45,12 +45,12 @@
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class ViewExpiredExceptionTestCase extends AbstractTestCase {
+public class ViewExpiredExceptionTestCase extends HtmlUnitFacesTestCase {
 
     public ViewExpiredExceptionTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/clientside-statesaving/src/java/com/sun/faces/systest/clientside/AjaxMultiformTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/clientside-statesaving/src/java/com/sun/faces/systest/clientside/AjaxMultiformTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/clientside-statesaving/src/java/com/sun/faces/systest/clientside/AjaxMultiformTestCase.java (working copy)
@@ -40,13 +40,13 @@
 
 package com.sun.faces.systest.clientside;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.sun.faces.ajax.AjaxTagTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.*;
 
-public class AjaxMultiformTestCase extends AbstractTestCase {
+public class AjaxMultiformTestCase extends HtmlUnitFacesTestCase {
 
     public AjaxMultiformTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/string-converter/src/java/com/sun/faces/systest/StringConverterTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/string-converter/src/java/com/sun/faces/systest/StringConverterTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/string-converter/src/java/com/sun/faces/systest/StringConverterTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class StringConverterTestCase extends AbstractTestCase {
+public class StringConverterTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/converter-property-editor/src/java/com/sun/faces/systest/ConverterPropertyEditorTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/converter-property-editor/src/java/com/sun/faces/systest/ConverterPropertyEditorTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/converter-property-editor/src/java/com/sun/faces/systest/ConverterPropertyEditorTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ConverterPropertyEditorTestCase extends AbstractTestCase {
+public class ConverterPropertyEditorTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/disable-unicode-escaping/src/java/com/sun/faces/systest/UnicodeTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/disable-unicode-escaping/src/java/com/sun/faces/systest/UnicodeTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/disable-unicode-escaping/src/java/com/sun/faces/systest/UnicodeTestCase.java (working copy)
@@ -41,7 +41,7 @@
 package com.sun.faces.systest;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -51,7 +51,7 @@
  * bulk of the requests works. </p>
  */
 
-public class UnicodeTestCase extends AbstractTestCase {
+public class UnicodeTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest-per-webapp/resource-locale-prefix/src/java/com/sun/faces/systest/ResourceLocalePrefixTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/resource-locale-prefix/src/java/com/sun/faces/systest/ResourceLocalePrefixTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/resource-locale-prefix/src/java/com/sun/faces/systest/ResourceLocalePrefixTestCase.java (working copy)
@@ -48,12 +48,12 @@
 import com.gargoylesoftware.htmlunit.html.HtmlImage;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
-public class ResourceLocalePrefixTestCase extends AbstractTestCase {
+public class ResourceLocalePrefixTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest-per-webapp/late-bindings/src/java/com/sun/faces/systest/LateBindingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/late-bindings/src/java/com/sun/faces/systest/LateBindingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/late-bindings/src/java/com/sun/faces/systest/LateBindingTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.systest;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import junit.framework.Test;
@@ -54,7 +54,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class LateBindingTestCase extends AbstractTestCase {
+public class LateBindingTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java (working copy)
@@ -52,7 +52,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -69,7 +69,7 @@
  * is submitted along with a button press.</p>
  */
 
-public class CommandLinkBackButtonTestCase extends AbstractTestCase {
+public class CommandLinkBackButtonTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/replace-variableresolver/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-variableresolver/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-variableresolver/src/java/com/sun/faces/systest/ReplaceVariableResolverTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceVariableResolverTestCase extends AbstractTestCase {
+public class ReplaceVariableResolverTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/characterCombat/src/java/characterCombat/CharacterCombatTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/characterCombat/src/java/characterCombat/CharacterCombatTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/characterCombat/src/java/characterCombat/CharacterCombatTestCase.java (working copy)
@@ -43,13 +43,13 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class CharacterCombatTestCase extends AbstractTestCase {
+public class CharacterCombatTestCase extends HtmlUnitFacesTestCase {
 
 
     public CharacterCombatTestCase(String name) {
Index: jsf-ri/systest-per-webapp/jar-ordering/src/java/com/sun/faces/systest/JarOrderingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/jar-ordering/src/java/com/sun/faces/systest/JarOrderingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/jar-ordering/src/java/com/sun/faces/systest/JarOrderingTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -66,7 +66,7 @@
  * <p>Make sure that only unique view ids are saved in the session</p>
  */
 
-public class JarOrderingTestCase extends AbstractTestCase {
+public class JarOrderingTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/core-tags/src/java/com/sun/faces/systest/CoreTagsTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/core-tags/src/java/com/sun/faces/systest/CoreTagsTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/core-tags/src/java/com/sun/faces/systest/CoreTagsTestCase.java (working copy)
@@ -52,7 +52,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -69,7 +69,7 @@
  * is submitted along with a button press.</p>
  */
 
-public class CoreTagsTestCase extends AbstractTestCase {
+public class CoreTagsTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/groovy/src/java/com/sun/faces/systest/GroovyTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/groovy/src/java/com/sun/faces/systest/GroovyTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/groovy/src/java/com/sun/faces/systest/GroovyTestCase.java (working copy)
@@ -46,13 +46,13 @@
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
 import com.gargoylesoftware.htmlunit.html.HtmlForm;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import java.util.List;
 
-public class GroovyTestCase extends AbstractTestCase {
+public class GroovyTestCase extends HtmlUnitFacesTestCase {
 
     public GroovyTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/document-ordering/src/java/com/sun/faces/systest/DocumentOrderingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/document-ordering/src/java/com/sun/faces/systest/DocumentOrderingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/document-ordering/src/java/com/sun/faces/systest/DocumentOrderingTestCase.java (working copy)
@@ -43,9 +43,9 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
-public class DocumentOrderingTestCase extends AbstractTestCase {
+public class DocumentOrderingTestCase extends HtmlUnitFacesTestCase {
 
 
     public DocumentOrderingTestCase(String name) {
Index: jsf-ri/systest-per-webapp/absolute-ordering/src/java/com/sun/faces/systest/AbsoluteOrderingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/absolute-ordering/src/java/com/sun/faces/systest/AbsoluteOrderingTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/absolute-ordering/src/java/com/sun/faces/systest/AbsoluteOrderingTestCase.java (working copy)
@@ -43,9 +43,9 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 
-public class AbsoluteOrderingTestCase extends AbstractTestCase {
+public class AbsoluteOrderingTestCase extends HtmlUnitFacesTestCase {
 
 
     public AbsoluteOrderingTestCase(String name) {
Index: jsf-ri/systest-per-webapp/write-attribute-script-enabled/src/java/com/sun/faces/systest/WriteAttributeScriptEnabledTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/write-attribute-script-enabled/src/java/com/sun/faces/systest/WriteAttributeScriptEnabledTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/write-attribute-script-enabled/src/java/com/sun/faces/systest/WriteAttributeScriptEnabledTestCase.java (working copy)
@@ -45,13 +45,13 @@
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 import java.util.List;
 
-public class WriteAttributeScriptEnabledTestCase extends AbstractTestCase {
+public class WriteAttributeScriptEnabledTestCase extends HtmlUnitFacesTestCase {
 
     public WriteAttributeScriptEnabledTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/myfaces-uidata-component-state-test/src/java/com/sun/faces/systest/myfaces_uidata_component_state_test/MyFacesUIDataTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/myfaces-uidata-component-state-test/src/java/com/sun/faces/systest/myfaces_uidata_component_state_test/MyFacesUIDataTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/myfaces-uidata-component-state-test/src/java/com/sun/faces/systest/myfaces_uidata_component_state_test/MyFacesUIDataTestCase.java (working copy)
@@ -41,11 +41,11 @@
 package com.sun.faces.systest.myfaces_uidata_component_state_test;
 
 import com.gargoylesoftware.htmlunit.html.*;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class MyFacesUIDataTestCase extends AbstractTestCase {
+public class MyFacesUIDataTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: jsf-ri/systest-per-webapp/jsp-flash/src/java/com/sun/faces/systest/JspFlashTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/jsp-flash/src/java/com/sun/faces/systest/JspFlashTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/jsp-flash/src/java/com/sun/faces/systest/JspFlashTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -58,7 +58,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class JspFlashTestCase extends AbstractTestCase {
+public class JspFlashTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/add-elresolver-and-replace-variableresolver-programmatically/src/java/com/sun/faces/systest/AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/add-elresolver-and-replace-variableresolver-programmatically/src/java/com/sun/faces/systest/AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/add-elresolver-and-replace-variableresolver-programmatically/src/java/com/sun/faces/systest/AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -56,7 +56,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase extends AbstractTestCase {
+public class AddELResolverAndReplaceVariableresolverProgrammaticallyTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/replace-variableresolver-and-add-elresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-variableresolver-and-add-elresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-variableresolver-and-add-elresolver-programmatically/src/java/com/sun/faces/systest/ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -56,7 +56,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase extends AbstractTestCase {
+public class ReplaceVariableResolverAndAddELResolverProgrammaticallyTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/flash/src/java/com/sun/faces/systest/FlashTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/flash/src/java/com/sun/faces/systest/FlashTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/flash/src/java/com/sun/faces/systest/FlashTestCase.java (working copy)
@@ -45,7 +45,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -58,7 +58,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class FlashTestCase extends AbstractTestCase {
+public class FlashTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/build-tests.xml
===================================================================
--- jsf-ri/systest-per-webapp/build-tests.xml (revision 8876)
+++ jsf-ri/systest-per-webapp/build-tests.xml (working copy)
@@ -234,6 +234,7 @@
                 <pathelement location="@{app-base-dir}/build/classes"/>
                 <pathelement location="${basedir}/build/classes"/>
                 <path refid="htmlunit.runtime.classpath"/>
+ <path refid="html.classpath"/>
             </path>
             <jsf.junit classpath-refid="test.classpath"
                        context-path="/jsf-@{app-name}"
Index: jsf-ri/systest-per-webapp/replace-vdl/src/java/com/sun/faces/systest/replacevdl/ReplaceViewDeclarationLanguageTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-vdl/src/java/com/sun/faces/systest/replacevdl/ReplaceViewDeclarationLanguageTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-vdl/src/java/com/sun/faces/systest/replacevdl/ReplaceViewDeclarationLanguageTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -56,7 +56,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceViewDeclarationLanguageTestCase extends AbstractTestCase {
+public class ReplaceViewDeclarationLanguageTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/wcag-datatable/src/java/com/sun/faces/systest/WcagDataTableTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/wcag-datatable/src/java/com/sun/faces/systest/WcagDataTableTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/wcag-datatable/src/java/com/sun/faces/systest/WcagDataTableTestCase.java (working copy)
@@ -49,7 +49,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -66,7 +66,7 @@
  * but uses the decorator pattern to allow the existing ApplicationImpl
  * to do the bulk of the requests works.</p>
  */
-public class WcagDataTableTestCase extends AbstractTestCase {
+public class WcagDataTableTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/process-as-jspx/src/java/com/sun/faces/systest/ProcessAsJspxTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/process-as-jspx/src/java/com/sun/faces/systest/ProcessAsJspxTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/process-as-jspx/src/java/com/sun/faces/systest/ProcessAsJspxTestCase.java (working copy)
@@ -43,7 +43,7 @@
 
 import com.gargoylesoftware.htmlunit.Page;
 import com.gargoylesoftware.htmlunit.WebResponse;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.URL;
@@ -52,7 +52,7 @@
 import junit.framework.TestSuite;
 
 
-public class ProcessAsJspxTestCase extends AbstractTestCase {
+public class ProcessAsJspxTestCase extends HtmlUnitFacesTestCase {
 
     private final static Pattern XmlDeclaration = Pattern.compile("(?s)^<\\?xml(\\s)*version=.*\\?>.*");
     private final static Pattern XmlDoctype = Pattern.compile("(?s).*<!DOCTYPE.*>.*");
Index: jsf-ri/systest-per-webapp/replace-lifecycle/src/java/com/sun/faces/systest/ReplaceLifecycleTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-lifecycle/src/java/com/sun/faces/systest/ReplaceLifecycleTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-lifecycle/src/java/com/sun/faces/systest/ReplaceLifecycleTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -69,7 +69,7 @@
  * replaced lifecycle id.</p>
  */
 
-public class ReplaceLifecycleTestCase extends AbstractTestCase {
+public class ReplaceLifecycleTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/empty-string-as-null/src/java/com/sun/faces/systest/EmptyStringAsNullTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/empty-string-as-null/src/java/com/sun/faces/systest/EmptyStringAsNullTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/empty-string-as-null/src/java/com/sun/faces/systest/EmptyStringAsNullTestCase.java (working copy)
@@ -43,11 +43,11 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
-public class EmptyStringAsNullTestCase extends AbstractTestCase {
+public class EmptyStringAsNullTestCase extends HtmlUnitFacesTestCase {
 
     public EmptyStringAsNullTestCase(String name) {
         super(name);
Index: jsf-ri/systest-per-webapp/bogus-render-kit-id/src/java/com/sun/faces/systest/render/BogusRenderKitIdTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/bogus-render-kit-id/src/java/com/sun/faces/systest/render/BogusRenderKitIdTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/bogus-render-kit-id/src/java/com/sun/faces/systest/render/BogusRenderKitIdTestCase.java (working copy)
@@ -43,13 +43,13 @@
 
 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 
 
-public class BogusRenderKitIdTestCase extends AbstractTestCase {
+public class BogusRenderKitIdTestCase extends HtmlUnitFacesTestCase {
 
 
     public BogusRenderKitIdTestCase(String name) {
Index: jsf-ri/systest-per-webapp/nested-loadbundles/src/java/com/sun/faces/systest/NestedLoadBundlesTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/nested-loadbundles/src/java/com/sun/faces/systest/NestedLoadBundlesTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/nested-loadbundles/src/java/com/sun/faces/systest/NestedLoadBundlesTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -66,7 +66,7 @@
  * <p>Make sure loadBundle works as expected in JSF 1.2</p>
  */
 
-public class NestedLoadBundlesTestCase extends AbstractTestCase {
+public class NestedLoadBundlesTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/replace-application/src/java/com/sun/faces/systest/ReplaceApplicationTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/replace-application/src/java/com/sun/faces/systest/ReplaceApplicationTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/replace-application/src/java/com/sun/faces/systest/ReplaceApplicationTestCase.java (working copy)
@@ -50,7 +50,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlRadioButtonInput;
 import com.gargoylesoftware.htmlunit.html.HtmlSelect;
 import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +68,7 @@
  * to do the bulk of the requests works.</p>
  */
 
-public class ReplaceApplicationTestCase extends AbstractTestCase {
+public class ReplaceApplicationTestCase extends HtmlUnitFacesTestCase {
 
 
     // ------------------------------------------------------------ Constructors
Index: jsf-ri/systest-per-webapp/property-resolver-jsp/src/java/com/sun/faces/systest/PropertyResolverJspTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/property-resolver-jsp/src/java/com/sun/faces/systest/PropertyResolverJspTestCase.java (revision 8876)
+++ jsf-ri/systest-per-webapp/property-resolver-jsp/src/java/com/sun/faces/systest/PropertyResolverJspTestCase.java (working copy)
@@ -40,7 +40,7 @@
 
 package com.sun.faces.systest;
 
-import com.sun.faces.htmlunit.AbstractTestCase;
+import com.sun.faces.htmlunit.HtmlUnitFacesTestCase;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -51,7 +51,7 @@
  * JSP layer still works.</p>
  */
 
-public class PropertyResolverJspTestCase extends AbstractTestCase {
+public class PropertyResolverJspTestCase extends HtmlUnitFacesTestCase {
 
     // ------------------------------------------------------------ Constructors
 
Index: build.xml
===================================================================
--- build.xml (revision 8876)
+++ build.xml (working copy)
@@ -86,6 +86,9 @@
                 <filelist dir="${impl.dir}">
                     <file name="build.xml"/>
                 </filelist>
+ <filelist dir="${regression.test.dir}">
+ <file name="build.xml"/>
+ </filelist>
                 <!-- taking jsf-demo out of the standard build/test loop
                      as one can't build the current source bundle as jsf-demo
                      isn't included

Property changes on: jsf-test
___________________________________________________________________
Added: svn:ignore
   + build
status.txt


Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java/beans/Bean.java
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java/beans/Bean.java (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/java/beans/Bean.java (revision 0)
@@ -0,0 +1,58 @@
+
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can obtain
+ * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ * or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ * Sun designates this particular file as subject to the "Classpath" exception
+ * as provided by Sun in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the License
+ * Header, with the fields enclosed by brackets [] replaced by your own
+ * identifying information: "Portions Copyrighted [year]
+ * [name of copyright owner]"
+ *
+ * Contributor(s):
+ *
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package beans;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.NoneScoped;
+
+_at_ManagedBean
+_at_NoneScoped
+public class Bean {
+
+ protected String foo = "bar";
+
+ public String getFoo() {
+ return foo;
+ }
+
+ public void setFoo(String foo) {
+ this.foo = foo;
+ }
+
+
+}
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources/META-INF/faces-config.xml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources/META-INF/faces-config.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/src/main/resources/META-INF/faces-config.xml (revision 0)
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ version="2.0">
+
+</faces-config>
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/pom.xml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/pom.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-jar-for-WEB-INF-lib/pom.xml (revision 0)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.sun.faces.test</groupId>
+ <artifactId>bean</artifactId>
+ <packaging>jar</packaging>
+ <name>bean jar</name>
+ <version>1.0</version>
+
+ <properties>
+
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>6.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill/face/readme.txt
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill/face/readme.txt (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/java/ndx/bill/face/readme.txt (revision 0)
@@ -0,0 +1 @@
+Since Archetype "create" can not create empty directories this file was created. It is safe to delete
\ No newline at end of file
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/resources/log4j.properties
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/resources/log4j.properties (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/test/resources/log4j.properties (revision 0)
@@ -0,0 +1,8 @@
+log4j.rootCategory=INFO, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout.ConversionPattern=%t %p [%c] - %m%n
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.threshold=TRACE
+
+#log4j.logger.org.springframework.osgi=DEBUG
+#log4j.logger.org.springframework=DEBUG
\ No newline at end of file
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages.properties
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages.properties (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages.properties (revision 0)
@@ -0,0 +1,12 @@
+Errors.AlreadyExists = Resource already exists
+Errors.InternalError = Internal Error. Please tell out Support Team about.
+Errors.PasswordIncorrect = Incorrect password
+Errors.PermissionDenied = Permission Denied.
+Errors.TariffLimit = Tariff limit exception. Operation declined.
+Errors.UserNotExists = User not exists
+Errors.UsernameIncorrect = User name is incorrect
+
+OK = OK
+
+loginmenu.password = Password
+loginmenu.username = Username
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages_ru.properties
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages_ru.properties (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/Messages_ru.properties (revision 0)
@@ -0,0 +1,12 @@
+
+Errors.AlreadyExists = \u0422\u0430\u043A\u043E\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
+Errors.InternalError = \u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u043E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044C \u0432 \u0441\u043B\u0443\u0436\u0431\u0443 \u043F\u043E\u0436\u0436\u0435\u0440\u0436\u043A\u0438.
+Errors.PasswordIncorrect = \u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C
+Errors.PermissionDenied = \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u043E
+Errors.TariffLimit = \u0412\u044B \u0432\u044B\u0445\u043E\u0434\u0438\u0442\u0435 \u0437\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F \u0412\u0430\u0448\u0435\u0433\u043E \u0442\u0430\u0440\u0438\u0444\u043D\u043E\u0433\u043E \u043F\u043B\u0430\u043D\u0430. \u041E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u043F\u0440\u0449\u0435\u043D\u0430.
+Errors.UserNotExists = \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442
+Errors.UsernameIncorrect = \u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0435 \u0438\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F
+OK = OK
+
+loginmenu.password = \u041F\u0430\u0440\u043E\u043B\u044C
+loginmenu.username = \u041B\u043E\u0433\u0438\u043D
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/log4j.properties
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/log4j.properties (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/resources/log4j.properties (revision 0)
@@ -0,0 +1,8 @@
+log4j.rootCategory=INFO, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout.ConversionPattern=%t %p [%c] - %m%n
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.threshold=TRACE
+
+#log4j.logger.org.springframework.osgi=DEBUG
+#log4j.logger.org.springframework=DEBUG
\ No newline at end of file
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/i_gf_11636.xhtml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/i_gf_11636.xhtml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/i_gf_11636.xhtml (revision 0)
@@ -0,0 +1,4 @@
+<ui:composition xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets"
+ template="/WEB-INF/pages/login.xhtml">
+</ui:composition>
+
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/index.jsp
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/index.jsp (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/index.jsp (revision 0)
@@ -0,0 +1,4 @@
+<%
+ response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
+ response.sendRedirect("/jsf-wab-test/i_gf_11636.page");
+%>
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/pages/login.xhtml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/pages/login.xhtml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/pages/login.xhtml (revision 0)
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <f:view>
+ <h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ </h:head>
+ <h:body>
+
+ <h:form>
+ <h:inputText />
+ </h:form>
+
+ <p>bean: #{bean.foo}</p>
+ </h:body>
+ </f:view>
+</html>
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/faces-config.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/faces-config.xml (revision 0)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ metadata-complete="false">
+ <application>
+ <locale-config>
+ <default-locale>ru</default-locale>
+ <supported-locale>ru</supported-locale>
+ <supported-locale>en</supported-locale>
+ </locale-config>
+ <resource-bundle>
+ <base-name>ndx.bill.face.system.Messages</base-name>
+ <var>msg</var>
+ </resource-bundle>
+ </application>
+ <navigation-rule>
+ </navigation-rule>
+</faces-config>
+
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/web.xml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/web.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/src/main/webapp/WEB-INF/web.xml (revision 0)
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
+ <display-name>Test1</display-name>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>server</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.PROJECT_STAGE</param-name>
+ <param-value>Development</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.FACELETS_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.allowTextChildren</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+
+ <listener>
+ <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
+ </listener>
+ <!--JSF-->
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.page</url-pattern>
+ </servlet-mapping>
+ <!--JSF-->
+ <welcome-file-list>
+ <welcome-file>/index.jsp</welcome-file>
+ </welcome-file-list>
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+</web-app>
\ No newline at end of file
Index: jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/pom.xml
===================================================================
--- jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/pom.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/maven-module-that-makes-wab/pom.xml (revision 0)
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>ndx.test</groupId>
+ <artifactId>jsf-wab-test</artifactId>
+ <packaging>war</packaging>
+ <name>Test Module</name>
+ <version>0.0.2</version>
+
+ <description>cp /Users/edburns/.m2/repository/ndx/test/Test1/0.0.2/Test1-0.0.2.war /Users/edburns/Documents/JavaEE/workareas/glassfish31-1HEAD/distributions/glassfish/target-20100903-0945/glassfishv3/glassfish/domains/domain1/autodeploy/bundles</description>
+
+ <properties>
+
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>6.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.faces.test</groupId>
+ <artifactId>bean</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>jsf-wab-test</finalName>
+ <resources>
+ <!-- plus root folder -->
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>Messa*.properties</include>
+ </includes>
+ <targetPath>ndx/bill/face/system</targetPath>
+ </resource>
+ </resources>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <version>2.0</version>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.0.1</version>
+ <extensions>true</extensions>
+ <configuration>
+ <supportedProjectTypes>
+ <supportedProjectType>jar</supportedProjectType>
+ <supportedProjectType>bundle</supportedProjectType>
+ <supportedProjectType>war</supportedProjectType>
+ </supportedProjectTypes>
+ <obrRepository>NONE</obrRepository>
+ <instructions>
+ <Export-Package>!ndx.bill.face</Export-Package>
+ <Private-Package>ndx.bill.face</Private-Package>
+ <DynamicImport-Package>javax.*, org.*, com.sun.faces.*</DynamicImport-Package>
+ <Web-ContextPath>/jsf-wab-test</Web-ContextPath>
+ <Import-Package>*;resolution:=optional</Import-Package>
+ <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Embed-Directory>WEB-INF/lib</Embed-Directory>
+ <Embed-StripVersion>false</Embed-StripVersion>
+ <Embed-StripGroup>true</Embed-StripGroup>
+ <Bundle-ClassPath>.,WEB-INF/classes</Bundle-ClassPath>
+ </instructions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+
+ <repository>
+ <id>jboss</id>
+ <url>http://repository.jboss.com/maven2</url>
+ </repository>
+ <repository>
+ <id>primefaces</id>
+ <url>http://repository.prime.com.tr</url>
+ </repository>
+
+
+
+ <repository>
+ <id>ibiblio.org</id>
+ <name>ibiblio.org</name>
+ <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
+ </repository>
+
+ <repository>
+ <id>download.java.net</id>
+ <url>http://download.java.net/maven/glassfish</url>
+ </repository>
+
+ <repository>
+ <id>download.java.net-2</id>
+ <url>http://download.java.net/maven/2/</url>
+ </repository>
+
+ <repository>
+ <id>com.springsource.repository.bundles.external</id>
+ <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
+ <url>http://repository.springsource.com/maven/bundles/external</url>
+ </repository>
+
+ <repository>
+ <id>com.springsource.repository.bundles.release</id>
+ <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
+ <url>http://repository.springsource.com/maven/bundles/release</url>
+ </repository>
+
+ <repository>
+ <id>com.springsource.repository.bundles.milestone</id>
+ <name>SpringSource Enterprise Bundle Repository - SpringSource Milestone Releases</name>
+ <url>http://repository.springsource.com/maven/bundles/milestone</url>
+ </repository>
+
+ <repository>
+ <id>com.springsource.repository.bundles.milestone-2</id>
+ <name>SpringSource Enterprise Bundle Repository - SpringSource Milestone Releases</name>
+ <url>http://maven.springframework.org/milestone</url>
+ </repository>
+
+ <repository>
+ <id>eclipse-repository</id>
+ <name>Eclipse Repository</name>
+ <url>http://repo1.maven.org/eclipse/</url>
+ <releases>
+ <updatePolicy>daily</updatePolicy>
+ </releases>
+ </repository>
+
+ <repository>
+ <id>spring-maven-snapshot</id>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <name>Springframework Maven SNAPSHOT Repository</name>
+ <url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
+ </repository>
+ <repository>
+ <id>spring-maven-milestone</id>
+ <name>Springframework Maven Repository</name>
+ <url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
+ </repository>
+
+ </repositories>
+
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven-repo</id>
+ <name>maven repo</name>
+ <url>http://repo1.maven.org/maven2/</url>
+ </pluginRepository>
+
+ </pluginRepositories>
+
+</project>
Index: jsf-test/GLASSFISH-11636/build.xml
===================================================================
--- jsf-test/GLASSFISH-11636/build.xml (revision 0)
+++ jsf-test/GLASSFISH-11636/build.xml (revision 0)
@@ -0,0 +1,104 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+-->
+
+<!-- ************ JSF build file ************************************** -->
+
+<project name="GLASSFISH-11636" default="test" basedir=".">
+
+ <import file="${jsf.build.home}/common/ant/common.xml"/>
+
+ <target name="build">
+
+ <jsf.mvn dir="${basedir}/maven-module-that-makes-jar-for-WEB-INF-lib" goals="install" />
+ <jsf.mvn dir="${basedir}/maven-module-that-makes-wab" goals="install" />
+
+ </target>
+
+ <target name="clean">
+
+ <jsf.mvn dir="${basedir}/maven-module-that-makes-jar-for-WEB-INF-lib" goals="clean" />
+ <jsf.mvn dir="${basedir}/maven-module-that-makes-wab" goals="clean" />
+
+ </target>
+
+ <target name="install">
+ <if>
+ <not>
+ <isset property="skip.init.osgi" />
+ </not>
+ <then>
+ <sequential>
+ <antcall target="container.init.osgi" />
+ <antcall target="container.start" />
+ </sequential>
+ </then>
+ </if>
+
+ <deploy.artifact
+ artifact="${basedir}/maven-module-that-makes-wab/target/jsf-wab-test.war"
+ appName="jsf-wab-test" osgi="true"/>
+
+ </target>
+
+ <target name="remove">
+
+ <undeploy.artifact
+ artifact="${basedir}/maven-module-that-makes-wab/target/jsf-wab-test.war"
+ appName="jsf-wab-test"/>
+
+ </target>
+
+ <target name="test" depends="define.scenario.aware.port">
+
+ <jsf.tester request="/i_gf_11636.page"
+ context-path="/jsf-wab-test"
+ classpath-refid="html.classpath"
+ test-results-dir="${regression.test.results.dir}"
+ regexp="(?s).*bean:\s*bar.*"/>
+
+
+ </target>
+
+
+
+</project>
Index: jsf-test/build.xml
===================================================================
--- jsf-test/build.xml (revision 0)
+++ jsf-test/build.xml (revision 0)
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+-->
+
+<!-- ************ JSF build file ************************************** -->
+
+<project name="per-bug-test-apps" default="main" basedir=".">
+
+ <property file="../build.properties"/>
+ <!-- Project local -->
+ <import file="${jsf.build.home}/common/ant/common.xml"/>
+ <import file="${jsf.build.home}/common/ant/test-app.xml"/>
+
+ <property name="deploy-exploded-applications" value="" />
+
+ <property name="applications-for-V3-only" value="" />
+
+ <property name="applications-for-V3.1-only"
+ value="GLASSFISH-11636" />
+
+ <property name="applications-for-V3.1_no_cluster-only"
+ value="GLASSFISH-11636" />
+
+ <property name="container-agnostic-applications" value="" />
+
+ <target name="main" depends="define.applications"
+ description="">
+ <mkdir dir="${regression.test.results.dir}" />
+ <antcall target="remove" />
+ <for list="${applications}" param="app" trim="true">
+ <sequential>
+ <echo message="Descending into ${basedir}/@{app} and executing target build" />
+ <ant dir="@{app}" inheritAll="true" inheritRefs="true" target="build" />
+ </sequential>
+ </for>
+ </target>
+
+ <target name="clean" depends="define.applications"
+ description="">
+ <delete failonerror="false" dir="${regression.test.results.dir}" />
+
+ <for list="${applications}" param="app" trim="true">
+ <sequential>
+ <echo message="Descending into ${basedir}/@{app} and executing target clean" />
+ <ant dir="@{app}" inheritAll="true" inheritRefs="true" target="clean" />
+ </sequential>
+ </for>
+
+
+ </target>
+
+ <target name="install" depends="define.applications"
+ description="">
+ <for list="${applications}" param="app" trim="true">
+ <sequential>
+ <echo message="Descending into ${basedir}/@{app} and executing target install" />
+ <ant dir="@{app}" inheritAll="true" inheritRefs="true" target="install" />
+ </sequential>
+ </for>
+ </target>
+
+ <target name="remove" depends="define.applications"
+ description="">
+ <for list="${applications}" param="app" trim="true">
+ <sequential>
+ <echo message="Descending into ${basedir}/@{app} and executing target remove" />
+ <ant dir="@{app}" inheritAll="true" inheritRefs="true" target="remove" />
+ </sequential>
+ </for>
+ </target>
+
+ <target name="test" depends="define.applications"
+ description="">
+ <antcall target="install" />
+ <for list="${applications}" param="app" trim="true">
+ <sequential>
+ <echo message="Descending into ${basedir}/@{app} and executing target test" />
+ <ant dir="@{app}" inheritAll="true" inheritRefs="true" target="test" />
+ </sequential>
+ </for>
+ <antcall target="remove" />
+ </target>
+
+
+
+
+</project>
Index: lib/jsf-extensions-test-time.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

-- 
| edward.burns_at_oracle.com | office: +1 407 458 0017
| homepage:               | http://ridingthecrest.com/