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 RawTextIgnoreTrailingWhitespaceTest {
22  	private final RawTextComparator cmp = RawTextComparator.WS_IGNORE_TRAILING;
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    b\n"));
51  		final RawText b = new RawText(Constants
52  				.encodeASCII("foo-a        b\n\nab  c\na\nb\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  		assertFalse(cmp.equals(a, 2, b, 2));
64  		assertFalse(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  		// "    b" != "b"
71  		assertFalse(cmp.equals(a, 4, b, 4));
72  		assertFalse(cmp.equals(b, 4, a, 4));
73  	}
74  }