features 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of features might be problematic. Click here for more details.
- data/README.markdown +51 -3
- data/Rakefile +1 -1
- data/features.gemspec +2 -2
- data/lib/ObjC/objc_suite.rb +1 -1
- data/lib/Rails/rails_suite.rb +1 -1
- metadata +2 -2
data/README.markdown
CHANGED
@@ -2,6 +2,48 @@
|
|
2
2
|
|
3
3
|
A Plain Text User Stories Parser that supports native Programming Languages.
|
4
4
|
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
### Ruby on Rails
|
8
|
+
|
9
|
+
1. Install features:
|
10
|
+
|
11
|
+
$ gem install features
|
12
|
+
|
13
|
+
2. Generate the supporting folders from your rails apps root folder:
|
14
|
+
|
15
|
+
$ script/generate features
|
16
|
+
|
17
|
+
3. Run the HelloWorld.feature:
|
18
|
+
|
19
|
+
* (OS X): There is a `run_features.rb` script that will open its results in Safari:
|
20
|
+
|
21
|
+
$ ruby test/features/run_features.rb
|
22
|
+
|
23
|
+
* (Other OS): INSTRUCTIONS WILL FOLLOW SOON ...
|
24
|
+
|
25
|
+
4. Here is what the Html Output looks like:
|
26
|
+
|
27
|
+
<img src="http://features.rubyforge.org/images/output-screen-1.png" width="400px">
|
28
|
+
|
29
|
+
|
30
|
+
### Objective-C
|
31
|
+
|
32
|
+
1. Install features:
|
33
|
+
|
34
|
+
$ sudo gem install
|
35
|
+
|
36
|
+
2. Download and install ObjectiveMatchy
|
37
|
+
|
38
|
+
3. ObjectiveMatchy provides Xcode Project Templates that have a Feature Target. Create a new Xcode Project and choose one of the ObjectiveMatchy Templates.
|
39
|
+
|
40
|
+
|
41
|
+
4. ...
|
42
|
+
|
43
|
+
### More Languages will follow ...
|
44
|
+
|
45
|
+
|
46
|
+
|
5
47
|
## How it works
|
6
48
|
|
7
49
|
### Features parses plain-text user story files
|
@@ -47,7 +89,13 @@ will look like in the different languages:
|
|
47
89
|
|
48
90
|
* Other Languages (Java, C#, C++, Python) will follow soon ...
|
49
91
|
|
50
|
-
|
92
|
+
|
93
|
+
### Provide Step Implementations
|
94
|
+
|
95
|
+
Steps are instance method of the intermediate TestCase class (eg 'FeaturesTestCaseClass' in Rails)
|
96
|
+
that inherits from the language specific TestCase class (eg 'ActionController::IntegrationTest' in Rails)
|
97
|
+
and that itself is the parent of the generated TestCases. This way, all test method implementations (aka Scenarios)
|
98
|
+
will have access to the steps.
|
51
99
|
|
52
100
|
## Installation
|
53
101
|
|
@@ -55,9 +103,9 @@ will look like in the different languages:
|
|
55
103
|
|
56
104
|
## Contribution
|
57
105
|
|
58
|
-
* Idea?, Feature Request?, Bug? -> [Lighthouse](http://300.lighthouseapp.com/projects/
|
106
|
+
* Idea?, Feature Request?, Bug? -> [Lighthouse](http://300.lighthouseapp.com/projects/36609-features/overview)
|
59
107
|
* source -> [GitHub](http://github.com/mhennemeyer/features)
|
60
|
-
* talk? -> [GoogleGroup](http://groups.google.de/group/
|
108
|
+
* talk? -> [GoogleGroup](http://groups.google.de/group/featuresgroup)
|
61
109
|
|
62
110
|
|
63
111
|
## Licence
|
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('features', '0.1.
|
5
|
+
Echoe.new('features', '0.1.4') do |p|
|
6
6
|
p.description = "Plaintext User Stories Parser supporting native programming languages."
|
7
7
|
p.url = "http://features.rubyforge.org"
|
8
8
|
p.author = "Matthias Hennemeyer"
|
data/features.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{features}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Matthias Hennemeyer"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-09-04}
|
10
10
|
s.description = %q{Plaintext User Stories Parser supporting native programming languages.}
|
11
11
|
s.email = %q{mhennemeyer@me.com}
|
12
12
|
s.extra_rdoc_files = ["README.markdown", "lib/ObjC/objc_feature.rb", "lib/ObjC/objc_scenario.rb", "lib/ObjC/objc_step.rb", "lib/ObjC/objc_suite.rb", "lib/Rails/rails_feature.rb", "lib/Rails/rails_scenario.rb", "lib/Rails/rails_step.rb", "lib/Rails/rails_suite.rb", "lib/feature.rb", "lib/features.rb", "lib/objc.rb", "lib/parser.rb", "lib/rails.rb", "lib/scenario.rb", "lib/step.rb", "lib/string_extension.rb", "lib/suite.rb"]
|
data/lib/ObjC/objc_suite.rb
CHANGED
@@ -119,7 +119,7 @@ class ObjcSuite < Suite
|
|
119
119
|
:string => feature_files_as_strings.join(" "),
|
120
120
|
:keyword => feature_keyword
|
121
121
|
})
|
122
|
-
@features = title_body_arr.map {|hash| ObjcFeature.new(hash.update({:keyword => feature_keyword}))}
|
122
|
+
@features = title_body_arr.map {|hash| ObjcFeature.new(hash.update({:keyword => feature_keyword, :scenario_keyword => scenario_keyword}))}
|
123
123
|
end
|
124
124
|
|
125
125
|
def parse_feature_scenarios
|
data/lib/Rails/rails_suite.rb
CHANGED
@@ -128,7 +128,7 @@ class RailsSuite < Suite
|
|
128
128
|
:string => feature_files_as_strings.join(" "),
|
129
129
|
:keyword => feature_keyword
|
130
130
|
})
|
131
|
-
@features = title_body_arr.map {|hash| RailsFeature.new(hash.update({:keyword => feature_keyword}))}
|
131
|
+
@features = title_body_arr.map {|hash| RailsFeature.new(hash.update({:keyword => feature_keyword, :scenario_keyword => scenario_keyword}))}
|
132
132
|
end
|
133
133
|
|
134
134
|
def parse_feature_scenarios
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: features
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthias Hennemeyer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-04 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|