| /* | |
| * Copyright (C) 2012, 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.assertEquals; | |
| import static org.junit.Assert.assertTrue; | |
| import java.util.Arrays; | |
| import java.util.HashMap; | |
| import java.util.Map; | |
| import org.eclipse.jgit.api.Git; | |
| import org.eclipse.jgit.lib.CLIRepositoryTestCase; | |
| import org.eclipse.jgit.util.SystemReader; | |
| import org.junit.Before; | |
| import org.junit.Test; | |
| public class ConfigTest extends CLIRepositoryTestCase { | |
| @Override | |
| @Before | |
| public void setUp() throws Exception { | |
| super.setUp(); | |
| try (Git git = new Git(db)) { | |
| git.commit().setMessage("initial commit").call(); | |
| } | |
| } | |
| @SuppressWarnings("boxing") | |
| @Test | |
| public void testListConfig() throws Exception { | |
| boolean isWindows = SystemReader.getInstance().getProperty("os.name") | |
| .startsWith("Windows"); | |
| boolean isMac = SystemReader.getInstance().getProperty("os.name") | |
| .equals("Mac OS X"); | |
| String[] output = execute("git config --list"); | |
| Map<String, String> options = parseOptions(output); | |
| assertEquals(!isWindows, Boolean.valueOf(options.get("core.filemode"))); | |
| assertTrue(Boolean.valueOf(options.get("core.logallrefupdates"))); | |
| if (isMac) { | |
| assertTrue(Boolean.valueOf(options.get("core.precomposeunicode"))); | |
| } | |
| assertEquals(Integer.valueOf(0), | |
| Integer.valueOf(options.get("core.repositoryformatversion"))); | |
| } | |
| private Map<String, String> parseOptions(String[] output) { | |
| Map<String, String> options = new HashMap<>(); | |
| Arrays.stream(output).forEachOrdered(s -> { | |
| int p = s.indexOf('='); | |
| if (p == -1) { | |
| return; | |
| } | |
| String key = s.substring(0, p); | |
| String value = s.substring(p + 1); | |
| options.put(key, value); | |
| }); | |
| return options; | |
| } | |
| } |