Load() public method

Load Java Properties from a stream expecting the format as described in JavaPropertyReader.
If the stream source is invalid.
public Load ( Stream streamIn ) : void
streamIn Stream An input stream to read properties from.
return void
Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 4
0
        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();
                }
            }
        }
Ejemplo n.º 6
0
        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();
                }
            }
        }
Ejemplo n.º 7
0
        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();
                }
            }
        }
Ejemplo n.º 8
0
        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();
                }
            }
        }
Ejemplo n.º 10
0
 public ExternalToolProperties(string filePath)
 {
     using (var fileStream = new FileStream(filePath, FileMode.Open))
     {
         _properties = new JavaProperties(PropertiesConstants.DEFAULTS);
         _properties.Load(fileStream);
     }
 }
Ejemplo n.º 11
0
        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();
                }
            }
        }
Ejemplo n.º 12
0
        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();
                }
            }
        }
Ejemplo n.º 13
0
        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();
                }
            }
        }
Ejemplo n.º 16
0
 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();
                }
            }
        }