Exemplo n.º 1
0
        public void StackFrameDeminierDeminifyStackFrame_SourceMapParsingNull_SourceMapFailedToParseError()
        {
            // Arrange
            string           filePath = "foo";
            FunctionMapEntry wrapingFunctionMapEntry = new FunctionMapEntry {
                DeminfifiedMethodName = "DeminifiedFoo"
            };
            StackFrame stackFrame = new StackFrame {
                FilePath = filePath
            };
            IFunctionMapStore functionMapStore = MockRepository.GenerateStub <IFunctionMapStore>();

            functionMapStore.Stub(c => c.GetFunctionMapForSourceCode(filePath))
            .Return(new List <FunctionMapEntry>());
            IFunctionMapConsumer functionMapConsumer = MockRepository.GenerateStub <IFunctionMapConsumer>();

            functionMapConsumer.Stub(c => c.GetWrappingFunctionForSourceLocation(Arg <SourcePosition> .Is.Anything, Arg <List <FunctionMapEntry> > .Is.Anything))
            .Return(wrapingFunctionMapEntry);
            ISourceMapStore sourceMapStore = MockRepository.GenerateStub <ISourceMapStore>();

            sourceMapStore.Stub(c => c.GetSourceMapForUrl(Arg <string> .Is.Anything)).Return(new SourceMap());

            IStackFrameDeminifier stackFrameDeminifier = GetStackFrameDeminifierWithMockDependencies(sourceMapStore: sourceMapStore, functionMapStore: functionMapStore, functionMapConsumer: functionMapConsumer);

            // Act
            StackFrameDeminificationResult stackFrameDeminification = stackFrameDeminifier.DeminifyStackFrame(stackFrame, callerSymbolName: null);

            // Assert
            Assert.Equal(DeminificationError.SourceMapFailedToParse, stackFrameDeminification.DeminificationError);
            Assert.Equal(wrapingFunctionMapEntry.DeminfifiedMethodName, stackFrameDeminification.DeminifiedStackFrame.MethodName);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.SourcePosition);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.FilePath);
        }
Exemplo n.º 2
0
        public void SimpleStackFrameDeminierDeminifyStackFrame_GetWRappingFunctionForSourceLocationReturnsNull_NoWrapingFunctionDeminificationError()
        {
            // Arrange
            string     filePath   = "foo";
            StackFrame stackFrame = new StackFrame {
                FilePath = filePath
            };
            IFunctionMapStore functionMapStore = MockRepository.GenerateStub <IFunctionMapStore>();

            functionMapStore.Stub(c => c.GetFunctionMapForSourceCode(filePath))
            .Return(new List <FunctionMapEntry>());
            IFunctionMapConsumer functionMapConsumer = MockRepository.GenerateStub <IFunctionMapConsumer>();

            functionMapConsumer.Stub(c => c.GetWrappingFunctionForSourceLocation(Arg <SourcePosition> .Is.Anything, Arg <List <FunctionMapEntry> > .Is.Anything))
            .Return(null);

            IStackFrameDeminifier stackFrameDeminifier = GetStackFrameDeminifierWithMockDependencies(functionMapStore: functionMapStore, functionMapConsumer: functionMapConsumer, useSimpleStackFrameDeminier: true);

            // Act
            StackFrameDeminificationResult stackFrameDeminification = stackFrameDeminifier.DeminifyStackFrame(stackFrame, callerSymbolName: null);

            // Assert
            Assert.Equal(DeminificationError.NoWrapingFunctionFound, stackFrameDeminification.DeminificationError);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.MethodName);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.SourcePosition);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.FilePath);
        }
Exemplo n.º 3
0
        public void SimpleStackFrameDeminierDeminifyStackFrame_FunctionMapReturnsNull_NoFunctionMapDeminificationError()
        {
            // Arrange
            string     filePath   = "foo";
            StackFrame stackFrame = new StackFrame {
                FilePath = filePath
            };
            IFunctionMapStore functionMapStore = MockRepository.GenerateStub <IFunctionMapStore>();

            functionMapStore.Stub(c => c.GetFunctionMapForSourceCode(filePath))
            .Return(null);

            IStackFrameDeminifier stackFrameDeminifier = GetStackFrameDeminifierWithMockDependencies(functionMapStore: functionMapStore, useSimpleStackFrameDeminier: true);

            // Act
            StackFrameDeminificationResult stackFrameDeminification = stackFrameDeminifier.DeminifyStackFrame(stackFrame, callerSymbolName: null);

            // Assert
            Assert.Equal(DeminificationError.NoSourceCodeProvided, stackFrameDeminification.DeminificationError);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.MethodName);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.SourcePosition);
            Assert.Null(stackFrameDeminification.DeminifiedStackFrame.FilePath);
        }
Exemplo n.º 4
0
        private IStackFrameDeminifier GetStackFrameDeminifierWithMockDependencies(ISourceMapStore sourceMapStore = null, IFunctionMapStore functionMapStore = null, IFunctionMapConsumer functionMapConsumer = null, bool useSimpleStackFrameDeminier = false)
        {
            if (sourceMapStore == null)
            {
                sourceMapStore = MockRepository.GenerateStub <ISourceMapStore>();
            }

            if (functionMapStore == null)
            {
                functionMapStore = MockRepository.GenerateStub <IFunctionMapStore>();
            }

            if (functionMapConsumer == null)
            {
                functionMapConsumer = MockRepository.GenerateStub <IFunctionMapConsumer>();
            }

            if (useSimpleStackFrameDeminier)
            {
                return(new MethodNameStackFrameDeminifier(functionMapStore, functionMapConsumer));
            }
            else
            {
                return(new StackFrameDeminifier(sourceMapStore, functionMapStore, functionMapConsumer));
            }
        }
Exemplo n.º 5
0
 public StackFrameDeminifier(ISourceMapStore sourceMapStore, IFunctionMapStore functionMapStore, IFunctionMapConsumer functionMapConsumer) : this(sourceMapStore)
 {
     _methodNameDeminifier = new MethodNameStackFrameDeminifier(functionMapStore, functionMapConsumer);
 }
 public MethodNameStackFrameDeminifier(IFunctionMapStore functionMapStore, IFunctionMapConsumer functionMapConsumer)
 {
     _functionMapStore    = functionMapStore;
     _functionMapConsumer = functionMapConsumer;
 }
 public StackFrameDeminifier(ISourceMapStore sourceMapStore, IFunctionMapStore functionMapStore, IFunctionMapConsumer functionMapConsumer) : base(functionMapStore, functionMapConsumer)
 {
     _sourceMapStore = sourceMapStore;
 }