features2cards 0.3.1 → 0.4.0
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.
- data/.gitignore +3 -0
- data/History.txt +11 -0
- data/README.rdoc +2 -3
- data/Rakefile +26 -2
- data/Thorfile +114 -0
- data/examples/i18n/.gitignore +1 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +30 -0
- data/examples/i18n/ar/addition.feature +17 -0
- data/examples/i18n/bg/addition.feature +12 -0
- data/examples/i18n/bg/consecutive_calculations.feature +19 -0
- data/examples/i18n/bg/division.feature +17 -0
- data/examples/i18n/cat/suma.feature +17 -0
- data/examples/i18n/da/summering.feature +18 -0
- data/examples/i18n/de/addition.feature +17 -0
- data/examples/i18n/de/division.feature +10 -0
- data/examples/i18n/en-lol/stuffing.feature +8 -0
- data/examples/i18n/en/addition.feature +17 -0
- data/examples/i18n/en/division.feature +10 -0
- data/examples/i18n/es/adicion.feature +17 -0
- data/examples/i18n/et/jagamine.feature +10 -0
- data/examples/i18n/et/liitmine.feature +17 -0
- data/examples/i18n/fi/jakolasku.feature +10 -0
- data/examples/i18n/fi/yhteenlasku.feature +16 -0
- data/examples/i18n/fr/addition.feature +18 -0
- data/examples/i18n/he/addition.feature +17 -0
- data/examples/i18n/he/division.feature +10 -0
- data/examples/i18n/hu/addition.feature +17 -0
- data/examples/i18n/hu/division.feature +10 -0
- data/examples/i18n/id/addition.feature +17 -0
- data/examples/i18n/id/division.feature +10 -0
- data/examples/i18n/it/somma.feature +11 -0
- data/examples/i18n/ja/addition.feature +17 -0
- data/examples/i18n/ja/division.feature +10 -0
- data/examples/i18n/ko/addition.feature +17 -0
- data/examples/i18n/ko/division.feature +11 -0
- data/examples/i18n/lt/addition.feature +17 -0
- data/examples/i18n/lt/division.feature +10 -0
- data/examples/i18n/lv/addition.feature +17 -0
- data/examples/i18n/lv/division.feature +10 -0
- data/examples/i18n/no/summering.feature +19 -0
- data/examples/i18n/pl/addition.feature +17 -0
- data/examples/i18n/pl/division.feature +10 -0
- data/examples/i18n/pt/adicao.feature +11 -0
- data/examples/i18n/ro/suma.feature +11 -0
- data/examples/i18n/ru/addition.feature +11 -0
- data/examples/i18n/ru/consecutive_calculations.feature +17 -0
- data/examples/i18n/ru/division.feature +16 -0
- data/examples/i18n/se/summering.feature +18 -0
- data/examples/i18n/sk/addition.feature +17 -0
- data/examples/i18n/sk/division.feature +10 -0
- data/examples/i18n/zh-CN/addition.feature +18 -0
- data/examples/i18n/zh-TW/addition.feature +17 -0
- data/examples/i18n/zh-TW/division.feature +11 -0
- data/examples/self_test/.gitignore +2 -0
- data/examples/self_test/features/features2cards.feature +19 -0
- data/features/features2cards_cli.feature +40 -0
- data/features/step_definitions/features2cards_steps.rb +41 -0
- data/features/support/env.rb +79 -0
- data/features2cards.gemspec +118 -0
- data/lib/features2cards.rb +2 -8
- data/lib/features2cards/card.rb +14 -10
- data/lib/features2cards/cli.rb +27 -34
- data/lib/features2cards/platform.rb +1 -1
- data/lib/features2cards/prawn.rb +13 -13
- data/spec/features2cards/card_spec.rb +8 -0
- data/spec/features2cards/cli_spec.rb +21 -0
- data/spec/features2cards/prawn_spec.rb +5 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +7 -0
- metadata +81 -12
@@ -0,0 +1,17 @@
|
|
1
|
+
# language: sk
|
2
|
+
Požiadavka: Sčítavanie
|
3
|
+
Aby som sa vyhol hlúpym chybám
|
4
|
+
Ako matematický idiot
|
5
|
+
Chcem vedieť ako sa sčítavajú dve čísla
|
6
|
+
|
7
|
+
Náčrt Scenáru: Sčítanie dvoch čísel
|
8
|
+
Pokiaľ Zadám číslo <vstup_1> do kalkulačky
|
9
|
+
A Zadám číslo <vstup_2> do kalkulačky
|
10
|
+
Keď Stlačím tlačidlo <tlačidlo>
|
11
|
+
Tak Výsledok by mal byť <výstup>
|
12
|
+
|
13
|
+
Príklady:
|
14
|
+
| vstup_1 | vstup_2 | tlačidlo | výstup |
|
15
|
+
| 20 | 30 | add | 50 |
|
16
|
+
| 2 | 5 | add | 7 |
|
17
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# language: sk
|
2
|
+
Požiadavka: Delenie
|
3
|
+
Aby som sa vyhol hlúpym chybám
|
4
|
+
Pokladníci musia vedieť vypočítať podiel
|
5
|
+
|
6
|
+
Scenár: Prirodzené čísla
|
7
|
+
Pokiaľ Zadám číslo 3 do kalkulačky
|
8
|
+
A Zadám číslo 2 do kalkulačky
|
9
|
+
Keď Stlačím tlačidlo divide
|
10
|
+
Tak Výsledok by mal byť 1.5
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# language: zh-CN
|
2
|
+
功能:加法
|
3
|
+
为了避免一些愚蠢的错误
|
4
|
+
作为一个数学白痴
|
5
|
+
我希望有人告诉我数字相加的结果
|
6
|
+
|
7
|
+
场景: 两个数相加
|
8
|
+
假如我已经在计算器里输入6
|
9
|
+
而且我已经在计算器里输入7
|
10
|
+
当我按相加按钮
|
11
|
+
那么我应该在屏幕上看到的结果是13
|
12
|
+
|
13
|
+
场景: 三个数相加
|
14
|
+
假如我已经在计算器里输入6
|
15
|
+
而且我已经在计算器里输入7
|
16
|
+
而且我已经在计算器里输入1
|
17
|
+
当我按相加按钮
|
18
|
+
那么我应该在屏幕上看到的结果是14
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# language: zh-TW
|
2
|
+
功能: 加法
|
3
|
+
為了避免愚蠢的錯誤
|
4
|
+
作為一個數學白痴
|
5
|
+
我希望有人能告訴我兩個數相加的結果
|
6
|
+
|
7
|
+
場景大綱: 將兩個數相加
|
8
|
+
假設我已經在計算機上輸入 <數值_1>
|
9
|
+
而且我已經在計算機上輸入 <數值_2>
|
10
|
+
當我按下 <按鈕>
|
11
|
+
那麼螢幕上應該顯示 <結果>
|
12
|
+
|
13
|
+
例子:
|
14
|
+
| 數值_1 | 數值_2 | 按鈕 | 結果 |
|
15
|
+
| 20 | 30 | add | 50 |
|
16
|
+
| 2 | 5 | add | 7 |
|
17
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Feature: Generate PDF scenario cards
|
2
|
+
|
3
|
+
So that I can keep our task board up to date easily
|
4
|
+
As a developer
|
5
|
+
I want to generate index cards from our Cucumber feature files
|
6
|
+
|
7
|
+
Scenario: Generate card for the feature
|
8
|
+
|
9
|
+
Given a feature file with no scenarios
|
10
|
+
When I generate cards
|
11
|
+
Then I should get a PDF with one feature card
|
12
|
+
|
13
|
+
Scenario: Generate scenario cards
|
14
|
+
|
15
|
+
Given a feature file with one scenario
|
16
|
+
When I generate cards
|
17
|
+
Then I should get a PDF with one scenario card
|
18
|
+
|
19
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Feature: Feature2Cards command line
|
2
|
+
In order to visualize features and scenarios in sprint meetings
|
3
|
+
Developers should be able to get them in a printable form
|
4
|
+
|
5
|
+
Scenario: Run features2cards for a single feature
|
6
|
+
Given I am in self_test
|
7
|
+
When I run features2cards features/features2cards.feature
|
8
|
+
Then it should pass
|
9
|
+
And "cards.pdf" should exist
|
10
|
+
|
11
|
+
Scenario: Run features2cards for a feature with custom output file name given
|
12
|
+
Given I am in self_test
|
13
|
+
When I run features2cards --out test.pdf features/features2cards.feature
|
14
|
+
Then it should pass
|
15
|
+
And "test.pdf" should exist
|
16
|
+
|
17
|
+
Scenario: Run features2cards for cucumber german example using a directory as input
|
18
|
+
Given I am in i18n
|
19
|
+
When I run features2cards --out german_cards.pdf de
|
20
|
+
Then it should pass
|
21
|
+
And "german_cards.pdf" should exist
|
22
|
+
|
23
|
+
Scenario: Run features2cards with option: --version
|
24
|
+
When I run features2cards --version
|
25
|
+
Then it should pass with <actual version>
|
26
|
+
|
27
|
+
Scenario: Run features2cards with option: --help
|
28
|
+
When I run features2cards --help
|
29
|
+
Then it should pass with
|
30
|
+
"""
|
31
|
+
Usage: features2cards [options] [ [FILE|DIR] ]+
|
32
|
+
|
33
|
+
Examples:
|
34
|
+
features2cards features2cards.feature
|
35
|
+
features2cards examples/i18n/it
|
36
|
+
-o, --out [FILE] Specify pdf output file (Default: cards.pdf).
|
37
|
+
--version Show version.
|
38
|
+
-h, --help You're looking at it.
|
39
|
+
|
40
|
+
"""
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
require 'features2cards'
|
3
|
+
require 'features2cards/cli'
|
4
|
+
require 'features2cards/card'
|
5
|
+
require 'features2cards/platform'
|
6
|
+
|
7
|
+
Given /^I am in (.*)$/ do |example_dir_relative_path|
|
8
|
+
@current_dir = examples_dir(example_dir_relative_path)
|
9
|
+
end
|
10
|
+
|
11
|
+
When /^I run features2cards (.*)$/ do |features2cards_opts|
|
12
|
+
run "#{Features2Cards::RUBY_BINARY} -I #{features2cards_lib_dir} -rrubygems #{Features2Cards::BINARY} #{features2cards_opts}"
|
13
|
+
end
|
14
|
+
|
15
|
+
Then /^it should (fail|pass)$/ do |success|
|
16
|
+
if success == 'fail'
|
17
|
+
last_exit_status.should_not == 0
|
18
|
+
else
|
19
|
+
if last_exit_status != 0
|
20
|
+
raise "Failed with exit status #{last_exit_status}\nSTDOUT:\n#{last_stdout}\nSTDERR:\n#{last_stderr}"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
Then /^it should (fail|pass) with$/ do |success, output|
|
26
|
+
last_stdout.should == output
|
27
|
+
Then("it should #{success}")
|
28
|
+
end
|
29
|
+
|
30
|
+
Then /it should (fail|pass) with (.*)/ do |success, output|
|
31
|
+
last_stdout.should == Features2Cards::VERSION::STRING + "\n"
|
32
|
+
Then("it should #{success}")
|
33
|
+
end
|
34
|
+
|
35
|
+
Then /^"(.*)" should exist$/ do |file|
|
36
|
+
in_current_dir do
|
37
|
+
File.exists?(file).should be_true
|
38
|
+
FileUtils.rm(file)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'tempfile'
|
3
|
+
require 'spec/expectations'
|
4
|
+
require 'fileutils'
|
5
|
+
require 'forwardable'
|
6
|
+
|
7
|
+
class Features2CardsWorld
|
8
|
+
extend Forwardable
|
9
|
+
def_delegators Features2CardsWorld, :examples_dir, :self_test_dir, :working_dir, :features2cards_lib_dir
|
10
|
+
|
11
|
+
def self.examples_dir(subdir=nil)
|
12
|
+
@examples_dir ||= File.expand_path(File.join(File.dirname(__FILE__), '../../examples'))
|
13
|
+
subdir ? File.join(@examples_dir, subdir) : @examples_dir
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.self_test_dir
|
17
|
+
@self_test_dir ||= examples_dir('self_test')
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.working_dir
|
21
|
+
@working_dir ||= examples_dir('self_test/tmp')
|
22
|
+
end
|
23
|
+
|
24
|
+
def features2cards_lib_dir
|
25
|
+
@features2cards_lib_dir ||= File.expand_path(File.join(File.dirname(__FILE__), '../../lib'))
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize
|
29
|
+
@current_dir = self_test_dir
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
attr_reader :last_exit_status, :last_stderr
|
34
|
+
|
35
|
+
# The last standard out, with the duration line taken out (unpredictable)
|
36
|
+
def last_stdout
|
37
|
+
strip_duration(@last_stdout)
|
38
|
+
end
|
39
|
+
|
40
|
+
def strip_duration(s)
|
41
|
+
s.gsub(/^\d+m\d+\.\d+s\n/m, "")
|
42
|
+
end
|
43
|
+
|
44
|
+
def replace_duration(s, replacement)
|
45
|
+
s.gsub(/\d+m\d+\.\d+s/m, replacement)
|
46
|
+
end
|
47
|
+
|
48
|
+
def create_file(file_name, file_content)
|
49
|
+
file_content.gsub!("FEATURES2CARDS_LIB", "'#{features2cards_lib_dir}'") # Some files, such as Rakefiles need to use the lib dir
|
50
|
+
in_current_dir do
|
51
|
+
File.open(file_name, 'w') { |f| f << file_content }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def in_current_dir(&block)
|
56
|
+
Dir.chdir(@current_dir, &block)
|
57
|
+
end
|
58
|
+
|
59
|
+
def run(command)
|
60
|
+
stderr_file = Tempfile.new('features2cards')
|
61
|
+
stderr_file.close
|
62
|
+
in_current_dir do
|
63
|
+
@last_stdout = `#{command} 2> #{stderr_file.path}`
|
64
|
+
@last_exit_status = $?.exitstatus
|
65
|
+
end
|
66
|
+
@last_stderr = IO.read(stderr_file.path)
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
World do
|
72
|
+
Features2CardsWorld.new
|
73
|
+
end
|
74
|
+
|
75
|
+
Before do
|
76
|
+
FileUtils.rm_rf Features2CardsWorld.working_dir
|
77
|
+
FileUtils.mkdir Features2CardsWorld.working_dir
|
78
|
+
end
|
79
|
+
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{features2cards}
|
5
|
+
s.version = "0.4.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Bryan Helmkamp"]
|
9
|
+
s.date = %q{2009-11-09}
|
10
|
+
s.default_executable = %q{features2cards}
|
11
|
+
s.description = %q{Create PDF cards from Cucumber features and scenarios for printing. We use it as we kick
|
12
|
+
off our sprints to create index cards for our task board.}
|
13
|
+
s.email = %q{bryan@brynary.com}
|
14
|
+
s.executables = ["features2cards"]
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"History.txt",
|
17
|
+
"README.rdoc",
|
18
|
+
"MIT-LICENSE.txt"
|
19
|
+
]
|
20
|
+
s.files = [
|
21
|
+
".gitignore",
|
22
|
+
"History.txt",
|
23
|
+
"MIT-LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"Thorfile",
|
27
|
+
"bin/features2cards",
|
28
|
+
"examples/i18n/.gitignore",
|
29
|
+
"examples/i18n/README.textile",
|
30
|
+
"examples/i18n/Rakefile",
|
31
|
+
"examples/i18n/ar/addition.feature",
|
32
|
+
"examples/i18n/bg/addition.feature",
|
33
|
+
"examples/i18n/bg/consecutive_calculations.feature",
|
34
|
+
"examples/i18n/bg/division.feature",
|
35
|
+
"examples/i18n/cat/suma.feature",
|
36
|
+
"examples/i18n/da/summering.feature",
|
37
|
+
"examples/i18n/de/addition.feature",
|
38
|
+
"examples/i18n/de/division.feature",
|
39
|
+
"examples/i18n/en-lol/stuffing.feature",
|
40
|
+
"examples/i18n/en/addition.feature",
|
41
|
+
"examples/i18n/en/division.feature",
|
42
|
+
"examples/i18n/es/adicion.feature",
|
43
|
+
"examples/i18n/et/jagamine.feature",
|
44
|
+
"examples/i18n/et/liitmine.feature",
|
45
|
+
"examples/i18n/fi/jakolasku.feature",
|
46
|
+
"examples/i18n/fi/yhteenlasku.feature",
|
47
|
+
"examples/i18n/fr/addition.feature",
|
48
|
+
"examples/i18n/he/addition.feature",
|
49
|
+
"examples/i18n/he/division.feature",
|
50
|
+
"examples/i18n/hu/addition.feature",
|
51
|
+
"examples/i18n/hu/division.feature",
|
52
|
+
"examples/i18n/id/addition.feature",
|
53
|
+
"examples/i18n/id/division.feature",
|
54
|
+
"examples/i18n/it/somma.feature",
|
55
|
+
"examples/i18n/ja/addition.feature",
|
56
|
+
"examples/i18n/ja/division.feature",
|
57
|
+
"examples/i18n/ko/addition.feature",
|
58
|
+
"examples/i18n/ko/division.feature",
|
59
|
+
"examples/i18n/lt/addition.feature",
|
60
|
+
"examples/i18n/lt/division.feature",
|
61
|
+
"examples/i18n/lv/addition.feature",
|
62
|
+
"examples/i18n/lv/division.feature",
|
63
|
+
"examples/i18n/no/summering.feature",
|
64
|
+
"examples/i18n/pl/addition.feature",
|
65
|
+
"examples/i18n/pl/division.feature",
|
66
|
+
"examples/i18n/pt/adicao.feature",
|
67
|
+
"examples/i18n/ro/suma.feature",
|
68
|
+
"examples/i18n/ru/addition.feature",
|
69
|
+
"examples/i18n/ru/consecutive_calculations.feature",
|
70
|
+
"examples/i18n/ru/division.feature",
|
71
|
+
"examples/i18n/se/summering.feature",
|
72
|
+
"examples/i18n/sk/addition.feature",
|
73
|
+
"examples/i18n/sk/division.feature",
|
74
|
+
"examples/i18n/zh-CN/addition.feature",
|
75
|
+
"examples/i18n/zh-TW/addition.feature",
|
76
|
+
"examples/i18n/zh-TW/division.feature",
|
77
|
+
"examples/self_test/.gitignore",
|
78
|
+
"examples/self_test/features/features2cards.feature",
|
79
|
+
"features/features2cards_cli.feature",
|
80
|
+
"features/step_definitions/features2cards_steps.rb",
|
81
|
+
"features/support/env.rb",
|
82
|
+
"features2cards.gemspec",
|
83
|
+
"lib/features2cards.rb",
|
84
|
+
"lib/features2cards/card.rb",
|
85
|
+
"lib/features2cards/cli.rb",
|
86
|
+
"lib/features2cards/platform.rb",
|
87
|
+
"lib/features2cards/prawn.rb",
|
88
|
+
"spec/features2cards/card_spec.rb",
|
89
|
+
"spec/features2cards/cli_spec.rb",
|
90
|
+
"spec/features2cards/prawn_spec.rb",
|
91
|
+
"spec/spec.opts",
|
92
|
+
"spec/spec_helper.rb"
|
93
|
+
]
|
94
|
+
s.homepage = %q{http://github.com/brynary/features2cards}
|
95
|
+
s.require_paths = ["lib"]
|
96
|
+
s.rubyforge_project = %q{features2cards}
|
97
|
+
s.rubygems_version = %q{1.3.5}
|
98
|
+
s.summary = %q{Generate printable PDF index cards from Cucumber feature files}
|
99
|
+
s.test_files = [
|
100
|
+
"spec/features2cards/card_spec.rb",
|
101
|
+
"spec/features2cards/cli_spec.rb",
|
102
|
+
"spec/features2cards/prawn_spec.rb",
|
103
|
+
"spec/spec_helper.rb"
|
104
|
+
]
|
105
|
+
|
106
|
+
if s.respond_to? :specification_version then
|
107
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
108
|
+
s.specification_version = 3
|
109
|
+
|
110
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
111
|
+
s.add_runtime_dependency(%q<prawn>, [">= 0"])
|
112
|
+
else
|
113
|
+
s.add_dependency(%q<prawn>, [">= 0"])
|
114
|
+
end
|
115
|
+
else
|
116
|
+
s.add_dependency(%q<prawn>, [">= 0"])
|
117
|
+
end
|
118
|
+
end
|
data/lib/features2cards.rb
CHANGED
@@ -1,17 +1,11 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
|
3
|
-
unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
|
4
|
-
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))
|
5
|
-
end
|
6
|
-
|
7
1
|
require "features2cards/platform"
|
8
2
|
require "features2cards/cli"
|
9
3
|
|
10
4
|
module Features2Cards#:nodoc:
|
11
5
|
class VERSION #:nodoc:
|
12
6
|
MAJOR = 0
|
13
|
-
MINOR =
|
14
|
-
TINY =
|
7
|
+
MINOR = 4
|
8
|
+
TINY = 0
|
15
9
|
PATCH = nil # Set to nil for official release
|
16
10
|
|
17
11
|
STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
|
data/lib/features2cards/card.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module Features2Cards
|
2
2
|
class Card
|
3
|
-
|
3
|
+
|
4
4
|
attr_reader :type
|
5
5
|
attr_reader :body
|
6
6
|
attr_reader :footer
|
7
7
|
|
8
|
-
def self.for_feature(feature
|
8
|
+
def self.for_feature(feature)
|
9
9
|
actual_feature = feature.to_sexp()
|
10
10
|
actual_feature.shift
|
11
11
|
actual_feature.shift
|
@@ -14,10 +14,10 @@ module Features2Cards
|
|
14
14
|
body = actual_feature[0].gsub(/^\s*#{title}\n/, '')
|
15
15
|
card = [new(title, body, "")]
|
16
16
|
footer = title
|
17
|
-
|
17
|
+
|
18
18
|
actual_feature.shift
|
19
19
|
scenarios = actual_feature
|
20
|
-
|
20
|
+
|
21
21
|
scenarios.map do |scenario|
|
22
22
|
case(scenario[0])
|
23
23
|
when :scenario_outline
|
@@ -25,25 +25,29 @@ module Features2Cards
|
|
25
25
|
when :scenario
|
26
26
|
scenario.shift
|
27
27
|
scenario.shift
|
28
|
-
|
28
|
+
when :tag
|
29
|
+
next
|
30
|
+
when :comment
|
31
|
+
next
|
32
|
+
end
|
29
33
|
title = scenario[0] + " " + scenario[1]
|
30
34
|
scenario.shift
|
31
35
|
scenario.shift
|
32
36
|
body = ""
|
33
37
|
scenario.map do |step|
|
34
|
-
body += step[2] + " " + step[3] + "\n" if step[0] == :step or step[0] == :step_invocation
|
38
|
+
body += step[2] + " " + step[3] + "\n" if step[0] == :step or step[0] == :step_invocation
|
35
39
|
end
|
36
40
|
card.push(new(title, body, footer))
|
37
41
|
end
|
38
|
-
|
42
|
+
|
39
43
|
return card
|
40
44
|
end
|
41
|
-
|
45
|
+
|
42
46
|
def initialize(type, body, footer = nil)
|
43
47
|
@type = type
|
44
48
|
@body = body
|
45
49
|
@footer = footer
|
46
50
|
end
|
47
|
-
|
51
|
+
|
48
52
|
end
|
49
|
-
end
|
53
|
+
end
|