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); }
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); }
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); }
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; }