Example #1
0
        static int Main(string[] argv)
        {
            if (argv.Length == 0)
            {
                Console.WriteLine("Usage: Gherkin.CLI [--no-source] [--no-ast] [--no-pickles] feature-file.feature");
                return(100);
            }

            List <string> args  = new List <string> (argv);
            List <string> paths = new List <string> ();

            bool printSource  = true;
            bool printAst     = true;
            bool printPickles = true;

            foreach (string arg in args)
            {
                switch (arg)
                {
                case "--no-source":
                    printSource = false;
                    break;

                case "--no-ast":
                    printAst = false;
                    break;

                case "--no-pickles":
                    printPickles = false;
                    break;

                default:
                    paths.Add(arg);
                    break;
                }
            }

            var resolver = CompositeResolver.Create(
                new IJsonFormatter[] {},
                new IJsonFormatterResolver[] { StandardResolver.ExcludeNullCamelCase }
                );

            SourceEvents  sourceEvents  = new SourceEvents(paths);
            GherkinEvents gherkinEvents = new GherkinEvents(printSource, printAst, printPickles);

            foreach (var sourceEventEvent in sourceEvents)
            {
                foreach (IEvent evt in gherkinEvents.Iterable(sourceEventEvent))
                {
                    var jsonString = Utf8Json.JsonSerializer.ToJsonString((object)evt, StandardResolver.ExcludeNullCamelCase);
                    // manual way of ignoring empty arrays... This is not that easy with Utf8Json...
                    jsonString = Regex.Replace(jsonString, @",?""\w+"":\s*\[\]", "");
                    Console.WriteLine(jsonString);
                }
            }
            return(0);
        }
Example #2
0
        static int Main(string[] argv)
        {
            List <string> args  = new List <string> (argv);
            List <string> paths = new List <string> ();

            bool printSource  = true;
            bool printAst     = true;
            bool printPickles = true;

            foreach (string arg in args)
            {
                switch (arg)
                {
                case "--no-source":
                    printSource = false;
                    break;

                case "--no-ast":
                    printAst = false;
                    break;

                case "--no-pickles":
                    printPickles = false;
                    break;

                default:
                    paths.Add(arg);
                    break;
                }
            }

            SourceEvents  sourceEvents  = new SourceEvents(paths);
            GherkinEvents gherkinEvents = new GherkinEvents(printSource, printAst, printPickles);

            foreach (var sourceEventEvent in sourceEvents)
            {
                foreach (IEvent evt in gherkinEvents.Iterable(sourceEventEvent))
                {
                    Console.WriteLine(Utf8Json.JsonSerializer.Serialize(evt));
                }
            }
            return(0);
        }
Example #3
0
        protected List <IEvent> StartGherkinEventQueue(string fullPathToTestFeatureFile, bool printSource, bool printAst, bool printPickles)
        {
            var raisedEvents = new List <IEvent>();

            SourceEvents sourceEvents = new SourceEvents(new List <string>()
            {
                fullPathToTestFeatureFile
            });
            GherkinEvents gherkinEvents = new GherkinEvents(printSource, printAst, printPickles);

            foreach (var sourceEventEvent in sourceEvents)
            {
                foreach (IEvent evt in gherkinEvents.Iterable(sourceEventEvent))
                {
                    raisedEvents.Add(evt);
                }
            }

            return(raisedEvents);
        }
Example #4
0
        static int Main(string[] argv)
        {
            var jsonSerializerSettings = new JsonSerializerSettings ();
            jsonSerializerSettings.Formatting = Formatting.None;
            jsonSerializerSettings.NullValueHandling = NullValueHandling.Ignore;
            jsonSerializerSettings.ContractResolver = new FeatureAstJSonContractResolver ();

            List<string> args = new List<string> (argv);
            List<string> paths = new List<string> ();

            bool printSource = true;
            bool printAst = true;
            bool printPickles = true;

            foreach (string arg in args) {
                switch (arg) {
                    case "--no-source":
                        printSource = false;
                        break;
                    case "--no-ast":
                        printAst = false;
                        break;
                    case "--no-pickles":
                        printPickles = false;
                        break;
                    default:
                        paths.Add (arg);
                        break;
                }
            }

            SourceEvents sourceEvents = new SourceEvents (paths);
            GherkinEvents gherkinEvents = new GherkinEvents (printSource, printAst, printPickles);
            foreach (SourceEvent sourceEventEvent in sourceEvents) {
                foreach (IEvent evt in gherkinEvents.iterable(sourceEventEvent)) {
                    Console.WriteLine (JsonConvert.SerializeObject (evt, jsonSerializerSettings));
                }
            }
            return 0;
        }