View Javadoc
1   /*
2    * Copyright (C) 2009-2010, Google Inc.
3    * Copyright (C) 2009, Johannes E. Schindelin <johannes.schindelin@gmx.de> and others
4    *
5    * This program and the accompanying materials are made available under the
6    * terms of the Eclipse Distribution License v. 1.0 which is available at
7    * https://www.eclipse.org/org/documents/edl-v10.php.
8    *
9    * SPDX-License-Identifier: BSD-3-Clause
10   */
11  
12  package org.eclipse.jgit.diff;
13  
14  import static org.junit.Assert.assertEquals;
15  import static org.junit.Assert.assertFalse;
16  import static org.junit.Assert.assertTrue;
17  
18  import org.eclipse.jgit.lib.Constants;
19  import org.junit.Test;
20  
21  public class RawTextIgnoreAllWhitespaceTest {
22  	private final RawTextComparator cmp = RawTextComparator.WS_IGNORE_ALL;
23  
24  	@Test
25  	public void testEqualsWithoutWhitespace() {
26  		final RawText a = new RawText(Constants
27  				.encodeASCII("foo-a\nfoo-b\nfoo\n"));
28  		final RawText b = new RawText(Constants
29  				.encodeASCII("foo-b\nfoo-c\nf\n"));
30  
31  		assertEquals(3, a.size());
32  		assertEquals(3, b.size());
33  
34  		// foo-a != foo-b
35  		assertFalse(cmp.equals(a, 0, b, 0));
36  		assertFalse(cmp.equals(b, 0, a, 0));
37  
38  		// foo-b == foo-b
39  		assertTrue(cmp.equals(a, 1, b, 0));
40  		assertTrue(cmp.equals(b, 0, a, 1));
41  
42  		// foo != f
43  		assertFalse(cmp.equals(a, 2, b, 2));
44  		assertFalse(cmp.equals(b, 2, a, 2));
45  	}
46  
47  	@Test
48  	public void testEqualsWithWhitespace() {
49  		final RawText a = new RawText(Constants
50  				.encodeASCII("foo-a\n         \n a b c\na      \n"));
51  		final RawText b = new RawText(Constants
52  				.encodeASCII("foo-a        b\n\nab  c\na\n"));
53  
54  		// "foo-a" != "foo-a        b"
55  		assertFalse(cmp.equals(a, 0, b, 0));
56  		assertFalse(cmp.equals(b, 0, a, 0));
57  
58  		// "         " == ""
59  		assertTrue(cmp.equals(a, 1, b, 1));
60  		assertTrue(cmp.equals(b, 1, a, 1));
61  
62  		// " a b c" == "ab  c"
63  		assertTrue(cmp.equals(a, 2, b, 2));
64  		assertTrue(cmp.equals(b, 2, a, 2));
65  
66  		// "a      " == "a"
67  		assertTrue(cmp.equals(a, 3, b, 3));
68  		assertTrue(cmp.equals(b, 3, a, 3));
69  	}
70  }