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)); }
public static bool Validate(string header, CommentParser commentParser) { try { var result = commentParser.Parse(header); return(result == header); } catch (ParseException) { return(false); } }
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); } }
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)); }