private void Test(string[] header, string[] text)
    {
      string headerString = string.Join (Environment.NewLine, header);
      string textString = string.Join(Environment.NewLine, text);
      
      if (header.Length > 0 && text.Length > 0)
        headerString += Environment.NewLine;

      var parser = new CommentParser ("//", "/*", "*/", "#region", "#endregion");
      Assert.AreEqual (headerString, parser.Parse (headerString + textString));
    }
Exemple #2
0
 public static bool Validate(string header, CommentParser commentParser)
 {
     try
     {
         var result = commentParser.Parse(header);
         return(result == header);
     }
     catch (ParseException)
     {
         return(false);
     }
 }
Exemple #3
0
        private string GetExistingHeader()
        {
            string header = _commentParser.Parse(GetText());

            if (_keywords == null || _keywords.Any(k => header.ToLower().Contains(k.ToLower())))
            {
                return(header);
            }
            else
            {
                return(string.Empty);
            }
        }
Exemple #4
0
        public void ReplaceHeaderIfNecessary()
        {
            // get the header copyright section of this document
            string existingHeader = _commentParser.Parse(GetText());

            // if the filter keywords exist but none match, return -- no replacement.
            if (!string.IsNullOrEmpty(existingHeader) &&
                _keywords != null &&
                (_keywords.Any(k => existingHeader.ToLower().Contains(k.ToLower()))) == false)
            {
                return;
            }

            // if blacklist keywords exist and any of them match, return -- no replacement.
            if (!string.IsNullOrEmpty(existingHeader) &&
                _blacklist != null &&
                (_blacklist.Any(b => existingHeader.ToLower().Contains(b.ToLower()))))
            {
                return;
            }

            // check for and process skip expression
            var skippedText = SkipText();

            if (!string.IsNullOrEmpty(skippedText))
            {
                RemoveHeader(skippedText);
                AddHeader(LicenseHeaderPreparer.Prepare(skippedText, GetText(), _commentParser));
                return;
            }

            // if new header is not empty and differs from original, replace it
            if (!_header.IsEmpty)
            {
                if (existingHeader != _header.Text)
                {
                    ReplaceHeader(existingHeader, _header.Text);
                }
            }
            else // else remove it
            {
                RemoveHeader(existingHeader);
            }
        }
 public static bool Validate(string header, CommentParser commentParser)
 {
     try
       {
     var result = commentParser.Parse (header);
     return result == header;
       }
       catch (ParseException)
       {
     return false;
       }
 }
 private void TestError(string[] text)
 {
     string textString = string.Join (Environment.NewLine, text);
       var parser = new CommentParser ("//", "/*", "*/", "#region", "#endregion");
       Assert.Throws<ParseException>(() => parser.Parse (textString));
 }
    public void TestEndRegionWithSpace()
    {
      var header = new[]
      {
        "#Region ",
        "//This is a comment.",
        "#End Region"
      };

      string headerString = string.Join (Environment.NewLine, header);
      
      headerString += Environment.NewLine;

      var parser = new CommentParser ("//", "/*", "*/", "#Region", "#End Region");
      Assert.AreEqual (headerString, parser.Parse (headerString));
      
    }