Exemplo n.º 1
0
        private void CreateTab(string filename)
        {
            try
            {
                var tb = new RegexTesterTab();
                tb.Dock = DockStyle.Fill;
                tb.RegexText.Focus();

                var tab = new FATabStripItem(filename != null ? Path.GetFileName(filename) : string.Format("new {0}", _nosaved++), tb);
                tab.Tag    = filename;
                tab.Click += TabOnClick;

                if (filename != null)
                {
                    var yaml   = File.ReadAllText(filename);
                    var doc    = YamlNode.FromYaml(yaml);
                    var root   = (YamlMapping)doc[0];
                    var sregex = ((YamlScalar)root["regex"]).Value;
                    var stext  = ((YamlScalar)root["text"]).Value;
                    tb.RegexText.Text  = sregex;
                    tb.TesterText.Text = stext;
                }

                tabMain.AddTab(tab);
                tabMain.SelectedItem = tab;
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("The file {0} is invalid.", filename), "ERROR");
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            var content = @"

# dfgdfg

 &a [*a]";

            //            var content = @"
            //? a :
            //    - b
            //    -  - c
            //       - d
            //";

            //            var content = @"
            //a : &anchor foo
            //c : *anchor
            //b : &anchor bar
            //d : *anchor
            //";

            //            var content = @"
            //[
            //""folded to a space,\n\
            //      to a line feed, \
            //      or \t \tnon - content""
            //,
            //""folded
            //to a space,

            //to a line feed, or    \
            // \    non - content""
            //]";

            //            var content = @"
            //--- ""he\0lჿFFlo""
            //";
            // System.Text.Encoding.UTF8.
            var    x            = char.ConvertFromUtf32(0x10FFFF);
            var    y            = char.ConvertFromUtf32(0x20);
            var    z            = char.ConvertFromUtf32(0x41);
            var    a            = char.ConvertFromUtf32(0x2665);
            string bla          = x + y + z + a;
            var    contentNodes = YamlNode.FromYaml(content);

            var back = contentNodes.First().ToYaml();

            using (var reader = new StreamReader(@"D:\Mes Documents\Dev\yaml\yamlreference\.stack-work\install\7282fce5\bin\gros.txt",
                                                 Encoding.UTF8))
            {
                var nodes = YamlNode.FromYaml(reader);
                YamlSharp.Serialization.YamlSerializer serializer = new YamlSharp.Serialization.YamlSerializer();
                var roundTrip = serializer.Serialize(nodes);
            }
        }
Exemplo n.º 3
0
        public void TestNullScalar()
        {
            YamlNode node = str("!!null", "null");

            Assert.AreEqual(
                BuildResult("null"),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);

            node = str("!!null", "");
            Assert.AreEqual(
                BuildResult(""),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);

            node = seq(str("!!null", ""));
            Assert.AreEqual(
                BuildResult("- "),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);

            node = map(str("!!null", ""), str("!!null", ""));
            Assert.AreEqual(
                BuildResult(": "),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);

            node = map(str("!!null", ""), str("!!null", ""), "abc", "");
            Assert.AreEqual(
                BuildResult(
                    ": ",
                    "abc: \"\""
                    ),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);

            node = seq(map(str("!!null", ""), str("!!null", ""), "abc", ""));
            Assert.AreEqual(
                BuildResult(
                    "- : ",
                    "  abc: \"\""
                    ),
                YamlPresenter.ToYaml(node)
                );
            Assert.AreEqual(YamlNode.FromYaml(node.ToYaml())[0], node);
        }
