lucid 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/lucid/app.rb +0 -5
- data/lib/lucid/options.rb +28 -8
- data/lib/lucid/parser.rb +0 -16
- data/lib/lucid/version.rb +1 -1
- metadata +2 -2
data/lib/lucid/app.rb
CHANGED
@@ -14,7 +14,6 @@ module Lucid
|
|
14
14
|
parser = Lucid::Parser.new(@options)
|
15
15
|
|
16
16
|
@specs = parser.specs
|
17
|
-
#puts "[App.initialize] After calling parser for specs, I have: #{@specs.inspect}"
|
18
17
|
@tags = parser.tags
|
19
18
|
|
20
19
|
@message = "No specs were found matching the pattern '#{@options[:pattern]}'." and return unless @specs
|
@@ -81,8 +80,6 @@ module Lucid
|
|
81
80
|
end
|
82
81
|
|
83
82
|
def construct_spec_file(path, file, file_name)
|
84
|
-
#puts "[App.construct_spec_file] Path = #{path} || File = #{file} || File name = #{file_name}"
|
85
|
-
|
86
83
|
construct = ""
|
87
84
|
|
88
85
|
# If the file that is passed in matches the name of the specs path
|
@@ -99,8 +96,6 @@ module Lucid
|
|
99
96
|
construct = "#{file_name}".gsub('//', '/')
|
100
97
|
end
|
101
98
|
|
102
|
-
#puts "[App.construct_spec_file] Construct = #{construct}"
|
103
|
-
|
104
99
|
construct
|
105
100
|
end
|
106
101
|
|
data/lib/lucid/options.rb
CHANGED
@@ -5,6 +5,14 @@ require 'yaml'
|
|
5
5
|
module Lucid
|
6
6
|
class Options
|
7
7
|
def self.parse(args)
|
8
|
+
orig_args = args.dup
|
9
|
+
name = nil
|
10
|
+
|
11
|
+
if orig_args.index("--name")
|
12
|
+
name_loc = orig_args.index("--name") + 1
|
13
|
+
name = orig_args[name_loc]
|
14
|
+
end
|
15
|
+
|
8
16
|
default_options = self.get_options(:default)
|
9
17
|
project_options = self.get_options(:project)
|
10
18
|
combine_options = default_options.merge(project_options)
|
@@ -20,7 +28,11 @@ module Lucid
|
|
20
28
|
end
|
21
29
|
|
22
30
|
opts.on('-o', '--options OPTIONS', "Options to pass to the tool.") do |options|
|
23
|
-
|
31
|
+
if options =~ (/^--name/)
|
32
|
+
combine_options[:c_options] = "#{options} \"#{name}\""
|
33
|
+
else
|
34
|
+
combine_options[:c_options] = options
|
35
|
+
end
|
24
36
|
end
|
25
37
|
|
26
38
|
opts.on('-t', '--tags TAGS', "Tags to include or exclude.") do |tags|
|
@@ -42,8 +54,12 @@ module Lucid
|
|
42
54
|
|
43
55
|
# This statement is necessary to get the spec execution pattern from
|
44
56
|
# the command line. This will not be a switch and so it will be the
|
45
|
-
# only actual command line argument.
|
46
|
-
|
57
|
+
# only actual command line argument. However, account must be taken
|
58
|
+
# of the potential of using the --name option, which means that the
|
59
|
+
# argument to that option will be the first argument and thus the
|
60
|
+
# second argument will be the spec execution pattern.
|
61
|
+
combine_options[:pattern] = args.first if args.count == 1
|
62
|
+
combine_options[:pattern] = args[1] if args.count == 2
|
47
63
|
|
48
64
|
return self.establish(combine_options)
|
49
65
|
end
|
@@ -69,12 +85,12 @@ module Lucid
|
|
69
85
|
project_options
|
70
86
|
else
|
71
87
|
{
|
72
|
-
:command => 'cucumber',
|
73
|
-
:options => nil,
|
74
|
-
:spec_path => 'features',
|
88
|
+
:command => 'cucumber',
|
89
|
+
:options => nil,
|
90
|
+
:spec_path => 'features',
|
75
91
|
:step_path => 'features/step_definitions',
|
76
92
|
:requires => [],
|
77
|
-
:shared => 'true',
|
93
|
+
:shared => 'true',
|
78
94
|
:print => false,
|
79
95
|
:tags => nil,
|
80
96
|
:spec_path_regex => nil,
|
@@ -86,9 +102,13 @@ module Lucid
|
|
86
102
|
end
|
87
103
|
|
88
104
|
def self.establish(options)
|
105
|
+
# The next statement makes sure that any project options and command
|
106
|
+
# line options are merged.
|
107
|
+
options[:options] += " #{options[:c_options]}"
|
108
|
+
|
89
109
|
defaults = self.get_options(:default)
|
90
110
|
|
91
|
-
current_set = options.dup
|
111
|
+
current_set = options.dup
|
92
112
|
|
93
113
|
current_set[:spec_path] = current_set[:spec_path].gsub(/\\/, '/')
|
94
114
|
current_set[:spec_path] = current_set[:spec_path].sub(/\/$/, '')
|
data/lib/lucid/parser.rb
CHANGED
@@ -6,13 +6,10 @@ module Lucid
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def specs
|
9
|
-
#puts "[Parser.specs] Is @options[:pattern] nil? #{@options[:pattern].nil?}"
|
10
9
|
return [] if @options[:pattern].nil?
|
11
10
|
|
12
11
|
set_of_specs = gather_specs_by_glob
|
13
12
|
|
14
|
-
#puts "[Parser.specs] Were there any specs? #{set_of_specs.any?}"
|
15
|
-
|
16
13
|
return set_of_specs.any? ? set_of_specs : nil
|
17
14
|
end
|
18
15
|
|
@@ -90,8 +87,6 @@ module Lucid
|
|
90
87
|
|
91
88
|
pattern = @options[:pattern].dup
|
92
89
|
|
93
|
-
#puts "[Parser.gather_specs_by_glob] The pattern is: #{pattern}"
|
94
|
-
|
95
90
|
# Determine if some specs were indicated to be excluded
|
96
91
|
# and mark those separately. This also handles when only
|
97
92
|
# specific specs are to be executed.
|
@@ -109,32 +104,21 @@ module Lucid
|
|
109
104
|
pattern = '**/*' if except.any?
|
110
105
|
pattern = nil if only.any?
|
111
106
|
|
112
|
-
#puts "[Parser.gather_specs_by_glob] Is the pattern after only/except nil?: #{pattern.nil?}"
|
113
|
-
#puts "[Parser.gather_specs_by_glob] The @options[:spec_path] is: #{@options[:spec_path]}"
|
114
|
-
|
115
107
|
if only.any?
|
116
108
|
only.each do |f|
|
117
|
-
#puts "[Parser.gather_specs_by_glob] There is an only and it is: #{f}"
|
118
|
-
|
119
109
|
#specs_to_include += Dir.glob("#{@options[:spec_path]}/#{f}.feature")
|
120
110
|
specs_to_include += Dir.glob("#{f}")
|
121
111
|
end
|
122
112
|
else
|
123
|
-
#puts "[Parser.gather_specs_by_glob] There is no only so pattern is: #{pattern}"
|
124
113
|
specs_to_include += Dir.glob("#{@options[:spec_path]}/#{pattern}.feature")
|
125
114
|
end
|
126
115
|
|
127
|
-
#puts "[Parser.gather_specs_by_glob] After checking only, specs_to_include is: #{specs_to_include}"
|
128
|
-
|
129
116
|
if except.any?
|
130
117
|
except.each do |f|
|
131
|
-
#puts "[Parser.gather_specs_by_glob] There is an except and it is: #{f}"
|
132
118
|
specs_to_exclude = Dir.glob("#{@options[:spec_path]}/#{f}.feature")
|
133
119
|
end
|
134
120
|
end
|
135
121
|
|
136
|
-
#puts "[Parser.gather_specs_by_glob] Returning #{specs_to_include - specs_to_exclude}"
|
137
|
-
|
138
122
|
(specs_to_include - specs_to_exclude).uniq
|
139
123
|
end
|
140
124
|
|
data/lib/lucid/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lucid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-09 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Execution Wrapper for Cucumber
|
15
15
|
email:
|