12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/cucumber/cli/profile_loader.rb', line 12
def args_from(profile)
unless cucumber_yml.has_key?(profile)
raise(ProfileNotFound, "Could not find profile: '\#{profile}'\n\nDefined profiles in cucumber.yml:\n * \#{cucumber_yml.keys.sort.join(\"\\n * \")}\n END_OF_ERROR\n end\n\n args_from_yml = cucumber_yml[profile] || ''\n\n case(args_from_yml)\n when String\n raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was blank. Please define the command line arguments for the '\#{profile}' profile in cucumber.yml.\\n\" if args_from_yml =~ /^\\s*$/\n if(Cucumber::WINDOWS)\n #Shellwords treats backslash as an escape character so here's a rudimentary approximation of the same code\n args_from_yml = args_from_yml.split\n args_from_yml = args_from_yml.collect {|x| x.gsub(/^\\\"(.*)\\\"/,'\\1') }\n else\n require 'shellwords'\n args_from_yml = Shellwords.shellwords(args_from_yml)\n end\n when Array\n raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was empty. Please define the command line arguments for the '\#{profile}' profile in cucumber.yml.\\n\" if args_from_yml.empty?\n else\n raise YmlLoadError, \"The '\#{profile}' profile in cucumber.yml was a \#{args_from_yml.class}. It must be a String or Array\"\n end\n args_from_yml\nend\n")
|