Exemplo n.º 4
0
        public void TestScalarEqualityWithDifferentExpression()
        {
            var seq = (YamlSequence)YamlNode.FromYaml(
                "- 0x01\n" +
                "- 0b01\n" +
                "- 1\n" +
                "- 01\n" +
                "- 0o1\n"
                )[0];

            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreEqual(seq[0], seq[3]);
            Assert.AreEqual(seq[0], seq[4]);

            seq = (YamlSequence)YamlNode.FromYaml(
                "- !!float 10\n" +
                "- +10.0\n" +
                "- 10.0\n" +
                "- 1e1\n" +
                "- 0.1e2\n" +
                "- 0.11e2\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreEqual(seq[0], seq[3]);
            Assert.AreEqual(seq[0], seq[4]);
            Assert.AreNotEqual(seq[0], seq[5]);

            seq = (YamlSequence)YamlNode.FromYaml(
                "- y\n" +
                "- Y\n" +
                "- yes\n" +
                "- Yes\n" +
                "- YES\n" +
                "- true\n" +
                "- True\n" +
                "- TRUE\n" +
                "- on\n" +
                "- On\n" +
                "- ON\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreEqual(seq[0], seq[3]);
            Assert.AreEqual(seq[0], seq[4]);
            Assert.AreEqual(seq[0], seq[5]);
            Assert.AreEqual(seq[0], seq[6]);
            Assert.AreEqual(seq[0], seq[7]);
            Assert.AreEqual(seq[0], seq[8]);
            Assert.AreEqual(seq[0], seq[9]);
            Assert.AreEqual(seq[0], seq[10]);

            seq = (YamlSequence)YamlNode.FromYaml(
                "- n\n" +
                "- N\n" +
                "- no\n" +
                "- No\n" +
                "- NO\n" +
                "- false\n" +
                "- False\n" +
                "- FALSE\n" +
                "- off\n" +
                "- Off\n" +
                "- OFF\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreEqual(seq[0], seq[3]);
            Assert.AreEqual(seq[0], seq[4]);
            Assert.AreEqual(seq[0], seq[5]);
            Assert.AreEqual(seq[0], seq[6]);
            Assert.AreEqual(seq[0], seq[7]);
            Assert.AreEqual(seq[0], seq[8]);
            Assert.AreEqual(seq[0], seq[9]);
            Assert.AreEqual(seq[0], seq[10]);

            seq = (YamlSequence)YamlNode.FromYaml(
                "- \n" +
                "- ~\n" +
                "- null\n" +
                "- Null\n" +
                "- NULL\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreEqual(seq[0], seq[3]);
            Assert.AreEqual(seq[0], seq[4]);

            seq = (YamlSequence)YamlNode.FromYaml(
                "- 2000-01-01 00:00:00Z\n" +
                "- 2000-01-01 09:00:00 +9\n" +
                "- 1999-12-31 23:00:00 -1\n" +
                "- 2000-01-01 00:00:00\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[0], seq[2]);
            Assert.AreNotEqual(seq[0], seq[3]); // how it should be

            seq = (YamlSequence)YamlNode.FromYaml(
                "- [1,2,3]\n" +
                "- [1,2,3]\n" +
                "- {a: b}\n" +
                "- {a: b}\n"
                )[0];
            Assert.AreEqual(seq[0], seq[1]);
            Assert.AreEqual(seq[2], seq[3]);
        }
Exemplo n.º 5
0
        public void MergeKey()
        {
            var map      = new YamlMapping("existing", "value");
            var mergeKey = new YamlScalar("!!merge", "<<");

            map.Add(mergeKey, new YamlMapping("existing", "new value"));
            map.OnLoaded();
            Assert.AreEqual(1, map.Count);
            Assert.IsTrue(map.ContainsKey("existing"));
            Assert.AreEqual((YamlNode)"value", map["existing"]);

            map.Add(mergeKey, new YamlMapping("not existing", "new value"));
            map.OnLoaded();
            Assert.AreEqual(2, map.Count);
            Assert.IsTrue(map.ContainsKey("existing"));
            Assert.AreEqual((YamlNode)"value", map["existing"]);
            Assert.IsTrue(map.ContainsKey("not existing"));
            Assert.AreEqual((YamlNode)"new value", map["not existing"]);

            map.Add(mergeKey, new YamlMapping("key1", "value1", 2, 2, 3.0, 3.0));
            map.OnLoaded();
            Assert.AreEqual(5, map.Count);
            Assert.IsTrue(map.ContainsKey("existing"));
            Assert.AreEqual((YamlNode)"value", map["existing"]);
            Assert.IsTrue(map.ContainsKey("not existing"));
            Assert.AreEqual((YamlNode)"new value", map["not existing"]);
            Assert.IsTrue(map.ContainsKey(2));
            Assert.AreEqual((YamlNode)2, map[2]);
            Assert.IsTrue(map.ContainsKey(3.0));
            Assert.AreEqual((YamlNode)3.0, map[3.0]);

            map = new YamlMapping(
                "existing", "value",
                mergeKey, new YamlMapping("not existing", "new value"));
            map.OnLoaded();
            Assert.AreEqual(2, map.Count);
            Assert.IsTrue(map.ContainsKey("existing"));
            Assert.AreEqual((YamlNode)"value", map["existing"]);
            Assert.IsTrue(map.ContainsKey("not existing"));
            Assert.AreEqual((YamlNode)"new value", map["not existing"]);

            map = (YamlMapping)YamlNode.FromYaml(
                "key1: value1\r\n" +
                "key2: value2\r\n" +
                "<<: \r\n" +
                "  key2: value2 modified\r\n" +
                "  key3: value3\r\n" +
                "  <<: \r\n" +
                "    key4: value4\r\n" +
                "    <<: value5\r\n" +
                "key6: <<\r\n")[0];
            Assert.AreEqual(
                "%YAML 1.2\r\n" +
                "---\r\n" +
                "<<: value5\r\n" +
                "key6: <<\r\n" +
                "key3: value3\r\n" +
                "key2: value2\r\n" +
                "key4: value4\r\n" +
                "key1: value1\r\n" +
                "...\r\n",
                map.ToYaml()
                );
            Assert.IsTrue(map.ContainsKey(mergeKey));
            Assert.AreEqual(mergeKey, map["key6"]);

            map.Remove(mergeKey);
            map.Add(mergeKey, map); // recursive
            map.OnLoaded();
            Assert.AreEqual(        // nothing has been changed
                "%YAML 1.2\r\n" +
                "---\r\n" +
                "key6: <<\r\n" +
                "key3: value3\r\n" +
                "key2: value2\r\n" +
                "key4: value4\r\n" +
                "key1: value1\r\n" +
                "...\r\n",
                map.ToYaml()
                );
        }