public Load ( Stream streamIn ) : void | ||
streamIn | Stream | An input stream to read properties from. |
return | void |
public void TestLineBreakInUnicodeSequence() { FileStream fileStream = null; try { // Read the test properties file. Console.WriteLine("Loading " + LineBreakWithUnicodeFile); fileStream = new FileStream(LineBreakWithUnicodeFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); Assert.AreEqual(properties["AAAP"], "B"); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestEmptyFile() { FileStream fileStream = null; try { Console.WriteLine("Loading " + EmptyTestFile); fileStream = new FileStream(EmptyTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.IsEmpty(properties); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestDuplicates() { FileStream fileStream = null; try { Console.WriteLine("Loading " + DuplicateTestFile); fileStream = new FileStream(DuplicateTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 1); Assert.IsTrue("c".Equals(properties.GetProperty("a"))); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestUtf8WithBom() { FileStream fileStream = null; try { Console.WriteLine("Loading " + Utf8WithBomFile); fileStream = new FileStream(Utf8WithBomFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream, Encoding.UTF8); Assert.AreEqual( "key", properties.Keys.Single()); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestLineBreaks() { FileStream fileStream = null; try { Console.WriteLine("Loading " + LineBreaksTestFile); fileStream = new FileStream(LineBreaksTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); //Assert.Equals( properties.Count, 3 ); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestLineBreaks() { FileStream fileStream = null; try { Console.WriteLine("Loading " + LineBreaksTestFile); fileStream = new FileStream(LineBreaksTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 5); Assert.AreEqual(properties["key\nwith\nnewlines"], "value"); Assert.AreEqual(properties["key-no-newlines"], "Value\nwith\nnewlines."); Assert.AreEqual(properties["fruits"], "apple, banana, pear, cantaloupe, watermelon, kiwi, mango"); Assert.AreEqual(properties["fruits2"], "apple, banana, pear, cantaloupe, watermelon, "); Assert.AreEqual(properties["kiwi,"], "mango"); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestUrls() { FileStream fileStream = null; try { Console.WriteLine("Loading " + UrlsTestFile); fileStream = new FileStream(UrlsTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 3); Assert.AreEqual(properties["http://www.kajabity.com"], "my lovely web site."); Assert.AreEqual(properties["my-blog"], "http://www.kajabity.com"); Assert.AreEqual(properties["my-blog-2"], "{my-blog}"); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestComments() { FileStream fileStream = null; try { Console.WriteLine("Loading " + CommentsTestFile); fileStream = new FileStream(CommentsTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 3); Assert.AreEqual(properties["name"], "value"); Assert.AreEqual(properties["key\nwith\nnewlines"], "value"); Assert.AreEqual(properties["key-no-newlines"], "Value\nwith\nnewlines."); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestBlankFile() { FileStream fileStream = null; try { Console.WriteLine("Loading " + BlankTestFile); fileStream = new FileStream(BlankTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.IsEmpty(properties); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public ExternalToolProperties(string filePath) { using (var fileStream = new FileStream(filePath, FileMode.Open)) { _properties = new JavaProperties(PropertiesConstants.DEFAULTS); _properties.Load(fileStream); } }
public void TestSeparators() { FileStream fileStream = null; try { Console.WriteLine("Loading " + SeparatorsTestFile); fileStream = new FileStream(SeparatorsTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 8); Assert.AreEqual(properties["a"], "b"); Assert.AreEqual(properties["c"], "d"); Assert.AreEqual(properties["e"], "f"); Assert.AreEqual(properties["gh"], "ij klm"); Assert.AreEqual(properties["Truth1"], "Beauty 1"); Assert.AreEqual(properties["Truth3"], "Beauty 3"); Assert.AreEqual(properties["Truth2"], "Beauty 2"); Assert.AreEqual(properties["cheeses"], ""); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestSpecialCharacters() { FileStream fileStream = null; try { Console.WriteLine("Loading " + SpecialCharactersTestFile); fileStream = new FileStream(SpecialCharactersTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual(properties.Count, 7); Assert.AreEqual(properties["key with spaces"], "value with spaces"); Assert.AreEqual(properties["anotherKey"], "unicode \\u0041='A'"); Assert.AreEqual(properties["\u0000\u001FUnicode-Key"], "\u0000\t\n\u001F\u4567Unicode Value"); Assert.AreEqual(properties["# key-not-comment"], " value begins with\tspace."); Assert.AreEqual(properties["One"], "Two = Three Four"); Assert.AreEqual(properties["Five Six"], "Seven Eight"); Assert.AreEqual(properties["Nine"], "Ten "); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestMissingProperty() { FileStream fileStream = null; try { Console.WriteLine("Loading " + EmptyTestFile); var defaults = new Dictionary <string, string> { { "test", "value" } }; fileStream = new FileStream(EmptyTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(defaults); properties.Load(fileStream); fileStream.Close(); Assert.IsEmpty(properties); Assert.IsNull(properties.GetProperty("NonExistent")); Assert.AreEqual(defaults["test"], properties.GetProperty("test")); Assert.IsNull(properties.SetProperty("NonExistant", "a new value")); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestUtf8NonAsciiSymbols() { FileStream utf8FileStream = null; FileStream isoFileStream = null; try { Console.WriteLine("Loading " + NonAciiSymbolsUtf8TestFile); // A file containing non-ASCII characters, which is saved using the utf8 encoding utf8FileStream = new FileStream(NonAciiSymbolsUtf8TestFile, FileMode.Open); Console.WriteLine("Loading " + NonAsciiSymbolsNativeToAsciiTestFile); // A file with the same data as above, but processed with the native2ascii tool from jdk 1.8, and stored in ISO-8859-1. This will work correctly. isoFileStream = new FileStream(NonAsciiSymbolsNativeToAsciiTestFile, FileMode.Open); // Java properties read from the utf8 file with correct encoding provided JavaProperties utf8PropertiesCorrect = new JavaProperties(); // we explicitly specify the encoding, so that UTF8 characters are read using the UTF8 encoding and the data will be correct utf8PropertiesCorrect.Load(utf8FileStream, Encoding.UTF8); JavaProperties utf8PropertiesIncorrect = new JavaProperties(); utf8FileStream.Seek(0, SeekOrigin.Begin);// reset the stream position from the previous loading. // we do not set the encoding, so the data will not appear correctly - UTF8 characters will be read usign the default ISO-8859-1 encoding // this is to ensure that setting the encoding makes a difference utf8PropertiesIncorrect.Load(utf8FileStream); JavaProperties isoProperties = new JavaProperties(); isoProperties.Load(isoFileStream); foreach (var key in utf8PropertiesCorrect.Keys) { // Asert the correct file is identical to its native2ascii version Assert.AreEqual(utf8PropertiesCorrect[key], isoProperties[key]); if (key.Equals("AsciiText")) { // Assert that not-using the proper encoding will not corrupt pure ASCII data Assert.AreEqual(utf8PropertiesCorrect[key], utf8PropertiesIncorrect[key]); Assert.AreEqual(utf8PropertiesCorrect[key], isoProperties[key]); } else { // Assert that not-using the proper encoding will corrupt data Assert.AreNotEqual(utf8PropertiesIncorrect[key], utf8PropertiesCorrect[key]); Assert.AreNotEqual(utf8PropertiesIncorrect[key], isoProperties[key]); } } isoFileStream.Close(); //Assert.IsEmpty(properties); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (utf8FileStream != null) { utf8FileStream.Close(); } if (isoFileStream != null) { isoFileStream.Close(); } } }
public void TestJavaPropertyWriter() { string filename = JavaTestDataDirectory + "/mixed.properties"; string outName = JavaOutputDirectory + "/test-writer.properties"; FileStream inStream = null; FileStream outStream = null; try { // Read the mixed properties file. Console.WriteLine("Loading " + filename); inStream = File.OpenRead(filename); JavaProperties properties1 = new JavaProperties(); properties1.Load(inStream); inStream.Close(); inStream = null; // Write it to a new file - using the JavaPropertiesWriter we are testing. outStream = File.OpenWrite(outName); properties1.Store(outStream, "Testing JavaPropertyWriter"); outStream.Flush(); outStream.Close(); outStream = null; // Now re-read the output file into a second set of properties inStream = File.OpenRead(outName); JavaProperties properties2 = new JavaProperties(); properties2.Load(inStream); // Now compare the values - find, compare and remove each value in turn. foreach (String name in properties2.Keys) { String value2 = properties2.GetProperty(name); if (properties1.ContainsKey(name)) { String value1 = properties1.GetProperty(name); if (value1 == null) { if (value2 != null) { Assert.Fail("Original value is null, new value is : \"" + value2 + "\""); } } else if (!value1.Equals(value2)) { Assert.Fail("Original value is \"" + value1 + "\", new value is : \"" + value2 + "\""); } properties1.Remove(name); } else { Assert.Fail("Missing property: \"" + name + "\" (with value \"" + value2 + "\")"); } } if (properties1.Count > 0) { Assert.Fail(properties1.Count + " values missing from output file."); } } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (inStream != null) { inStream.Close(); } if (outStream != null) { outStream.Close(); } } }
public ExternalToolProperties(FileStream fileStream) { _properties = new JavaProperties(PropertiesConstants.DEFAULTS); _properties.Load(fileStream); }
public void TestUtf8NonAsciiSymbols() { FileStream utf8FileStream = null; FileStream isoFileStream = null; try { Console.WriteLine("Loading " + NonAciiSymbolsUtf8TestFile); // A file containing non-ASCII characters, which is saved using the utf8 encoding utf8FileStream = new FileStream(NonAciiSymbolsUtf8TestFile, FileMode.Open); Console.WriteLine("Loading " + NonAsciiSymbolsNativeToAsciiTestFile); // A file with the same data as above, but processed with the native2ascii tool from jdk 1.8, and stored in ISO-8859-1. This will work correctly. isoFileStream = new FileStream(NonAsciiSymbolsNativeToAsciiTestFile, FileMode.Open); // Java properties read from the utf8 file with correct encoding provided JavaProperties utf8PropertiesCorrect = new JavaProperties(); // we explicitly specify the encoding, so that UTF8 characters are read using the UTF8 encoding and the data will be correct utf8PropertiesCorrect.Load(utf8FileStream, Encoding.UTF8); JavaProperties utf8PropertiesIncorrect = new JavaProperties(); utf8FileStream.Seek(0, SeekOrigin.Begin);// reset the stream position from the previous loading. // we do not set the encoding, so the data will not appear correctly - UTF8 characters will be read usign the default ISO-8859-1 encoding // this is to ensure that setting the encoding makes a difference utf8PropertiesIncorrect.Load(utf8FileStream); JavaProperties isoProperties = new JavaProperties(); isoProperties.Load(isoFileStream); foreach (var key in utf8PropertiesCorrect.Keys) { // Asert the correct file is identical to its native2ascii version Assert.AreEqual(utf8PropertiesCorrect[key], isoProperties[key]); if (key.Equals("AsciiText")) { // Assert that not-using the proper encoding will not corrupt pure ASCII data Assert.AreEqual(utf8PropertiesCorrect[key], utf8PropertiesIncorrect[key]); Assert.AreEqual(utf8PropertiesCorrect[key], isoProperties[key]); } else { // Assert that not-using the proper encoding will corrupt data Assert.AreNotEqual(utf8PropertiesIncorrect[key], utf8PropertiesCorrect[key]); Assert.AreNotEqual(utf8PropertiesIncorrect[key], isoProperties[key]); } } isoFileStream.Close(); //Assert.IsEmpty(properties); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (utf8FileStream != null) { utf8FileStream.Close(); } if (isoFileStream != null) { isoFileStream.Close(); } } }
public void TestComments() { FileStream fileStream = null; try { Console.WriteLine("Loading " + CommentsTestFile); fileStream = new FileStream(CommentsTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); //Assert.Equals( properties.Count, 3 ); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }
public void TestJavaPropertyWriter() { const string filename = JavaTestDataDirectory + "mixed.properties"; const string outName = JavaOutputDirectory + "test-writer.properties"; FileStream inStream = null; FileStream outStream = null; try { // Read the mixed properties file. Console.WriteLine("Loading " + filename); inStream = File.OpenRead(filename); JavaProperties properties1 = new JavaProperties(); properties1.Load( inStream ); inStream.Close(); inStream = null; // Write it to a new file - using the JavaPropertiesWriter we are testing. outStream = File.OpenWrite(outName); properties1.Store(outStream, "Testing JavaPropertyWriter"); outStream.Flush(); outStream.Close(); outStream = null; // Now re-read the output file into a second set of properties inStream = File.OpenRead(outName); JavaProperties properties2 = new JavaProperties(); properties2.Load(inStream); // Now compare the values - find, compare and remove each value in turn. foreach (String name in properties2.Keys) { String value2 = properties2.GetProperty(name); if (properties1.ContainsKey(name)) { String value1 = properties1.GetProperty(name); if (value1 == null) { if (value2 != null) { Assert.Fail("Original value is null, new value is : \"" + value2 + "\""); } } else if (!value1.Equals(value2)) { Assert.Fail("Original value is \"" + value1 + "\", new value is : \"" + value2 + "\""); } properties1.Remove( name ); } else { Assert.Fail("Missing property: \"" + name + "\" (with value \"" + value2 + "\")"); } } if( properties1.Count > 0 ) { Assert.Fail( properties1.Count + " values missing from output file."); } } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (inStream != null) { inStream.Close(); } if (outStream != null) { outStream.Close(); } } }
public void TestDuplicates() { FileStream fileStream = null; try { Console.WriteLine("Loading " + DuplicateTestFile); fileStream = new FileStream(DuplicateTestFile, FileMode.Open); JavaProperties properties = new JavaProperties(); properties.Load(fileStream); fileStream.Close(); Assert.AreEqual( properties.Count, 1 ); Assert.IsTrue( "c".Equals(properties.GetProperty("a") ) ); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (fileStream != null) { fileStream.Close(); } } }