Package org.apache.click.servlet

Examples of org.apache.click.servlet.MockRequest


     * Test that registered action listeners are removed through the method
     * MockContext.reset().
     */
    public void testResetActionListeners() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
        request.setParameter("save", "save");

        Submit submit = new Submit("save");
        // Registry a listener which must be invoked
        submit.setActionListener(new ActionListener() {
            private static final long serialVersionUID = 1L;
View Full Code Here


    /**
     * Test that context can properly fire behaviors.
     */
    public void testFireBehaviors() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
        request.setParameter("save", "save");

        submitCalled = false;

        Submit submit = new Submit("save");
        // Register an ajax behavior
View Full Code Here

     * Test that registered behaviors are removed through the method
     * MockContext.reset().
     */
    public void testResetAjaxBehaviors() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
        request.setParameter("save", "save");

        Submit submit = new Submit("save");
        // Register an ajax behavior
        submit.addBehavior(new DefaultAjaxBehavior() {

View Full Code Here

     *
     * CLK-267.
     */
    public void testDuplicateOnSubmitCheck() {
        MockContext context = MockContext.initContext("test-form.htm");
        MockRequest request = context.getMockRequest();
        request.setParameter("form_name", "form");

        Page page = new Page();

        // Set the page to stateful
        page.setStateful(true);
        Form form = new Form("form");

        // Construct name of submit token
        String submitCheckName = Form.SUBMIT_CHECK + form.getName() + "_" + context.getResourcePath();

        // Simulate a submit check
        boolean valid = form.onSubmitCheck(page, "/invalid-submit.html");
        Assert.assertTrue(valid);

        // Assert that the submitCheck hidden field was created
        Field submitCheckField = form.getField(submitCheckName);
        Assert.assertNotNull(submitCheckField);

        // Add submitCheckField as a request parameter
        request.setParameter(Form.SUBMIT_CHECK + form.getName() + "_" + context.getResourcePath(), submitCheckField.getValue());

        // Simulate a second submit check.
        valid = form.onSubmitCheck(page, "/invalid-submit.html");

        // Assert the second onSubmitCheck did succeed as well.
View Full Code Here

     *
     * CLK-289.
     */
    public void testOnSubmitCheckMissingParam() {
        MockContext context = MockContext.initContext("test-form.htm");
        MockRequest request = context.getMockRequest();
        request.setParameter("form_name", "form");
        Page page = new Page();
        Form form = new Form("form");

        // Construct name of submit token
        String submitTokenName = Form.SUBMIT_CHECK + form.getName() + "_" + context.getResourcePath();

        // Ensure there are no submitCheck hidden field yet
        Field submitCheckField = form.getField(submitTokenName);
        Assert.assertNull(submitCheckField);

        // Simulate a submit check
        boolean valid = form.onSubmitCheck(page, "/invalid-submit.html");
        Assert.assertTrue(valid);

        // Add the submitCheckField name and value to the parameters.
        submitCheckField = form.getField(submitTokenName);
        request.setParameter(submitTokenName, submitCheckField.getValue());

        // If we submit again, the assert should be true because the submit
        // token is set in the request parameters.
        valid = form.onSubmitCheck(page, "/invalid-submit.html");
        Assert.assertTrue(valid);

        // Now imagine the SUBMIT_CHECK token is removed by a hacker. To simulate
        // such a scenario we remove the submitTokenName from the request paramters.
        request.removeParameter(submitTokenName);
        valid = form.onSubmitCheck(page, "/invalid-submit.html");
        Assert.assertFalse(valid);
    }
View Full Code Here

     * Test that form processing binds a request parameter to a field value.
     */
    public void testFormOnProcessRequestBinding() {
        // Create a mock context
        MockContext context = MockContext.initContext("test-form.htm");
        MockRequest request = context.getMockRequest();

        // The request value that should be set as the textField value
        String requestValue = "one";

        // Set form name and field name parameters
        request.setParameter("form_name", "form");
        request.setParameter("name", requestValue);

        // Create form and fields
        Form form = new Form("form");
        TextField nameField = new TextField("name");
        form.add(nameField);
View Full Code Here

    /**
     * Test Submit onProcess behavior.
     */
    public void testOnProcess() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
       
        Submit button = new Submit("button");
        assertEquals("button", button.getName());
       
        assertTrue(button.onProcess());
       
        request.setParameter("button", "true");
        assertTrue(button.onProcess());
       
        final boolean check[] = new boolean[1];
        button.setActionListener(new ActionListener() {
            private static final long serialVersionUID = 1L;

            public boolean onAction(Control source) {
                check[0] = true;
                return false;
            }
        });

        // No request param -> no action listener executed
        request.removeParameter("button");
        assertTrue(button.onProcess());
        context.executeActionListeners();
        assertFalse(check[0]);

        // Disabled button with request param
        request.setParameter("button", "true");
        button.setDisabled(true);
        assertTrue(button.onProcess());
        assertTrue(button.isValid());
        assertFalse(button.isDisabled());

        // Diasabled button without request param
        request.removeParameter("button");
        button.setDisabled(true);
        assertTrue(button.onProcess());
        assertTrue(button.isValid());
        assertTrue(button.isDisabled());
    }
View Full Code Here

    /**
     * Test TextArea onProcess behavior.
     */
    public void testOnProcess() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
       
        TextArea textArea = new TextArea("text");
        assertEquals("text", textArea.getName());
       
        request.setParameter("text", "textvalue");
       
        assertTrue(textArea.onProcess());
        assertTrue(textArea.isValid());
        assertEquals("textvalue", textArea.getValue());
        assertEquals("textvalue", textArea.getValueObject());
       
        request.setParameter("text", "");
       
        assertTrue(textArea.onProcess());
        assertTrue(textArea.isValid());
        assertEquals("", textArea.getValue());
        assertEquals(null, textArea.getValueObject());
       
        textArea.setRequired(true);
       
        assertTrue(textArea.onProcess());
        assertFalse(textArea.isValid());
        assertEquals("", textArea.getValue());
        assertEquals(null, textArea.getValueObject());
       
        request.setParameter("text", "ratherlongtextvalue");
       
        textArea.setMinLength(10);
        assertTrue(textArea.onProcess());
        assertTrue(textArea.isValid());
        assertEquals("ratherlongtextvalue", textArea.getValue());
View Full Code Here

    /**
     * Test that context can properly process behaviors.
     */
    public void testProcessBehaviors() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
        request.setParameter("save", "save");

        Submit submit = new Submit("save");

        submitCalled = false;
        preRenderHeadElementsCalled = false;
View Full Code Here

    /**
     * Test TextField onProcess behavior.
     */
    public void testOnProcess() {
        MockContext context = MockContext.initContext();
        MockRequest request = context.getMockRequest();
       
        Checkbox checkbox = new Checkbox("checkbox");
        assertEquals("checkbox", checkbox.getName());
       
        request.setParameter("checkbox", "");
       
        assertTrue(checkbox.onProcess());
        assertTrue(checkbox.isValid());
        assertEquals("true", checkbox.getValue());
        assertEquals(Boolean.TRUE, checkbox.getValueObject());
       
        request.setParameter("checkbox", "true");
       
        assertTrue(checkbox.onProcess());
        assertTrue(checkbox.isValid());
        assertEquals("true", checkbox.getValue());
        assertEquals(Boolean.TRUE, checkbox.getValueObject());
       
        checkbox.setRequired(true);
        request.removeParameter("checkbox");
       
        assertTrue(checkbox.onProcess());
        assertFalse(checkbox.isValid());
        assertEquals("false", checkbox.getValue());
        assertEquals(Boolean.FALSE, checkbox.getValueObject());
        assertTrue(checkbox.toString().contains("class=\"error\""));
       
        request.setParameter("checkbox", "true");

        assertTrue(checkbox.onProcess());
        assertTrue(checkbox.isValid());
        assertEquals("true", checkbox.getValue());
        assertEquals(Boolean.TRUE, checkbox.getValueObject());
       
        request.setParameter("checkbox", "true");

        checkbox.setDisabled(true);
        assertTrue(checkbox.onProcess());
        assertTrue(checkbox.isValid());
        assertFalse(checkbox.isDisabled());
View Full Code Here

TOP

Related Classes of org.apache.click.servlet.MockRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.