Esempio n. 1
0
        public void Default_Ctor_Initialises_To_Sensible_Values()
        {
            var parser = new KeyValueParser();

            Assert.AreEqual('=', parser.Separator);
            Assert.AreEqual("", parser.MissingValue);
        }
Esempio n. 2
0
        public void ThrowsIfDuplicateAttribute()
        {
            string value = "Name=\"Foo\" Name=\"Hey\"";
            IDictionary <string, string> props = KeyValueParser.Parse(value);

            Assert.AreEqual(2, props.Count);
        }
Esempio n. 3
0
        public void ShouldParseAttributes()
        {
            string value = "Name=\"Foo\" Value=\"Hey\"";
            IDictionary <string, string> props = KeyValueParser.Parse(value);

            Assert.AreEqual(2, props.Count);
        }
Esempio n. 4
0
        public void Custom_Parameters_Ctor_Initialises_Properties()
        {
            var parser = new KeyValueParser(':', "oops");

            Assert.AreEqual(':', parser.Separator);
            Assert.AreEqual("oops", parser.MissingValue);
        }
Esempio n. 5
0
        public void ShouldSupportMixingQuoteTypes()
        {
            string value = "Name='Foo' Value=\"Bar\"";
            IDictionary <string, string> props = KeyValueParser.Parse(value);

            Assert.AreEqual(2, props.Count);
        }
Esempio n. 6
0
        public void ShouldBuildCaseInsensitiveDictionary()
        {
            string value = "Name=\"Foo\"";
            IDictionary <string, string> props = KeyValueParser.Parse(value);

            Assert.IsTrue(props.ContainsKey("name"));
        }
        public void TestSetup()
        {
            parser = new KeyValueParser();

            contentBuilder = new StringBuilder();

            content = Substitute.For <IFileContent>();
            content.AsStream.Returns(_ => new MemoryStream(Encoding.UTF8.GetBytes(contentBuilder.ToString())));

            fileName = Guid.NewGuid().ToString();
        }
Esempio n. 8
0
        public void Parse_Uses_MissingValue()
        {
            var parser = new KeyValueParser('=', "ug");

            string key, value;

            parser.Parse("a", out key, out value);

            Assert.AreEqual("a", key);
            Assert.AreEqual("ug", value);
        }
Esempio n. 9
0
        public void Parse_Uses_Separator()
        {
            var parser = new KeyValueParser(':', "");

            string key, value;

            parser.Parse("Z1: a=b", out key, out value);

            Assert.AreEqual("Z1", key);
            Assert.AreEqual(" a=b", value);
        }
Esempio n. 10
0
        public void Parse_Splits_Key_And_Value_Correctly(string text, string expectedKey, string expectedValue)
        {
            var parser = new KeyValueParser();

            string key, value;

            parser.Parse(text, out key, out value);

            Assert.AreEqual(expectedKey, key);
            Assert.AreEqual(expectedValue, value);
        }
Esempio n. 11
0
        public Config Parse(string path)
        {
            var configBuilder = new Config.Builder();

            using (var fs = File.OpenRead(path))
                using (var sr = new StreamReader(fs, Encoding.UTF8))
                {
                    var validSection = false;
                    BaseSection.Builder currentSectionBuilder = null;
                    while (!sr.EndOfStream)
                    {
                        var line = sr.ReadLine();
                        if (line.Length == 0)
                        {
                            continue;
                        }

                        var lineType = CheckLineType(line);
                        if (lineType == LineType.COMMENT)
                        {
                            continue;
                        }

                        if (lineType == LineType.SECTION)
                        {
                            var sectionParser = new SectionParser();
                            validSection = sectionParser.TryParse(line, out var sectionBuilder);
                            if (validSection)
                            {
                                sectionBuilder.AddToConfigBuilder(configBuilder);
                                currentSectionBuilder = sectionBuilder;
                            }
                        }
                        else if (lineType == LineType.PARAMETER)
                        {
                            if (validSection)
                            {
                                var kvParser = new KeyValueParser();
                                if (kvParser.TryParse(line, out var kv))
                                {
                                    currentSectionBuilder.SetValue(kv);
                                }
                            }
                        }
                    }
                }

            return(configBuilder.Build());
        }
