Fix parsing of subsections in git config
[egit.git] / org.spearce.jgit / tst / org / spearce / jgit / lib / RepositoryConfigTest.java
blob2e3c51cb1493c442033a3d9fd62e7f897c80dadf
1 package org.spearce.jgit.lib;
3 import java.io.IOException;
5 /**
6 * Test reading of git config
7 */
8 public class RepositoryConfigTest extends RepositoryTestCase {
9 /**
10 * Read config item with no value from a section without a subsection.
12 * @throws IOException
14 public void test001_ReadBareKey() throws IOException {
15 String path = writeTrashFile("config_001", "[foo]\nbar\n").getAbsolutePath();
16 RepositoryConfig repositoryConfig = new RepositoryConfig(path);
17 System.out.println(repositoryConfig.getString("foo", "bar"));
18 assertEquals(true, repositoryConfig.getBoolean("foo", "bar", false));
19 assertEquals("", repositoryConfig.getString("foo", "bar"));
22 /**
23 * Read various data from a subsection.
25 * @throws IOException
27 public void test002_ReadWithSubsection() throws IOException {
28 String path = writeTrashFile("config_002", "[foo \"zip\"]\nbar\n[foo \"zap\"]\nbar=false\nn=3\n").getAbsolutePath();
29 RepositoryConfig repositoryConfig = new RepositoryConfig(path);
30 assertEquals(true, repositoryConfig.getBoolean("foo.zip", "bar", false));
31 assertEquals("", repositoryConfig.getString("foo.zip", "bar"));
32 assertEquals(false, repositoryConfig.getBoolean("foo.zap", "bar", true));
33 assertEquals("false", repositoryConfig.getString("foo.zap", "bar"));
34 assertEquals(3, repositoryConfig.getInt("foo.zap", "n", 4));
35 assertEquals(4, repositoryConfig.getInt("foo.zap", "m",4));