Пример #1
0
 public bool IsAt(EscapedString str, int pos)
 {
     if (!Begin.IsMatch(str, pos))
     {
         return(false);
     }
     return(End.Find(str, pos + Begin.Length) != null);
 }
Пример #2
0
 public ParsingState(string source, LanguageSyntax languageSyntax)
 {
     this.languageSyntax = languageSyntax;
     String   = new EscapedString(source, languageSyntax.EscapeChar);
     Position = 0;
     tagStack = new Stack <SyntaxNode>();
     Root     = SyntaxNode.CreateTag(LanguageSyntax.RootTagName);
     tagStack.Push(Root);
 }
Пример #3
0
        /**
         * Get the repos for a given owner.
         */
        public async Task <List <Repository> > ProcessRepositories(EscapedString owner)
        {
            var serializer = new DataContractJsonSerializer(typeof(List <Repository>));

            var url = String.Format("https://api.github.com/orgs/{0}/repos", owner);

            var streamTask = client.GetStreamAsync(url);

            return(serializer.ReadObject(await streamTask) as List <Repository>);
        }
Пример #4
0
 private bool IsMatch(EscapedString str, int pos, CharType template)
 {
     if (pos < 0 || pos >= str.Length)
     {
         return(true);
     }
     if (str[pos].IsEscaped)
     {
         return(false);
     }
     return(str[pos].Value.IsMatch(template));
 }
Пример #5
0
        /**
         * Get the repos for a given owner.
         */
        public async Task <SearchResult> PerformSearch(EscapedString query)
        {
            var root      = "https://api.github.com/search/repositories";
            var parameter = "?q=";

            var serializer = new DataContractJsonSerializer(typeof(SearchResult));

            var streamTask = client.GetStreamAsync(root + parameter + query);

            // Parse the JSON using a stream, to the model object
            return(serializer.ReadObject(await streamTask) as SearchResult);
        }
Пример #6
0
 public int?Find(EscapedString str, int start)
 {
     for (int begin = start;
          begin >= 0;
          begin = str.ParsedString.IndexOf(Lexem, begin, StringComparison.InvariantCulture))
     {
         if (IsMatch(str, begin))
         {
             return(begin);
         }
         begin += 1;
     }
     return(null);
 }
Пример #7
0
 public bool IsMatch(EscapedString str, int startPosition = 0)
 {
     if ((str.Length - startPosition) < Lexem.Length)
     {
         return(false);
     }
     if (!IsMatch(str, startPosition + Lexem.Length, nextCharTemplate))
     {
         return(false);
     }
     if (!IsMatch(str, startPosition - 1, prevCharTemplate))
     {
         return(false);
     }
     return(str.SubstringOrdinalEqual(Lexem, startPosition));
 }
Пример #8
0
        public void SeperatesWithSpecifiedSeperator()
        {
            IEnumerable <string> result = EscapedString.Seperate("first]second", ']');

            CollectionAssert.AreEqual(new[] { "first", "second" }, result);
        }
Пример #9
0
        public void CombinesWithSpecifiedSeperator()
        {
            string result = EscapedString.Combine(new[] { "first", "second" }, ';');

            Assert.AreEqual("first;second", result);
        }
Пример #10
0
        private void CombineTest(IEnumerable data, string expected)
        {
            string result = EscapedString.Combine(data);

            Assert.AreEqual(expected, result);
        }
Пример #11
0
        private void SeperateTest(IEnumerable <string> expected, string data)
        {
            var result = EscapedString.Seperate(data);

            CollectionAssert.AreEqual(expected, result);
        }
Пример #12
0
        private void SeperateTest(IEnumerable <string> expected, string data, bool trimWhitespaces = false)
        {
            var result = EscapedString.Seperate(data, trimWhitespaces);

            CollectionAssert.AreEqual(expected, result);
        }
Пример #13
0
        public void NotOrdinalEqual_WhenSourceIs(string src, int compareStart, string other)
        {
            var parsed = new EscapedString(src, '\\');

            parsed.SubstringOrdinalEqual(other, compareStart).Should().BeFalse();
        }
Пример #14
0
        public void CorrectlyParseEscapedLine_WhenString(string source, string expected)
        {
            var parsed = new EscapedString(source, '\\');

            parsed.ToString().Should().Be(expected);
        }