LineSeparatorFilterTest.java :  » Testing » webtest » com » canoo » webtest » extension » Java Open Source

Java Open Source » Testing » webtest 
webtest » com » canoo » webtest » extension » LineSeparatorFilterTest.java
// Copyright  2004-2005 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.extension;

import junit.framework.TestCase;

import com.canoo.webtest.ant.WebtestTask;
import com.canoo.webtest.engine.Context;
import com.canoo.webtest.self.ContextStub;
import com.canoo.webtest.steps.Step;

/**
 * LineSeparatorFilter Tester.
 *
 * @author Paul King
 */
public class LineSeparatorFilterTest extends TestCase
{
    private static final String OLD_MAC = "Test\r";
    private static final String UNIX = "Test\n";
    private static final String WINDOWS = "Test\r\n";
    private static final String WINDOWS_0 = "";
    private static final String WINDOWS_1 = "\r\n";
    private static final String WINDOWS_2 = "Test";
    private static final String WINDOWS_3 = "Test\r\nTest";
    private static final String WINDOWS_4 = "Test\r\nTest\r\n";
    private static final String EXPECTED = "Test\n";
    private static final String EXPECTED_0 = "";
    private static final String EXPECTED_1 = "\n";
    private static final String EXPECTED_2 = "Test";
    private static final String EXPECTED_3 = "Test\nTest";
    private static final String EXPECTED_4 = "Test\nTest\n";
    private static final String LINE_SEP_KEY = "line.separator";

    private final String fSavedLineSeparator = System.getProperty(LINE_SEP_KEY);
    private final Step fFilter = new LineSeparatorFilter();

    protected void tearDown() throws Exception {
        super.tearDown();
        System.setProperty(LINE_SEP_KEY, fSavedLineSeparator);
    }

    public void testAllPlatforms() {
        System.setProperty("line.separator", "\r");
        checkFilter(EXPECTED, OLD_MAC);
        System.setProperty("line.separator", "\n");
        checkFilter(EXPECTED, UNIX);
       System.setProperty("line.separator", "\r\n");
        checkFilter(EXPECTED, WINDOWS);
    }

    private void checkFilter(final String expected, final String target) {
      final Context context = new ContextStub(target, "text/plain");
      WebtestTask.setThreadContext(context);
      fFilter.setProject(context.getWebtest().getProject());
        fFilter.execute();
        assertEquals(expected, context.getCurrentResponse().getWebResponse().getContentAsString());
    }

    public void testBoundaries() {
        System.setProperty("line.separator", "\r\n");
        checkFilter(EXPECTED_0, WINDOWS_0);
        checkFilter(EXPECTED_1, WINDOWS_1);
        checkFilter(EXPECTED_2, WINDOWS_2);
        checkFilter(EXPECTED_3, WINDOWS_3);
        checkFilter(EXPECTED_4, WINDOWS_4);
    }
}
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.