Esempio n. 1
0
        private static BindableCollection <SpecTraceStepViewModel> ParseTrace(string trace, IFileLocationParser fileLocationParser, IFileLocationMapper fileLocationMapper)
        {
            BindableCollection <SpecTraceStepViewModel> traceLines = new BindableCollection <SpecTraceStepViewModel>();

            if (!String.IsNullOrEmpty(trace))
            {
                foreach (string traceLine in trace.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    traceLines.Add(SpecTraceStepViewModel.Create(traceLine, fileLocationParser, fileLocationMapper));
                }
            }

            return(traceLines);
        }
Esempio n. 2
0
        public static SpecTraceStepViewModel Create(string traceLine, IFileLocationParser fileLocationParser, IFileLocationMapper fileLocationMapper)
        {
            string methodName     = null;
            string scriptLocation = null;

            if (TryParseFirefoxSafari(traceLine, ref methodName, ref scriptLocation) || TryParseIEChrome(traceLine, ref methodName, ref scriptLocation))
            {
                SpecTraceStepViewModel specTraceStepViewModel = new SpecTraceStepViewModel();
                specTraceStepViewModel.Message        = traceLine;
                specTraceStepViewModel.MethodName     = String.IsNullOrEmpty(methodName) ? "<anonymous>" : methodName;
                specTraceStepViewModel.ScriptLocation = fileLocationParser.Parse(scriptLocation);
                specTraceStepViewModel.MappedLocation = fileLocationMapper.Map(specTraceStepViewModel.ScriptLocation);
                return(specTraceStepViewModel);
            }

            return(new SpecTraceStepViewModel()
            {
                Message = traceLine
            });
        }