Exemplo n.º 1
0
        private int[] ParseWarnings(YamlParser parser, YamlNode value)
        {
            var seq = value as YamlSequenceNode;

            if (seq != null)
            {
                return(parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>().Select(childValue => Int32.Parse(childValue.Value)).ToArray());
            }
            else
            {
                return(new int[0]);
            }
        }
Exemplo n.º 2
0
        private string[] ParseDefines(YamlParser parser, YamlNode value)
        {
            var seq = value as YamlSequenceNode;

            if (seq != null)
            {
                return(parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>().Select(childValue => childValue.Value).ToArray());
            }
            else
            {
                return(new string[0]);
            }
        }
Exemplo n.º 3
0
        public void EnumerateNodesOfSimpleMapping()
        {
            var doc = Load(@"---
first:  1
second: 2
third:  3
");

            var nodes = parser.EnumerateNodesOf((YamlMappingNode)doc.RootNode);

            nodes.Should().NotBeNull().And.HaveCount(3);
            nodes.Should().Contain(new[]
            {
                NodePair(Scalar("first"), Scalar("1")),
                NodePair(Scalar("second"), Scalar("2")),
                NodePair(Scalar("third"), Scalar("3")),
            });
        }
Exemplo n.º 4
0
        /// <summary>
        /// Loads the YAML block
        /// </summary>
        /// <param name="name">Name of the block (same that was passed to <see cref="IYamlProjectParametersLoader.Supports"/>)</param>
        /// <param name="value">The YAML node representing the value</param>
        /// <param name="parser">The YAML parser to be used</param>
        /// <returns>Returns the loaded node</returns>
        public override IProjectParameters Load(Suite suite, string name, YamlNode value, YamlParser parser)
        {
            Suite = suite;

            var target = CreateNewParameters(suite);

            var seq = value as YamlSequenceNode;

            if (seq != null)
            {
                foreach (var node in parser.EnumerateNodesOf(seq).OfType <YamlScalarNode>())
                {
                    target.AddPattern(new RepositoryPattern(ParseString(node)));
                }
            }

            return(target);
        }
Exemplo n.º 5
0
        private IDictionary <string, string> ParseMergeSections(YamlNode value, YamlParser parser)
        {
            var result  = new Dictionary <string, string>();
            var mapping = value as YamlMappingNode;

            if (mapping != null)
            {
                foreach (var pair in parser.EnumerateNodesOf(mapping))
                {
                    var scalarKey   = pair.Key as YamlScalarNode;
                    var scalarValue = pair.Value as YamlScalarNode;
                    if (scalarKey != null && scalarValue != null)
                    {
                        result.Add(scalarKey.Value, scalarValue.Value);
                    }
                }
            }

            return(result);
        }