public void TryParseSingleStackFrame_NullInput_ThrowsNullArgumentException() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = null; // Act Assert.Throws <ArgumentNullException>(() => stackTraceParser.TryParseSingleStackFrame(frame)); }
public void TryParseSingleStackFrame_EmptyString_ReturnNull() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = String.Empty; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Null(result); }
public void TryParseSingleStackFrame_NoMethodNameInInput_ReturnsStackFrameWithNullMethod() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " (http://localhost:19220/crashcauser.min.js:1:34)"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("http://localhost:19220/crashcauser.min.js", result.FilePath); Assert.Null(result.MethodName); Assert.Equal(0, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(33, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_IE11StackFrameWithAnonymousFunction_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " at Anonymous function (http://localhost:19220/crashcauser.min.js:5:25)"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("http://localhost:19220/crashcauser.min.js", result.FilePath); Assert.Equal("Anonymous function", result.MethodName); Assert.Equal(4, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(24, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_IE11StackFrame_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " at c (http://localhost:19220/crashcauser.min.js:3:17)"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("http://localhost:19220/crashcauser.min.js", result.FilePath); Assert.Equal("c", result.MethodName); Assert.Equal(2, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(16, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_ChromeStackFrameWithScriptSubfolder_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " at c (http://localhost:19220/o/app_scripts/crashcauser.min.js:9:5)"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("http://localhost:19220/o/app_scripts/crashcauser.min.js", result.FilePath); Assert.Equal("c", result.MethodName); Assert.Equal(8, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(4, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_ChromeStackFrameWithNoMethodName_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " at http://localhost:19220/crashcauser.min.js:10:13"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("http://localhost:19220/crashcauser.min.js", result.FilePath); Assert.Null(result.MethodName); Assert.Equal(9, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(12, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_StackFrameWithWebpackLink_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = " at eval (webpack-internal:///./Static/jsx/InitialStep/InitialStepForm.js:167:14)"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.Equal("webpack-internal:///./Static/jsx/InitialStep/InitialStepForm.js", result.FilePath); Assert.Equal("eval", result.MethodName); Assert.Equal(167 - 1, result.SourcePosition.ZeroBasedLineNumber); Assert.Equal(14 - 1, result.SourcePosition.ZeroBasedColumnNumber); }
public void TryParseSingleStackFrame_FireFoxStackFrame_CorrectStackFrame() { // Arrange StackTraceParser stackTraceParser = new StackTraceParser(); string frame = "c@http://localhost:19220/crashcauser.min.js:4:52"; // Act StackFrame result = stackTraceParser.TryParseSingleStackFrame(frame); // Assert Assert.AreEqual("http://localhost:19220/crashcauser.min.js", result.FilePath); Assert.AreEqual("c", result.MethodName); Assert.AreEqual(3, result.SourcePosition.ZeroBasedLineNumber); Assert.AreEqual(51, result.SourcePosition.ZeroBasedColumnNumber); }