Beispiel #1
0
        public void TestMainPath()
        {
            var log = Logger.LogToStringBuilder();

            using (Logger.MarkEntryPoints())
            {
                Logger.Event("Starting");
                var name = "Llewellyn";
                Logger.Variable("name", name);
                Logger.Message("I Got here");
                Logger.Sql("Select * From table_name");
                try
                {
                    throw new Exception(" Problem");
                }
                catch (Exception e)
                {
                    Logger.Warning(e);
                }
            }
            var logText = log.ScrubPath(PathUtilities.GetDirectoryForCaller());

            logText = StackTraceScrubber.ScrubStackTrace(logText);
            Approvals.Verify(logText);
        }
Beispiel #2
0
 public static void Approve(Func <FileReportModel> model, IReportBuilder reportBuilder)
 {
     // setting the culture to make sure the date is formatted the same on all machines
     using (new TemporaryCulture("en-GB"))
     {
         var result = reportBuilder.CreateReport(model());
         Approvals.Verify(result, s => Scrub(StackTraceScrubber.ScrubLineNumbers(StackTraceScrubber.ScrubPaths(s))));
     }
 }
Beispiel #3
0
 string Scrubber(string s)
 {
     s = StackTraceScrubber.ScrubLineNumbers(s);
     s = StackTraceScrubber.ScrubPaths(s);
     //the throwhelper seems to be present on some environments' stack traces but not others, cut it out to make tha approvals pass on most machines
     s = Regex.Replace(s, @"\n.*ThrowHelper.*\n", "\n");
     s = Regex.Replace(s, @"\r?\n", "\n");
     // replace line number in polyassert headers
     s = Regex.Replace(s, @"(?<=^ERROR in.*:)\d+(?=:$)", "<line>", RegexOptions.Multiline);
     return(s);
 }
Beispiel #4
0
        public void TestDashedPath()
        {
            const string Path = @"C:\code\ApprovalTests - Net\Persistence\Datasets\DatasetTest.cs";

            Assert.AreEqual("...\\DatasetTest.cs", StackTraceScrubber.ScrubPaths(Path));
        }
Beispiel #5
0
        public void TestKeyValuePair()
        {
            const string Value = @"name: File.foo";

            Assert.AreEqual(Value, StackTraceScrubber.ScrubPaths(Value));
        }
        public void TestDashedPathOnMac()
        {
            const string Path = @"/Users/approver/code/ApprovalTests - Net/Persistence/Datasets/DatasetTest.cs";

            Assert.AreEqual(".../DatasetTest.cs", StackTraceScrubber.ScrubPaths(Path));
        }