View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.mc.test.core;
20  
21  import javax.faces.FactoryFinder;
22  import javax.faces.component.UIViewRoot;
23  import javax.faces.view.ViewDeclarationLanguageFactory;
24  
25  /**
26   * <p>Abstract JUnit test case base class, which provide a var called vdl, that
27   * can be used to build facelet views calling for example:</p>
28   * <p>vdl.buildView(facesContext, facesContext.getViewRoot(), "/hello.xhtml");</p>
29   * <p>It already set up a request.</p>
30   * 
31   * @author Leonardo Uribe
32   *
33   */
34  public abstract class AbstractMyFacesFaceletsTestCase extends AbstractMyFacesRequestTestCase
35  {
36      @Override
37      public void setUp() throws Exception
38      {
39          super.setUp();
40          
41          setupFaceletRequest();
42  
43          setUpVDL();
44      }
45      
46      protected void setUpVDL() throws Exception
47      {
48          ViewDeclarationLanguageFactory vdlFactory = (ViewDeclarationLanguageFactory) FactoryFinder.getFactory(FactoryFinder.VIEW_DECLARATION_LANGUAGE_FACTORY);
49          vdl = (MockMyFacesFaceletViewDeclarationLanguage) vdlFactory.getViewDeclarationLanguage("/a.xhtml");
50      }
51      
52      protected void setupFaceletRequest() throws Exception
53      {
54          setupRequest();
55          // Create a new UIViewRoot to work with it later
56          UIViewRoot root = new UIViewRoot();
57          root.setViewId("/test");
58          root.setRenderKitId("HTML_BASIC");
59          facesContext.setViewRoot(root);
60      }
61  
62      @Override
63      public void tearDown() throws Exception
64      {
65          tearDownRequest();
66          
67          super.tearDown();
68      }
69      
70      protected MockMyFacesFaceletViewDeclarationLanguage vdl;
71  }