cukesparse 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/.gitignore +18 -0
- data/.travis.yml +7 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +57 -0
- data/README.md +86 -0
- data/config/tasks.yml +7 -0
- data/cukesparse.gemspec +24 -0
- data/lib/cukesparse.rb +2 -3
- data/spec/cukesparse_spec.rb +2 -2
- data/spec/spec_files/invalid_tasks.yml +7 -0
- data/spec/spec_files/valid_tasks.yml +19 -0
- metadata +14 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmI2M2UxZGYwN2Q1OTJlM2I3OGU0ZDQ0OTIxMTBkM2YwNjQ5NTg5MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTAxNjQ0NDdmZjZiZTBiMzA2YWYyN2U2MTM2NjJmOWExMjdmNjQ0OA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTRmNzU5NDUxNmY0MzEwNTExYzMxMGVlNzY1MGFiZThlNzlmOTRkOGZjMDEy
|
10
|
+
NDNlNjI5ZjYwNDNhOWE5ZWUyOGJiZTc0MGQyM2QxMjNiMTdhYWY1MDE4MGEz
|
11
|
+
MjYzYjUyYTE0MjBkOTI3MGZiOTc2N2MzMTdiYzBjMjExZTFjYjY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTZhM2JjMmI5NDViMjA2NjkyMDljMzdkMThhNDA1NGU4YzdjODkzNDM2MGZl
|
14
|
+
ZjA4Y2M2NmNlNmZhYTQ3OGZhYzZhMzg0NjYzY2UwYjUzMzY1NDJhMTA3MjIw
|
15
|
+
ODNjNTQwOTUzZGQwNGRiNTI1ZmUwYTFmNzZiYzdkZDEwMTUyNjE=
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
cukesparse (1.0.6)
|
5
|
+
clik (~> 0.1.0)
|
6
|
+
colored (~> 1.2)
|
7
|
+
cucumber (~> 1.2.5)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: http://rubygems.org/
|
11
|
+
specs:
|
12
|
+
builder (3.2.0)
|
13
|
+
clik (0.1.0)
|
14
|
+
colored (1.2)
|
15
|
+
colorize (0.5.8)
|
16
|
+
coveralls (0.6.5)
|
17
|
+
colorize
|
18
|
+
multi_json (~> 1.3)
|
19
|
+
rest-client
|
20
|
+
simplecov (>= 0.7)
|
21
|
+
thor
|
22
|
+
cucumber (1.2.5)
|
23
|
+
builder (>= 2.1.2)
|
24
|
+
diff-lcs (>= 1.1.3)
|
25
|
+
gherkin (~> 2.11.7)
|
26
|
+
multi_json (~> 1.3)
|
27
|
+
diff-lcs (1.2.3)
|
28
|
+
gherkin (2.11.8)
|
29
|
+
multi_json (~> 1.3)
|
30
|
+
mime-types (1.22)
|
31
|
+
multi_json (1.7.2)
|
32
|
+
rake (10.0.4)
|
33
|
+
rest-client (1.6.7)
|
34
|
+
mime-types (>= 1.16)
|
35
|
+
rspec (2.13.0)
|
36
|
+
rspec-core (~> 2.13.0)
|
37
|
+
rspec-expectations (~> 2.13.0)
|
38
|
+
rspec-mocks (~> 2.13.0)
|
39
|
+
rspec-core (2.13.1)
|
40
|
+
rspec-expectations (2.13.0)
|
41
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
42
|
+
rspec-mocks (2.13.1)
|
43
|
+
simplecov (0.7.1)
|
44
|
+
multi_json (~> 1.0)
|
45
|
+
simplecov-html (~> 0.7.1)
|
46
|
+
simplecov-html (0.7.1)
|
47
|
+
thor (0.18.1)
|
48
|
+
|
49
|
+
PLATFORMS
|
50
|
+
ruby
|
51
|
+
|
52
|
+
DEPENDENCIES
|
53
|
+
bundler (~> 1.1)
|
54
|
+
coveralls (~> 0.6.5)
|
55
|
+
cukesparse!
|
56
|
+
rake (~> 10.0.4)
|
57
|
+
rspec (~> 2.13.0)
|
data/README.md
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
[](https://travis-ci.org/jonathanchrisp/cukesparse)
|
2
|
+
[](https://gemnasium.com/jonathanchrisp/cukesparse)
|
3
|
+
[](https://coveralls.io/r/jonathanchrisp/cukesparse)
|
4
|
+
|
5
|
+
#cukesparse
|
6
|
+
|
7
|
+
A simple command line parser to pass default and custom arguments into Cucumber.
|
8
|
+
|
9
|
+
## Getting Started
|
10
|
+
Cukesparse parses command line arguments and sets default arguments from the config/task.yml file. For example please see the example config task below:
|
11
|
+
|
12
|
+
test_task:
|
13
|
+
feature_order: ['features/featureOne', 'features/featureTwo', 'features/featureThree']
|
14
|
+
runtime_defaults:
|
15
|
+
environment: 'release'
|
16
|
+
log_level: 'debug'
|
17
|
+
format: 'pretty'
|
18
|
+
defaults: ['--format html', '--out coverage/report.html', '-P -s']
|
19
|
+
|
20
|
+
If you were to run the following command `cukesparse test_task -t test` cukesparse would be passed the following arguments:
|
21
|
+
|
22
|
+
["test_task", "-t", "test"]
|
23
|
+
|
24
|
+
Cukesparse would then collate and produce the following parameters hash:
|
25
|
+
|
26
|
+
{:tags=>["--tags test"], :environment=>"ENVIRONMENT=release", :log_level=>"LOG_LEVEL=debug", :format=>"FORMAT=pretty"}
|
27
|
+
|
28
|
+
As no `environment`, `log_level` or `format` arguments were passed the runtime defaults from the config/tasks.yml are used. The following command line output would be produced:
|
29
|
+
|
30
|
+
bundle exec cucumber --require features/ features/featureOne features/featureTwo features/featureThree --tags test
|
31
|
+
ENVIRONMENT=release LOG_LEVEL=debug FORMAT=pretty --format html --out coverage/report.html -P -s
|
32
|
+
|
33
|
+
## Parameters
|
34
|
+
Cukesparse accepts the following parameters:
|
35
|
+
|
36
|
+
### Cucumber options
|
37
|
+
'-t' e.g. -t @abc
|
38
|
+
'-n --name' e.g. -n Login
|
39
|
+
'-f --format' e.g. -f pretty
|
40
|
+
'-d --dry-run'
|
41
|
+
'-v --verbose'
|
42
|
+
'-s --strict'
|
43
|
+
'-g --guess'
|
44
|
+
'-x --expand'
|
45
|
+
|
46
|
+
### Custom options
|
47
|
+
All arguments below have been setup for a custom project but are useful.
|
48
|
+
|
49
|
+
### Global options
|
50
|
+
'-e --environment' e.g. -e release
|
51
|
+
'-l --loglevel' e.g. -l debug
|
52
|
+
'-c --controller' e.g. -c chrome
|
53
|
+
'-h --headless'
|
54
|
+
|
55
|
+
### Database options
|
56
|
+
'--cleanup'
|
57
|
+
'--no-cleanup'
|
58
|
+
'--database'
|
59
|
+
'--jenkins'
|
60
|
+
|
61
|
+
### Retry options
|
62
|
+
'--retries' e.g. --retries 5
|
63
|
+
'--timeout' e.g. --timeout 60
|
64
|
+
|
65
|
+
### Driver Options
|
66
|
+
'--screen' e.g. --screen 1024,1280
|
67
|
+
'--position' e.g. --position 0,0
|
68
|
+
'--screenwidth' e.g. --screenwidth 1024
|
69
|
+
'--screenheight' e.g. --screenheight 1280
|
70
|
+
'--xposition' e.g. --xposition 0
|
71
|
+
'--yposition' e.g. --yposition 0
|
72
|
+
'-H --highlight'
|
73
|
+
|
74
|
+
### Debug
|
75
|
+
The command line option below parses the arguments and displays the original arguments that were passed, the parameters created and the command line that would be passed to system.
|
76
|
+
When the `--debug` argument is passed it only outputs what would have been produced and isn't run.
|
77
|
+
|
78
|
+
'--debug'
|
79
|
+
|
80
|
+
## Tests
|
81
|
+
There are a number of unit tests which are included as part of this project which are run by rspec. Please run:
|
82
|
+
|
83
|
+
rspec spec/cukesparse_spec.rb
|
84
|
+
|
85
|
+
## Feedback
|
86
|
+
I would be more than happy to recieve feedback, please email me at: jonathan.chrisp@gmail.com
|
data/config/tasks.yml
ADDED
data/cukesparse.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'cukesparse'
|
3
|
+
s.version = '1.0.6'
|
4
|
+
s.date = '2013-04-17'
|
5
|
+
s.summary = 'Cukesparse - cucumber command line parser'
|
6
|
+
s.description = 'A simple command line parser to pass arguments into Cucumber'
|
7
|
+
s.author = 'Jonathan Chrisp'
|
8
|
+
s.email = 'jonathan.chrisp@gmail.com'
|
9
|
+
s.license = 'MIT'
|
10
|
+
s.homepage = 'https://github.com/jonathanchrisp/cukesparse'
|
11
|
+
s.required_ruby_version = ">= 1.9.2"
|
12
|
+
|
13
|
+
s.add_development_dependency 'rspec', '~> 2.13.0'
|
14
|
+
s.add_development_dependency 'rake', '~> 10.0.4'
|
15
|
+
|
16
|
+
s.add_runtime_dependency 'clik', '~> 0.1.0'
|
17
|
+
s.add_runtime_dependency 'colored', '~> 1.2'
|
18
|
+
s.add_runtime_dependency 'cucumber', '~> 1.2.5'
|
19
|
+
|
20
|
+
s.files = `git ls-files`.split("\n")
|
21
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
22
|
+
s.test_files = `git ls-files -- spec/*`.split("\n")
|
23
|
+
s.require_paths = ['lib']
|
24
|
+
end
|
data/lib/cukesparse.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'clik'
|
2
|
-
require 'psych'
|
3
2
|
require 'colored'
|
4
3
|
|
5
4
|
module Cukesparse
|
@@ -104,9 +103,9 @@ module Cukesparse
|
|
104
103
|
begin
|
105
104
|
@config = Psych.load_file(@config_file)
|
106
105
|
rescue Psych::SyntaxError
|
107
|
-
abort 'Your tasks
|
106
|
+
abort 'Your tasks file did not parse as expected!'.red.underline
|
108
107
|
rescue Errno::ENOENT
|
109
|
-
abort 'Your tasks
|
108
|
+
abort 'Your tasks file is missing!'.red.underline
|
110
109
|
end
|
111
110
|
|
112
111
|
self
|
data/spec/cukesparse_spec.rb
CHANGED
@@ -756,7 +756,7 @@ describe "cukesparse" do
|
|
756
756
|
context "when CLI is run with incorrect task file" do
|
757
757
|
it "will return an error if the task file fails to parse" do
|
758
758
|
Cukesparse.configure {|c| c.config_file = './spec/spec_files/invalid_tasks.yml'}
|
759
|
-
Cukesparse.should_receive("abort").with("\e[4;31;49mYour tasks
|
759
|
+
Cukesparse.should_receive("abort").with("\e[4;31;49mYour tasks file did not parse as expected!\e[0m")
|
760
760
|
Cukesparse.load_config
|
761
761
|
end
|
762
762
|
end
|
@@ -764,7 +764,7 @@ describe "cukesparse" do
|
|
764
764
|
context "when CLI is run with task file missing" do
|
765
765
|
it "will return an error if the task file is missing" do
|
766
766
|
Cukesparse.configure {|c| c.config_file = './spec/spec_files/missing_tasks.yml'}
|
767
|
-
Cukesparse.should_receive("abort").with("\e[4;31;49mYour tasks
|
767
|
+
Cukesparse.should_receive("abort").with("\e[4;31;49mYour tasks file is missing!\e[0m")
|
768
768
|
Cukesparse.load_config
|
769
769
|
end
|
770
770
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
test_task:
|
2
|
+
feature_order: ['features/featureOne', 'features/featureTwo', 'features/featureThree']
|
3
|
+
runtime_defaults:
|
4
|
+
environment: 'release'
|
5
|
+
log_level: 'debug'
|
6
|
+
format: 'pretty'
|
7
|
+
defaults: ['--format html', '--out coverage/report.html', '-P -s']
|
8
|
+
|
9
|
+
test_task1:
|
10
|
+
feature_order: ['features/featureOne', 'features/featureTwo', 'features/featureThree']
|
11
|
+
runtime_defaults:
|
12
|
+
environment: 'release'
|
13
|
+
log_level: 'debug'
|
14
|
+
format: 'pretty'
|
15
|
+
defaults: ['--format html', '--out coverage/report.html', '-P -s']
|
16
|
+
|
17
|
+
no_runtime_defaults:
|
18
|
+
feature_order: ['features/featureOne', 'features/featureTwo', 'features/featureThree']
|
19
|
+
defaults: ['--format html', '--out coverage/report.html', '-P -s']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cukesparse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Chrisp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -87,9 +87,18 @@ executables:
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
+
- .gitignore
|
91
|
+
- .travis.yml
|
92
|
+
- Gemfile
|
93
|
+
- Gemfile.lock
|
94
|
+
- README.md
|
95
|
+
- bin/cukesparse
|
96
|
+
- config/tasks.yml
|
97
|
+
- cukesparse.gemspec
|
90
98
|
- lib/cukesparse.rb
|
91
99
|
- spec/cukesparse_spec.rb
|
92
|
-
-
|
100
|
+
- spec/spec_files/invalid_tasks.yml
|
101
|
+
- spec/spec_files/valid_tasks.yml
|
93
102
|
homepage: https://github.com/jonathanchrisp/cukesparse
|
94
103
|
licenses:
|
95
104
|
- MIT
|
@@ -116,4 +125,6 @@ specification_version: 4
|
|
116
125
|
summary: Cukesparse - cucumber command line parser
|
117
126
|
test_files:
|
118
127
|
- spec/cukesparse_spec.rb
|
128
|
+
- spec/spec_files/invalid_tasks.yml
|
129
|
+
- spec/spec_files/valid_tasks.yml
|
119
130
|
has_rdoc:
|