Esempio n. 12
0
        public bool ParseAllEntities(string mapEntites)
        {
            var groups = new List <Dictionary <String, String> >();

            if (!KeyValueParser.ParseEntities(mapEntites, groups))
            {
                return(false);
            }

            foreach (var g in groups)
            {
                if (!g.ContainsKey("classname"))
                {
                    continue;
                }

                var ent = CreateEntity(g["classname"]);
                ent.LoadMapData(g);

                _MapEntityList.Add(ent);
            }

            return(true);
        }
Esempio n. 13
0
 public void ParseKeys_ThrowsODataException_HasABadFormatForSingleQuote(string segment, string expectedError)
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys(segment), expectedError);
 }
Esempio n. 14
0
        public void ParseKeys(string str, IEnumerable <string> expectedKeyValues)
        {
            var result = KeyValueParser.ParseKeys(str);

            Assert.Equal(result.Select(r => r.Key + ":" + r.Value).OrderBy(r => r), expectedKeyValues.OrderBy(k => k));
        }
Esempio n. 15
0
 public void ThrowsIfNullValue()
 {
     KeyValueParser.Parse(null);
 }
Esempio n. 16
0
        protected void LoadConfig ()
        {
            var config = new Dictionary<string, string[]> ();

            if (File.Exists (IsAudioPlayerPath)) {

                try {
                    using (var reader = new StreamReader (IsAudioPlayerPath)) {
                        config = new KeyValueParser (reader);
                        has_is_audio_player_file = true;
                    }

                } catch (Exception e) {
                    Log.Exception ("Error parsing " + IsAudioPlayerPath, e);
                }
            }

            name = GetPreferredValue ("name", config, DefaultName);
            cover_art_file_type = GetPreferredValue ("cover_art_file_type", config, DefaultCoverArtFileType);
            cover_art_file_name = GetPreferredValue ("cover_art_file_name", config, DefaultCoverArtFileName);
            cover_art_size = GetPreferredValue ("cover_art_size", config, DefaultCoverArtSize);
            audio_folders = MergeValues ("audio_folders", config, DefaultAudioFolders);
            video_folders = MergeValues ("video_folders", config, DefaultVideoFolders);
            playback_mime_types = MergeValues ("output_formats", config, DefaultPlaybackMimeTypes);
            playlist_formats = MergeValues ("playlist_formats", config, DefaultPlaylistFormats);
            playlist_path = GetPreferredValue ("playlist_path", config, DefaultPlaylistPath);
            folder_depth = GetPreferredValue ("folder_depth", config, DefaultFolderDepth);
        }
Esempio n. 17
0
 public void ParseKeys_ThrowsODataException_DuplicateKey()
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys("id=1,id=2"),
                                             "Duplicate key 'id' found in segment 'id=1,id=2'.");
 }
Esempio n. 18
0
 public void ParseKeys_ThrowsODataException_InvalidCountOfSingleQuoteForNonStringLiteral(string segment, string expectedError)
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys(segment), expectedError);
 }
Esempio n. 19
0
 public void ParseKeys_ThrowsODataException_NoValueWasFound(string segment, string expectedError)
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys(segment), expectedError);
 }
Esempio n. 20
0
 public void ParseKeys_ThrowsODataException_UnterminatedStringLiteral()
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys("id1='123"),
                                             "Unterminated string literal at 4 in segment 'id1='123'.");
 }
Esempio n. 21
0
        protected void LoadConfig ()
        {
            IDictionary<string, string[]> config = null;

            if (File.Exists (IsAudioPlayerPath)) {

                try {
                    using (var reader = new StreamReader (IsAudioPlayerPath)) {
                        config = new KeyValueParser (reader);
                        has_is_audio_player_file = true;
                    }

                } catch (Exception e) {
                    Log.Exception ("Error parsing " + IsAudioPlayerPath, e);
                }
            }

            LoadConfig (config);
        }
Esempio n. 22
0
 public void ParseKeys_ThrowsODataException_SegmentHasNoKeyName(string segment, string expectedError)
 {
     ExceptionAssert.Throws <ODataException>(() => KeyValueParser.ParseKeys(segment), expectedError);
 }