aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst/org/eclipse
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.test/tst/org/eclipse')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextIgnoreAllWhitespaceTest.java96
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawCharUtilTest.java108
2 files changed, 204 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextIgnoreAllWhitespaceTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextIgnoreAllWhitespaceTest.java
new file mode 100644
index 0000000000..5e1a238a72
--- /dev/null
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextIgnoreAllWhitespaceTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2009-2010, Google Inc.
+ * Copyright (C) 2009, Johannes E. Schindelin <johannes.schindelin@gmx.de>
+ * and other copyright owners as documented in the project's IP log.
+ *
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Distribution License v1.0 which
+ * accompanies this distribution, is reproduced below, and is
+ * available at http://www.eclipse.org/org/documents/edl-v10.php
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * - Neither the name of the Eclipse Foundation, Inc. nor the
+ * names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.eclipse.jgit.diff;
+
+import org.eclipse.jgit.lib.Constants;
+
+import junit.framework.TestCase;
+
+public class RawTextIgnoreAllWhitespaceTest extends TestCase {
+ public void testEqualsWithoutWhitespace() {
+ final RawText a = new RawTextIgnoreAllWhitespace(Constants
+ .encodeASCII("foo-a\nfoo-b\nfoo\n"));
+ final RawText b = new RawTextIgnoreAllWhitespace(Constants
+ .encodeASCII("foo-b\nfoo-c\nf\n"));
+
+ assertEquals(3, a.size());
+ assertEquals(3, b.size());
+
+ // foo-a != foo-b
+ assertFalse(a.equals(0, b, 0));
+ assertFalse(b.equals(0, a, 0));
+
+ // foo-b == foo-b
+ assertTrue(a.equals(1, b, 0));
+ assertTrue(b.equals(0, a, 1));
+
+ // foo != f
+ assertFalse(a.equals(2, b, 2));
+ assertFalse(b.equals(2, a, 2));
+ }
+
+ public void testEqualsWithWhitespace() {
+ final RawText a = new RawTextIgnoreAllWhitespace(Constants
+ .encodeASCII("foo-a\n \n a b c\na \n"));
+ final RawText b = new RawTextIgnoreAllWhitespace(Constants
+ .encodeASCII("foo-a b\n\nab c\na\n"));
+
+ // "foo-a" != "foo-a b"
+ assertFalse(a.equals(0, b, 0));
+ assertFalse(b.equals(0, a, 0));
+
+ // " " == ""
+ assertTrue(a.equals(1, b, 1));
+ assertTrue(b.equals(1, a, 1));
+
+ // " a b c" == "ab c"
+ assertTrue(a.equals(2, b, 2));
+ assertTrue(b.equals(2, a, 2));
+
+ // "a " == "a"
+ assertTrue(a.equals(3, b, 3));
+ assertTrue(b.equals(3, a, 3));
+ }
+}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawCharUtilTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawCharUtilTest.java
new file mode 100644
index 0000000000..6747b26adc
--- /dev/null
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawCharUtilTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2010, Google Inc.
+ * and other copyright owners as documented in the project's IP log.
+ *
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Distribution License v1.0 which
+ * accompanies this distribution, is reproduced below, and is
+ * available at http://www.eclipse.org/org/documents/edl-v10.php
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * - Neither the name of the Eclipse Foundation, Inc. nor the
+ * names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.eclipse.jgit.util;
+
+import java.io.UnsupportedEncodingException;
+
+import junit.framework.TestCase;
+import static org.eclipse.jgit.util.RawCharUtil.isWhitespace;
+import static org.eclipse.jgit.util.RawCharUtil.trimTrailingWhitespace;
+import static org.eclipse.jgit.util.RawCharUtil.trimLeadingWhitespace;
+
+public class RawCharUtilTest extends TestCase {
+
+ /**
+ * Test method for {@link RawCharUtil#isWhitespace(byte)}.
+ */
+ public void testIsWhitespace() {
+ for (byte c = -128; c < 127; c++) {
+ switch (c) {
+ case (byte) '\r':
+ case (byte) '\n':
+ case (byte) '\t':
+ case (byte) ' ':
+ assertTrue(isWhitespace(c));
+ break;
+ default:
+ assertFalse(isWhitespace(c));
+ }
+ }
+ }
+
+ /**
+ * Test method for
+ * {@link RawCharUtil#trimTrailingWhitespace(byte[], int, int)}.
+ *
+ * @throws UnsupportedEncodingException
+ */
+ public void testTrimTrailingWhitespace()
+ throws UnsupportedEncodingException {
+ assertEquals(0, trimTrailingWhitespace("".getBytes("US-ASCII"), 0, 0));
+ assertEquals(0, trimTrailingWhitespace(" ".getBytes("US-ASCII"), 0, 1));
+ assertEquals(1, trimTrailingWhitespace("a ".getBytes("US-ASCII"), 0, 2));
+ assertEquals(2,
+ trimTrailingWhitespace(" a ".getBytes("US-ASCII"), 0, 3));
+ assertEquals(3,
+ trimTrailingWhitespace(" a".getBytes("US-ASCII"), 0, 3));
+ assertEquals(6, trimTrailingWhitespace(
+ " test ".getBytes("US-ASCII"), 2, 9));
+ }
+
+ /**
+ * Test method for
+ * {@link RawCharUtil#trimLeadingWhitespace(byte[], int, int)}.
+ *
+ * @throws UnsupportedEncodingException
+ */
+ public void testTrimLeadingWhitespace() throws UnsupportedEncodingException {
+ assertEquals(0, trimLeadingWhitespace("".getBytes("US-ASCII"), 0, 0));
+ assertEquals(1, trimLeadingWhitespace(" ".getBytes("US-ASCII"), 0, 1));
+ assertEquals(0, trimLeadingWhitespace("a ".getBytes("US-ASCII"), 0, 2));
+ assertEquals(1, trimLeadingWhitespace(" a ".getBytes("US-ASCII"), 0, 3));
+ assertEquals(2, trimLeadingWhitespace(" a".getBytes("US-ASCII"), 0, 3));
+ assertEquals(2, trimLeadingWhitespace(" test ".getBytes("US-ASCII"),
+ 2, 9));
+ }
+
+}