| /* | |
| * Copyright (C) 2017, Matthias Sohn <matthias.sohn@sap.com> 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.pgm; | |
| import static org.junit.Assert.assertArrayEquals; | |
| import static org.junit.Assert.assertTrue; | |
| import java.io.File; | |
| import org.eclipse.jgit.api.Git; | |
| import org.eclipse.jgit.junit.JGitTestUtil; | |
| import org.eclipse.jgit.lib.CLIRepositoryTestCase; | |
| import org.eclipse.jgit.util.FileUtils; | |
| import org.junit.Before; | |
| import org.junit.Test; | |
| public class LsFilesTest extends CLIRepositoryTestCase { | |
| @Before | |
| @Override | |
| public void setUp() throws Exception { | |
| super.setUp(); | |
| try (Git git = new Git(db)) { | |
| JGitTestUtil.writeTrashFile(db, "hello", "hello"); | |
| JGitTestUtil.writeTrashFile(db, "dir", "world", "world"); | |
| git.add().addFilepattern("dir").call(); | |
| git.commit().setMessage("Initial commit").call(); | |
| JGitTestUtil.writeTrashFile(db, "hello2", "hello"); | |
| git.add().addFilepattern("hello2").call(); | |
| FileUtils.createSymLink(new File(db.getWorkTree(), "link"), | |
| "target"); | |
| FileUtils.mkdir(new File(db.getWorkTree(), "target")); | |
| writeTrashFile("target/file", "someData"); | |
| git.add().addFilepattern("target").addFilepattern("link").call(); | |
| git.commit().setMessage("hello2").call(); | |
| JGitTestUtil.writeTrashFile(db, "staged", "x"); | |
| JGitTestUtil.deleteTrashFile(db, "hello2"); | |
| git.add().addFilepattern("staged").call(); | |
| JGitTestUtil.writeTrashFile(db, "untracked", "untracked"); | |
| } | |
| } | |
| @Test | |
| public void testHelp() throws Exception { | |
| String[] result = execute("git ls-files -h"); | |
| assertTrue(result[1].startsWith("jgit ls-files")); | |
| } | |
| @Test | |
| public void testLsFiles() throws Exception { | |
| assertArrayEquals(new String[] { "dir/world", "hello2", "link", | |
| "staged", "target/file", "" }, execute("git ls-files")); | |
| } | |
| } |