Skip to content

Commit

Permalink
covering new multi-line approach with tests
Browse files Browse the repository at this point in the history
  • Loading branch information
salaros committed Jun 17, 2018
1 parent b83c4ed commit 151778b
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
39 changes: 39 additions & 0 deletions tests/ConfigParserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,45 @@ public void IndentedFilesAreParsedCorrectly()
);
}

/// <summary>
/// Checks if multi-line values are parsed correctly.
/// </summary>
[Fact]
public void MultilineValuesAreParsedCorrectly()
{
var multiLineDelimitedFilePath = StructureSampleFiles.FirstOrDefault(f =>
f.EndsWith("multi-line.ini", StringComparison.OrdinalIgnoreCase));
Assert.NotNull(multiLineDelimitedFilePath);

var configFile = new ConfigParser(multiLineDelimitedFilePath, new ConfigParserSettings(MultiLineValues.Simple));
var multiLineDelimitedValue = configFile.GetValue("Multiline Values", "chorus", string.Empty);
Assert.Equal(
"I'm a lumberjack, and I'm okay\n" +
" I sleep all night and I work all day",
multiLineDelimitedValue
);
}

/// <summary>
/// Checks if quote delimited (!) multiline values are parsed correctly.
/// </summary>
[Fact]
public void DelimitedMultilineValuesAreParsedCorrectly()
{
var multiLineDelimitedFilePath = StructureSampleFiles.FirstOrDefault(f =>
f.EndsWith("multi-line-delimited.ini", StringComparison.OrdinalIgnoreCase));
Assert.NotNull(multiLineDelimitedFilePath);

var configFile = new ConfigParser(multiLineDelimitedFilePath, new ConfigParserSettings(MultiLineValues.QuoteDelimitedValues));
var multiLineDelimitedValue = configFile.GetValue("Multiline Values", "chorus", string.Empty);
Assert.Equal(
"I'm a lumberjack, and I'm okay\n" +
" I sleep all night and I work all day\n" +
"\t",
multiLineDelimitedValue
);
}

/// <summary>
/// Gets the settings for file.
/// </summary>
Expand Down
4 changes: 4 additions & 0 deletions tests/Resources/Structure/multi-line-delimited.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[Multiline Values]
chorus="I'm a lumberjack, and I'm okay
I sleep all night and I work all day
"

0 comments on commit 151778b

Please sign in to comment.