RegexpHeaderSelectorTestCase.java :  » Content-Management-System » apache-lenya-2.0 » org » apache » cocoon » selection » Java Open Source

Java Open Source » Content Management System » apache lenya 2.0 
apache lenya 2.0 » org » apache » cocoon » selection » RegexpHeaderSelectorTestCase.java
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.cocoon.selection;

import junit.framework.Test;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.SitemapComponentTestCase;

/**
 * Test case for RegexpHeaderSelector.
 * 
 * @version CVS $Id: RegexpHeaderSelectorTestCase.java 433543 2006-08-22 06:22:54Z crossley $
 */
public class RegexpHeaderSelectorTestCase extends SitemapComponentTestCase {

    private static final String REGEXP_HEADER_SELECTOR = "regexp-header";

    /**
     * Run this test suite from commandline
     *
     * @param args commandline arguments (ignored)
     */
    public static void main( String[] args ) {
        TestRunner.run(suite());
    }
    
    /** Create a test suite.
     * This test suite contains all test cases of this class.
     * @return the Test object containing all test cases.
     */
    public static Test suite() {
        TestSuite suite = new TestSuite(RegexpHeaderSelectorTestCase.class);
        return suite;
    }
    

    /**
     * A simple regexp-header selector test
     */
    public void testRegexpHeaderSelectEmpty() throws Exception {
        // create a header
        final String headerName = "headerSelectorTestCase";
        getRequest().setHeader(headerName, "");
        
        Parameters parameters = new Parameters();
        boolean result;
        
        result = this.select( REGEXP_HEADER_SELECTOR, "empty", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " selects successfully", result );
        
        result = this.select( REGEXP_HEADER_SELECTOR, "number", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " does not select successfully", !result );
        
        result = this.select( REGEXP_HEADER_SELECTOR, "non-defined-name", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " does not select successfully", !result );
    }

    /**
     * A simple regexp-header selector test
     */
    public void testRegexpHeaderSelectNumber() throws Exception {
        // create a header
        final String headerName = "headerSelectorTestCase";
        final String headerName2 = "headerSelectorTestCase1";

        Parameters parameters = new Parameters();
        boolean result;
        
        // test w/o set request parameter
        result = this.select( REGEXP_HEADER_SELECTOR, "empty", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " does not select successfully", !result );

  // this time, set the header
        getRequest().setHeader(headerName, "");

  // create another header
        getRequest().setHeader(headerName2, "123");

        // override configured header name
        parameters.setParameter( "header-name", headerName2 );
        
        result = this.select( REGEXP_HEADER_SELECTOR, "empty", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " does not select successfully", !result );

        result = this.select( REGEXP_HEADER_SELECTOR, "number", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " selects successfully", result );

        result = this.select( REGEXP_HEADER_SELECTOR, "non-defined-name", parameters );
        System.out.println( result );
        assertTrue( "Test is " + REGEXP_HEADER_SELECTOR + " does not select successfully", !result );
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.