| /* | |
| * Copyright (C) 2014, 2025 Andrey Loskutov <loskutov@gmx.de> and others | |
| * | |
| * This program and the accompanying materials are made available under the | |
| * terms of the Eclipse Distribution License v. 1.0 which is available at | |
| * https://www.eclipse.org/org/documents/edl-v10.php. | |
| * | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| */ | |
| package org.eclipse.jgit.ignore; | |
| import static org.junit.Assert.assertEquals; | |
| import static org.junit.Assert.assertFalse; | |
| import static org.junit.Assert.assertNotEquals; | |
| import static org.junit.Assert.assertTrue; | |
| import org.eclipse.jgit.ignore.internal.Strings; | |
| import org.junit.Test; | |
| public class BasicRuleTest { | |
| @Test | |
| public void test() { | |
| FastIgnoreRule rule1 = new FastIgnoreRule("/hello/[a]/"); | |
| FastIgnoreRule rule2 = new FastIgnoreRule("/hello/[a]/"); | |
| FastIgnoreRule rule3 = new FastIgnoreRule("!/hello/[a]/"); | |
| FastIgnoreRule rule4 = new FastIgnoreRule("/hello/[a]"); | |
| assertTrue(rule1.dirOnly()); | |
| assertTrue(rule3.dirOnly()); | |
| assertFalse(rule4.dirOnly()); | |
| assertFalse(rule1.getNegation()); | |
| assertTrue(rule3.getNegation()); | |
| assertNotEquals(rule1, null); | |
| assertTrue(rule1.equals(rule1)); | |
| assertEquals(rule1, rule2); | |
| assertNotEquals(rule1, rule3); | |
| assertNotEquals(rule1, rule4); | |
| assertEquals(rule1.hashCode(), rule2.hashCode()); | |
| assertNotEquals(rule1.hashCode(), rule3.hashCode()); | |
| assertEquals(rule1.toString(), rule2.toString()); | |
| assertNotEquals(rule1.toString(), rule3.toString()); | |
| } | |
| @Test | |
| public void testDirectoryPattern() { | |
| assertTrue(Strings.isDirectoryPattern("/")); | |
| assertTrue(Strings.isDirectoryPattern("/ ")); | |
| assertTrue(Strings.isDirectoryPattern("/ ")); | |
| assertFalse(Strings.isDirectoryPattern(" ")); | |
| assertFalse(Strings.isDirectoryPattern("")); | |
| } | |
| @Test | |
| public void testStripTrailingChar() { | |
| assertEquals("", Strings.stripTrailing("/", '/')); | |
| assertEquals("", Strings.stripTrailing("///", '/')); | |
| assertEquals("a", Strings.stripTrailing("a/", '/')); | |
| assertEquals("a", Strings.stripTrailing("a///", '/')); | |
| assertEquals("a/ ", Strings.stripTrailing("a/ ", '/')); | |
| } | |
| } |