blob: aa4481d80d15d5e2689b5f8ab436bf958ad36be6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.tools.workbench.test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* some stand-alone tests that make sure the CheckEOL code actually
* works as expected
*/
public class CheckEOLTests extends TestCase {
public static Test suite() {
return new TestSuite(CheckEOLTests.class);
}
public CheckEOLTests(String name) {
super(name);
}
public void testStreamHasInvalidWinEOL() throws IOException {
byte CR = CheckEOL.cr;
byte LF = CheckEOL.lf;
// invalid EOLs
this.verifyInvalidWinEOL(new byte[] {CR});
this.verifyInvalidWinEOL(new byte[] {LF});
this.verifyInvalidWinEOL(new byte[] {LF, CR});
this.verifyInvalidWinEOL(new byte[] {CR, CR, LF});
this.verifyInvalidWinEOL(new byte[] {CR, LF, LF});
this.verifyInvalidWinEOL(new byte[] {CR, LF, CR});
// valid EOLs
this.verifyValidWinEOL(new byte[] {});
this.verifyValidWinEOL(new byte[] {CR, LF});
this.verifyValidWinEOL(new byte[] {CR, LF, CR, LF});
this.verifyValidWinEOL(new byte[] {CR, LF, 'a', CR, LF});
}
private void verifyInvalidWinEOL(byte[] bytes) throws IOException {
assertTrue("Invalid EOL not detected", new CheckEOL().streamHasInvalidWinEOL(this.buildInputStream(bytes)));
}
private void verifyValidWinEOL(byte[] bytes) throws IOException {
assertTrue("Invalid EOL wrongly detected", ! new CheckEOL().streamHasInvalidWinEOL(this.buildInputStream(bytes)));
}
private InputStream buildInputStream(byte[] bytes) {
return new ByteArrayInputStream(bytes);
}
}