From a3bfd4de13e415c3c8267762311340579967cbbb Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 19 Aug 2013 18:53:54 +0100 Subject: Complain if a scenario has no THENs --- yarn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'yarn') diff --git a/yarn b/yarn index ce0b9cb..3bb26e8 100755 --- a/yarn +++ b/yarn @@ -108,6 +108,7 @@ class YarnRunner(cliapp.Application): 'step %Index(step,steps): %String(step_name)') scenarios, implementations = self.parse_scenarios(args) + self.check_for_thens(scenarios) self.connect_implementations(scenarios, implementations) shell_prelude = self.load_shell_libraries() @@ -157,6 +158,20 @@ class YarnRunner(cliapp.Application): return block_parser.scenarios, block_parser.implementations + def check_for_thens(self, scenarios): + no_thens = [] + for scenario in scenarios: + for step in scenario.steps: + if step.what == 'THEN': + break + else: + no_thens.append(scenario) + + if no_thens: + raise cliapp.AppException( + 'Some scenarios have no THENs:\n%s' % + ''.join(' "%s"\n' % s.name for s in scenarios)) + def connect_implementations(self, scenarios, implementations): for scenario in scenarios: for step in scenario.steps: -- cgit v1.2.1