gherkin 1.0.1-i386-mswin32 → 1.0.2-i386-mswin32
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/.mailmap +2 -0
- data/History.txt +9 -0
- data/README.rdoc +14 -43
- data/Rakefile +13 -17
- data/VERSION.yml +1 -1
- data/bin/gherkin +2 -7
- data/features/feature_parser.feature +36 -36
- data/features/native_lexer.feature +2 -2
- data/features/parser_with_native_lexer.feature +32 -32
- data/features/pretty_printer.feature +4 -4
- data/features/step_definitions/pretty_printer_steps.rb +2 -2
- data/features/steps_parser.feature +5 -5
- data/gherkin.gemspec +28 -16
- data/java/src/gherkin/FixJava.java +4 -4
- data/lib/gherkin/cli/main.rb +34 -0
- data/lib/gherkin/i18n.rb +8 -1
- data/lib/gherkin/i18n.yml +201 -201
- data/lib/gherkin/i18n_lexer.rb +8 -8
- data/lib/gherkin/lexer.rb +2 -1
- data/lib/gherkin/tools.rb +8 -0
- data/lib/gherkin/tools/files.rb +30 -0
- data/lib/gherkin/tools/{pretty_printer.rb → pretty_listener.rb} +5 -4
- data/lib/gherkin/tools/reformat.rb +19 -0
- data/lib/gherkin/tools/stats.rb +21 -0
- data/lib/gherkin/tools/stats_listener.rb +50 -0
- data/nativegems.sh +1 -1
- data/ragel/lexer.java.rl.erb +58 -58
- data/spec/gherkin/i18n_lexer_spec.rb +22 -0
- data/tasks/bench.rake +0 -7
- data/tasks/compile.rake +4 -4
- metadata +30 -12
- data/bin/gherkin-purdy +0 -16
@@ -6,9 +6,9 @@ Feature: Pretty printer
|
|
6
6
|
Given I have Cucumber's home dir defined in CUCUMBER_HOME
|
7
7
|
When I find all of the .feature files
|
8
8
|
And I parse the prettified representation of each of them
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
# Of course, we don't really want any errors. The last
|
10
|
+
# two files that were not identical are written to p1.feature
|
11
|
+
# and p2.feature. Do a diff -u p1.feature p2.feature
|
12
|
+
#
|
13
13
|
Then the following files should have errors:
|
14
14
|
| Path | Error |
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'stringio'
|
2
2
|
require 'gherkin'
|
3
|
-
require 'gherkin/tools/
|
3
|
+
require 'gherkin/tools/pretty_listener'
|
4
4
|
|
5
5
|
module PrettyPlease
|
6
6
|
def pretty(source)
|
7
7
|
io = StringIO.new
|
8
|
-
listener = Gherkin::Tools::
|
8
|
+
listener = Gherkin::Tools::PrettyListener.new(io)
|
9
9
|
parser = Gherkin::Parser.new(listener, true)
|
10
10
|
lexer = Gherkin::I18nLexer.new(parser)
|
11
11
|
lexer.scan(source)
|
@@ -3,9 +3,9 @@ Feature: Gherkin Steps parser
|
|
3
3
|
As a Cucumber developer
|
4
4
|
I want a steps parser to make writing compound steps easier
|
5
5
|
|
6
|
-
Background:
|
6
|
+
Background:
|
7
7
|
Given a "en", "ruby" "steps" parser
|
8
|
-
|
8
|
+
|
9
9
|
Scenario: Parsing steps
|
10
10
|
Given the following text is parsed:
|
11
11
|
"""
|
@@ -23,7 +23,7 @@ Feature: Gherkin Steps parser
|
|
23
23
|
| foo | bar | #{arg} |
|
24
24
|
"""
|
25
25
|
Then there should be no parse errors
|
26
|
-
|
26
|
+
|
27
27
|
Scenario: Trying to parse a full feature with the step parser
|
28
28
|
Given the following text is parsed:
|
29
29
|
"""
|
@@ -34,7 +34,7 @@ Feature: Gherkin Steps parser
|
|
34
34
|
Then something should happen
|
35
35
|
"""
|
36
36
|
Then there should be parse errors on lines 1 and 2
|
37
|
-
|
37
|
+
|
38
38
|
Scenario: Tags
|
39
39
|
Given the following text is parsed:
|
40
40
|
"""
|
@@ -43,4 +43,4 @@ Feature: Gherkin Steps parser
|
|
43
43
|
When I trip
|
44
44
|
Then I should sign up for dancing lessons
|
45
45
|
"""
|
46
|
-
Then there should be a parse error on line 1
|
46
|
+
Then there should be a parse error on line 1
|
data/gherkin.gemspec
CHANGED
@@ -5,28 +5,29 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{gherkin}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.2"
|
9
9
|
s.platform = %q{i386-mswin32}
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Helles\303\270y"]
|
13
|
-
s.date = %q{2009-12-
|
13
|
+
s.date = %q{2009-12-30}
|
14
14
|
s.default_executable = %q{gherkin}
|
15
|
-
s.description = %q{A fast Gherkin lexer
|
15
|
+
s.description = %q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
|
16
16
|
s.email = %q{cukes@googlegroups.com}
|
17
|
-
s.executables = ["gherkin"
|
17
|
+
s.executables = ["gherkin"]
|
18
18
|
s.extra_rdoc_files = [
|
19
19
|
"LICENSE",
|
20
20
|
"README.rdoc"
|
21
21
|
]
|
22
22
|
s.files = [
|
23
23
|
".gitignore",
|
24
|
+
".mailmap",
|
25
|
+
"History.txt",
|
24
26
|
"LICENSE",
|
25
27
|
"README.rdoc",
|
26
28
|
"Rakefile",
|
27
29
|
"VERSION.yml",
|
28
30
|
"bin/gherkin",
|
29
|
-
"bin/gherkin-purdy",
|
30
31
|
"cucumber.yml",
|
31
32
|
"features/feature_parser.feature",
|
32
33
|
"features/native_lexer.feature",
|
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
|
|
51
52
|
"lib/.gitignore",
|
52
53
|
"lib/gherkin.rb",
|
53
54
|
"lib/gherkin/c_lexer.rb",
|
55
|
+
"lib/gherkin/cli/main.rb",
|
54
56
|
"lib/gherkin/core_ext/array.rb",
|
55
57
|
"lib/gherkin/i18n.rb",
|
56
58
|
"lib/gherkin/i18n.yml",
|
@@ -65,7 +67,12 @@ Gem::Specification.new do |s|
|
|
65
67
|
"lib/gherkin/rb_lexer/.gitignore",
|
66
68
|
"lib/gherkin/rb_lexer/README.rdoc",
|
67
69
|
"lib/gherkin/rb_parser.rb",
|
68
|
-
"lib/gherkin/tools
|
70
|
+
"lib/gherkin/tools.rb",
|
71
|
+
"lib/gherkin/tools/files.rb",
|
72
|
+
"lib/gherkin/tools/pretty_listener.rb",
|
73
|
+
"lib/gherkin/tools/reformat.rb",
|
74
|
+
"lib/gherkin/tools/stats.rb",
|
75
|
+
"lib/gherkin/tools/stats_listener.rb",
|
69
76
|
"nativegems.sh",
|
70
77
|
"ragel/i18n/.gitignore",
|
71
78
|
"ragel/lexer.c.rl.erb",
|
@@ -81,6 +88,7 @@ Gem::Specification.new do |s|
|
|
81
88
|
"spec/gherkin/fixtures/simple.feature",
|
82
89
|
"spec/gherkin/fixtures/simple_with_comments.feature",
|
83
90
|
"spec/gherkin/fixtures/simple_with_tags.feature",
|
91
|
+
"spec/gherkin/i18n_lexer_spec.rb",
|
84
92
|
"spec/gherkin/i18n_spec.rb",
|
85
93
|
"spec/gherkin/java_lexer_spec.rb",
|
86
94
|
"spec/gherkin/parser_spec.rb",
|
@@ -105,9 +113,10 @@ Gem::Specification.new do |s|
|
|
105
113
|
s.rdoc_options = ["--charset=UTF-8"]
|
106
114
|
s.require_paths = ["lib"]
|
107
115
|
s.rubygems_version = %q{1.3.5}
|
108
|
-
s.summary = %q{Fast Gherkin lexer}
|
116
|
+
s.summary = %q{Fast Gherkin lexer/parser}
|
109
117
|
s.test_files = [
|
110
118
|
"spec/gherkin/c_lexer_spec.rb",
|
119
|
+
"spec/gherkin/i18n_lexer_spec.rb",
|
111
120
|
"spec/gherkin/i18n_spec.rb",
|
112
121
|
"spec/gherkin/java_lexer_spec.rb",
|
113
122
|
"spec/gherkin/parser_spec.rb",
|
@@ -125,18 +134,21 @@ Gem::Specification.new do |s|
|
|
125
134
|
s.specification_version = 3
|
126
135
|
|
127
136
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
128
|
-
s.
|
129
|
-
s.add_development_dependency(%q<
|
130
|
-
s.add_development_dependency(%q<
|
137
|
+
s.add_runtime_dependency(%q<trollop>, [">= 1.15"])
|
138
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
139
|
+
s.add_development_dependency(%q<cucumber>, [">= 0.5.1"])
|
140
|
+
s.add_development_dependency(%q<rake-compiler>, [">= 0.7.0"])
|
131
141
|
else
|
132
|
-
s.add_dependency(%q<
|
133
|
-
s.add_dependency(%q<
|
134
|
-
s.add_dependency(%q<
|
142
|
+
s.add_dependency(%q<trollop>, [">= 1.15"])
|
143
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
144
|
+
s.add_dependency(%q<cucumber>, [">= 0.5.1"])
|
145
|
+
s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
|
135
146
|
end
|
136
147
|
else
|
137
|
-
s.add_dependency(%q<
|
138
|
-
s.add_dependency(%q<
|
139
|
-
s.add_dependency(%q<
|
148
|
+
s.add_dependency(%q<trollop>, [">= 1.15"])
|
149
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
150
|
+
s.add_dependency(%q<cucumber>, [">= 0.5.1"])
|
151
|
+
s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
|
140
152
|
end
|
141
153
|
end
|
142
154
|
|
@@ -7,7 +7,7 @@ import java.util.List;
|
|
7
7
|
|
8
8
|
public class FixJava {
|
9
9
|
public static String join(List<String> strings, String separator) {
|
10
|
-
|
10
|
+
StringBuilder sb = new StringBuilder();
|
11
11
|
int i = 0;
|
12
12
|
for (String s : strings) {
|
13
13
|
if (i != 0) sb.append(separator);
|
@@ -21,14 +21,14 @@ public class FixJava {
|
|
21
21
|
Reader machine = new InputStreamReader(FixJava.class.getResourceAsStream(filePath));
|
22
22
|
|
23
23
|
final char[] buffer = new char[0x10000];
|
24
|
-
StringBuilder
|
24
|
+
StringBuilder sb = new StringBuilder();
|
25
25
|
int read;
|
26
26
|
do {
|
27
27
|
read = machine.read(buffer, 0, buffer.length);
|
28
28
|
if (read > 0) {
|
29
|
-
|
29
|
+
sb.append(buffer, 0, read);
|
30
30
|
}
|
31
31
|
} while (read >= 0);
|
32
|
-
return
|
32
|
+
return sb.toString();
|
33
33
|
}
|
34
34
|
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
begin
|
2
|
+
require 'trollop'
|
3
|
+
rescue LoadError
|
4
|
+
require 'rubygems'
|
5
|
+
require 'trollop'
|
6
|
+
end
|
7
|
+
require 'gherkin/tools'
|
8
|
+
|
9
|
+
module Gherkin
|
10
|
+
module Cli
|
11
|
+
class Main
|
12
|
+
def self.run(args)
|
13
|
+
Trollop::options(args) do
|
14
|
+
banner "Super fast gherkin parser"
|
15
|
+
stop_on Tools::SUB_COMMANDS
|
16
|
+
end
|
17
|
+
|
18
|
+
cmd_name = args.shift
|
19
|
+
begin
|
20
|
+
die("Missing command") if cmd_name.nil?
|
21
|
+
Tools.const_get(cmd_name.capitalize.to_sym).new(args).run
|
22
|
+
rescue NameError
|
23
|
+
die("Unknown command #{cmd_name}")
|
24
|
+
rescue => e
|
25
|
+
Trollop::die(e.message)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.die(msg)
|
30
|
+
Trollop::die("#{msg}\nusage: gherkin COMMAND [ARGS]\nAvailable commands: #{Tools::SUB_COMMANDS.join(' ')}")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/gherkin/i18n.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
1
3
|
module Gherkin
|
2
4
|
class I18n
|
3
5
|
KEYWORD_KEYS = %w{name native feature background scenario scenario_outline examples given when then and but}
|
@@ -18,12 +20,13 @@ module Gherkin
|
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
23
|
+
attr_reader :key
|
24
|
+
|
21
25
|
def initialize(key)
|
22
26
|
@key = key
|
23
27
|
@keywords = LANGUAGES[key]
|
24
28
|
raise "Language not supported: #{key.inspect}" if @key.nil?
|
25
29
|
@keywords['grammar_name'] = @keywords['name'].gsub(/\s/, '')
|
26
|
-
@parser = nil
|
27
30
|
end
|
28
31
|
|
29
32
|
def sanitized_key
|
@@ -71,6 +74,10 @@ module Gherkin
|
|
71
74
|
@keywords[key].split('|').map{|kw| space ? keyword_space(kw) : kw}
|
72
75
|
end
|
73
76
|
|
77
|
+
def adverbs
|
78
|
+
%w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(/[\s<']/, '')}}.flatten
|
79
|
+
end
|
80
|
+
|
74
81
|
private
|
75
82
|
|
76
83
|
def keyword_space(val)
|
data/lib/gherkin/i18n.yml
CHANGED
@@ -14,13 +14,13 @@
|
|
14
14
|
scenario: Scenario
|
15
15
|
scenario_outline: Scenario Outline
|
16
16
|
examples: Examples|Scenarios
|
17
|
-
given: *|Given
|
18
|
-
when: *|When
|
19
|
-
then: *|Then
|
20
|
-
and: *|And
|
21
|
-
but: *|But
|
17
|
+
given: "*|Given"
|
18
|
+
when: "*|When"
|
19
|
+
then: "*|Then"
|
20
|
+
and: "*|And"
|
21
|
+
but: "*|But"
|
22
22
|
|
23
|
-
# Please help us keeping the languages below uptodate. The
|
23
|
+
# Please help us keeping the languages below uptodate. The parsers for a language
|
24
24
|
# that is missing a keyword will expect the English word until the missing word(s)
|
25
25
|
# are added.
|
26
26
|
#
|
@@ -34,11 +34,11 @@
|
|
34
34
|
scenario: سيناريو
|
35
35
|
scenario_outline: سيناريو مخطط
|
36
36
|
examples: امثلة
|
37
|
-
given: *|بفرض
|
38
|
-
when: *|متى|عندما
|
39
|
-
then: *|اذاً|ثم
|
40
|
-
and: *|و
|
41
|
-
but: *|لكن
|
37
|
+
given: "*|بفرض"
|
38
|
+
when: "*|متى|عندما"
|
39
|
+
then: "*|اذاً|ثم"
|
40
|
+
and: "*|و"
|
41
|
+
but: "*|لكن"
|
42
42
|
"bg":
|
43
43
|
name: Bulgarian
|
44
44
|
native: български
|
@@ -47,11 +47,11 @@
|
|
47
47
|
scenario: Сценарий
|
48
48
|
scenario_outline: Рамка на сценарий
|
49
49
|
examples: Примери
|
50
|
-
given: *|Дадено
|
51
|
-
when: *|Когато
|
52
|
-
then: *|То
|
53
|
-
and: *|И
|
54
|
-
but: *|Но
|
50
|
+
given: "*|Дадено"
|
51
|
+
when: "*|Когато"
|
52
|
+
then: "*|То"
|
53
|
+
and: "*|И"
|
54
|
+
but: "*|Но"
|
55
55
|
"cat":
|
56
56
|
name: Catalan
|
57
57
|
native: català
|
@@ -60,11 +60,11 @@
|
|
60
60
|
scenario: Escenari
|
61
61
|
scenario_outline: Esquema de l'escenari
|
62
62
|
examples: Exemples
|
63
|
-
given: *|Donat|Donada
|
64
|
-
when: *|Quan
|
65
|
-
then: *|Aleshores
|
66
|
-
and: *|I
|
67
|
-
but: *|Però
|
63
|
+
given: "*|Donat|Donada"
|
64
|
+
when: "*|Quan"
|
65
|
+
then: "*|Aleshores"
|
66
|
+
and: "*|I"
|
67
|
+
but: "*|Però"
|
68
68
|
"cy":
|
69
69
|
name: Welsh
|
70
70
|
native: Cymraeg
|
@@ -73,11 +73,11 @@
|
|
73
73
|
scenario: Scenario
|
74
74
|
scenario_outline: Scenario Amlinellol
|
75
75
|
examples: Enghreifftiau
|
76
|
-
given: *|anrhegedig a
|
77
|
-
when: *|Pryd
|
78
|
-
then: *|Yna
|
79
|
-
and: *|A
|
80
|
-
but: *|Ond
|
76
|
+
given: "*|anrhegedig a"
|
77
|
+
when: "*|Pryd"
|
78
|
+
then: "*|Yna"
|
79
|
+
and: "*|A"
|
80
|
+
but: "*|Ond"
|
81
81
|
"cs":
|
82
82
|
name: Czech
|
83
83
|
native: Česky
|
@@ -86,11 +86,11 @@
|
|
86
86
|
scenario: Scénář
|
87
87
|
scenario_outline: Náčrt Scénáře|Osnova scénáře
|
88
88
|
examples: Příklady
|
89
|
-
given: *|Pokud
|
90
|
-
when: *|Když
|
91
|
-
then: *|Pak
|
92
|
-
and: *|A|A také
|
93
|
-
but: *|Ale
|
89
|
+
given: "*|Pokud"
|
90
|
+
when: "*|Když"
|
91
|
+
then: "*|Pak"
|
92
|
+
and: "*|A|A také"
|
93
|
+
but: "*|Ale"
|
94
94
|
"da":
|
95
95
|
name: Danish
|
96
96
|
native: dansk
|
@@ -99,11 +99,11 @@
|
|
99
99
|
scenario: Scenarie
|
100
100
|
scenario_outline: Abstrakt Scenario
|
101
101
|
examples: Eksempler
|
102
|
-
given: *|Givet
|
103
|
-
when: *|Når
|
104
|
-
then: *|Så
|
105
|
-
and: *|Og
|
106
|
-
but: *|Men
|
102
|
+
given: "*|Givet"
|
103
|
+
when: "*|Når"
|
104
|
+
then: "*|Så"
|
105
|
+
and: "*|Og"
|
106
|
+
but: "*|Men"
|
107
107
|
"de":
|
108
108
|
name: German
|
109
109
|
native: Deutsch
|
@@ -112,11 +112,11 @@
|
|
112
112
|
scenario: Szenario
|
113
113
|
scenario_outline: Szenariogrundriss
|
114
114
|
examples: Beispiele
|
115
|
-
given: *|Gegeben sei
|
116
|
-
when: *|Wenn
|
117
|
-
then: *|Dann
|
118
|
-
and: *|Und
|
119
|
-
but: *|Aber
|
115
|
+
given: "*|Gegeben sei"
|
116
|
+
when: "*|Wenn"
|
117
|
+
then: "*|Dann"
|
118
|
+
and: "*|Und"
|
119
|
+
but: "*|Aber"
|
120
120
|
"en-au":
|
121
121
|
name: Australian
|
122
122
|
native: Australian
|
@@ -125,11 +125,11 @@
|
|
125
125
|
scenario: Mate
|
126
126
|
scenario_outline: Blokes
|
127
127
|
examples: Cobber
|
128
|
-
given: *|Ya know how
|
129
|
-
when: *|When
|
130
|
-
then: *|Ya gotta
|
131
|
-
and: *|N
|
132
|
-
but: *|Cept
|
128
|
+
given: "*|Ya know how"
|
129
|
+
when: "*|When"
|
130
|
+
then: "*|Ya gotta"
|
131
|
+
and: "*|N"
|
132
|
+
but: "*|Cept"
|
133
133
|
"en-lol":
|
134
134
|
name: LOLCAT
|
135
135
|
native: LOLCAT
|
@@ -138,11 +138,11 @@
|
|
138
138
|
scenario: MISHUN
|
139
139
|
scenario_outline: MISHUN SRSLY
|
140
140
|
examples: EXAMPLZ
|
141
|
-
given: *|I CAN HAZ
|
142
|
-
when: *|WEN
|
143
|
-
then: *|DEN
|
144
|
-
and: *|AN
|
145
|
-
but: *|BUT
|
141
|
+
given: "*|I CAN HAZ"
|
142
|
+
when: "*|WEN"
|
143
|
+
then: "*|DEN"
|
144
|
+
and: "*|AN"
|
145
|
+
but: "*|BUT"
|
146
146
|
"en-tx":
|
147
147
|
name: Texan
|
148
148
|
native: Texan
|
@@ -151,11 +151,11 @@
|
|
151
151
|
scenario: Scenario
|
152
152
|
scenario_outline: All y'all
|
153
153
|
examples: Examples
|
154
|
-
given: *|Given y'all
|
155
|
-
when: *|When y'all
|
156
|
-
then: *|Then y'all
|
157
|
-
and: *|And y'all
|
158
|
-
but: *|But y'all
|
154
|
+
given: "*|Given y'all"
|
155
|
+
when: "*|When y'all"
|
156
|
+
then: "*|Then y'all"
|
157
|
+
and: "*|And y'all"
|
158
|
+
but: "*|But y'all"
|
159
159
|
"es":
|
160
160
|
name: Spanish
|
161
161
|
native: español
|
@@ -164,11 +164,11 @@
|
|
164
164
|
scenario: Escenario
|
165
165
|
scenario_outline: Esquema del escenario
|
166
166
|
examples: Ejemplos
|
167
|
-
given: *|Dado
|
168
|
-
when: *|Cuando
|
169
|
-
then: *|Entonces
|
170
|
-
and: *|Y
|
171
|
-
but: *|Pero
|
167
|
+
given: "*|Dado"
|
168
|
+
when: "*|Cuando"
|
169
|
+
then: "*|Entonces"
|
170
|
+
and: "*|Y"
|
171
|
+
but: "*|Pero"
|
172
172
|
"et":
|
173
173
|
name: Estonian
|
174
174
|
native: eesti keel
|
@@ -177,11 +177,11 @@
|
|
177
177
|
scenario: Stsenaarium
|
178
178
|
scenario_outline: Raamstsenaarium
|
179
179
|
examples: Juhtumid
|
180
|
-
given: *|Eeldades
|
181
|
-
when: *|Kui
|
182
|
-
then: *|Siis
|
183
|
-
and: *|Ja
|
184
|
-
but: *|Kuid
|
180
|
+
given: "*|Eeldades"
|
181
|
+
when: "*|Kui"
|
182
|
+
then: "*|Siis"
|
183
|
+
and: "*|Ja"
|
184
|
+
but: "*|Kuid"
|
185
185
|
"fi":
|
186
186
|
name: Finnish
|
187
187
|
native: suomi
|
@@ -190,11 +190,11 @@
|
|
190
190
|
scenario: Tapaus
|
191
191
|
scenario_outline: Tapausaihio
|
192
192
|
examples: Tapaukset
|
193
|
-
given: *|Oletetaan
|
194
|
-
when: *|Kun
|
195
|
-
then: *|Niin
|
196
|
-
and: *|Ja
|
197
|
-
but: *|Mutta
|
193
|
+
given: "*|Oletetaan"
|
194
|
+
when: "*|Kun"
|
195
|
+
then: "*|Niin"
|
196
|
+
and: "*|Ja"
|
197
|
+
but: "*|Mutta"
|
198
198
|
"fr":
|
199
199
|
name: French
|
200
200
|
native: français
|
@@ -203,11 +203,11 @@
|
|
203
203
|
scenario: Scénario
|
204
204
|
scenario_outline: Plan du scénario|Plan du Scénario
|
205
205
|
examples: Exemples
|
206
|
-
given: *|Soit|Etant donné
|
207
|
-
when: *|Quand|Lorsque|Lorsqu'<
|
208
|
-
then: *|Alors
|
209
|
-
and: *|Et
|
210
|
-
but: *|Mais
|
206
|
+
given: "*|Soit|Etant donné"
|
207
|
+
when: "*|Quand|Lorsque|Lorsqu'<"
|
208
|
+
then: "*|Alors"
|
209
|
+
and: "*|Et"
|
210
|
+
but: "*|Mais"
|
211
211
|
"he":
|
212
212
|
name: Hebrew
|
213
213
|
native: עברית
|
@@ -216,11 +216,11 @@
|
|
216
216
|
scenario: תרחיש
|
217
217
|
scenario_outline: תבנית תרחיש
|
218
218
|
examples: דוגמאות
|
219
|
-
given: *|בהינתן
|
220
|
-
when: *|כאשר
|
221
|
-
then: *|אז|אזי
|
222
|
-
and: *|וגם
|
223
|
-
but: *|אבל
|
219
|
+
given: "*|בהינתן"
|
220
|
+
when: "*|כאשר"
|
221
|
+
then: "*|אז|אזי"
|
222
|
+
and: "*|וגם"
|
223
|
+
but: "*|אבל"
|
224
224
|
"hr":
|
225
225
|
name: Croatian
|
226
226
|
native: hrvatski
|
@@ -229,11 +229,11 @@
|
|
229
229
|
scenario: Scenarij
|
230
230
|
scenario_outline: Skica|Koncept
|
231
231
|
examples: Primjeri|Scenariji
|
232
|
-
given: *|Zadan|Zadani|Zadano
|
233
|
-
when: *|Kada|Kad
|
234
|
-
then: *|Onda
|
235
|
-
and: *|I
|
236
|
-
but: *|Ali
|
232
|
+
given: "*|Zadan|Zadani|Zadano"
|
233
|
+
when: "*|Kada|Kad"
|
234
|
+
then: "*|Onda"
|
235
|
+
and: "*|I"
|
236
|
+
but: "*|Ali"
|
237
237
|
"hu":
|
238
238
|
name: Hungarian
|
239
239
|
native: magyar
|
@@ -242,11 +242,11 @@
|
|
242
242
|
scenario: Forgatókönyv
|
243
243
|
scenario_outline: Forgatókönyv vázlat
|
244
244
|
examples: Példák
|
245
|
-
given: *|Ha
|
246
|
-
when: *|Majd
|
247
|
-
then: *|Akkor
|
248
|
-
and: *|És
|
249
|
-
but: *|De
|
245
|
+
given: "*|Ha"
|
246
|
+
when: "*|Majd"
|
247
|
+
then: "*|Akkor"
|
248
|
+
and: "*|És"
|
249
|
+
but: "*|De"
|
250
250
|
"id":
|
251
251
|
name: Indonesian
|
252
252
|
native: Bahasa Indonesia
|
@@ -255,11 +255,11 @@
|
|
255
255
|
scenario: Skenario
|
256
256
|
scenario_outline: Skenario konsep
|
257
257
|
examples: Contoh
|
258
|
-
given: *|Dengan
|
259
|
-
when: *|Ketika
|
260
|
-
then: *|Maka
|
261
|
-
and: *|Dan
|
262
|
-
but: *|Tapi
|
258
|
+
given: "*|Dengan"
|
259
|
+
when: "*|Ketika"
|
260
|
+
then: "*|Maka"
|
261
|
+
and: "*|Dan"
|
262
|
+
but: "*|Tapi"
|
263
263
|
"it":
|
264
264
|
name: Italian
|
265
265
|
native: italiano
|
@@ -268,11 +268,11 @@
|
|
268
268
|
scenario: Scenario
|
269
269
|
scenario_outline: Schema dello scenario
|
270
270
|
examples: Esempi
|
271
|
-
given: *|Dato
|
272
|
-
when: *|Quando
|
273
|
-
then: *|Allora
|
274
|
-
and: *|E
|
275
|
-
but: *|Ma
|
271
|
+
given: "*|Dato"
|
272
|
+
when: "*|Quando"
|
273
|
+
then: "*|Allora"
|
274
|
+
and: "*|E"
|
275
|
+
but: "*|Ma"
|
276
276
|
"ja":
|
277
277
|
name: Japanese
|
278
278
|
native: 日本語
|
@@ -281,11 +281,11 @@
|
|
281
281
|
scenario: シナリオ
|
282
282
|
scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
|
283
283
|
examples: 例|サンプル
|
284
|
-
given: *|前提<
|
285
|
-
when: *|もし<
|
286
|
-
then: *|ならば<
|
287
|
-
and: *|かつ<
|
288
|
-
but: *|しかし<|但し<|ただし<
|
284
|
+
given: "*|前提<"
|
285
|
+
when: "*|もし<"
|
286
|
+
then: "*|ならば<"
|
287
|
+
and: "*|かつ<"
|
288
|
+
but: "*|しかし<|但し<|ただし<"
|
289
289
|
"ko":
|
290
290
|
name: Korean
|
291
291
|
native: 한국어
|
@@ -294,11 +294,11 @@
|
|
294
294
|
scenario: 시나리오
|
295
295
|
scenario_outline: 시나리오 개요
|
296
296
|
examples: 예
|
297
|
-
given: *|조건<
|
298
|
-
when: *|만일<
|
299
|
-
then: *|그러면<
|
300
|
-
and: *|그리고<
|
301
|
-
but: *|하지만<
|
297
|
+
given: "*|조건<"
|
298
|
+
when: "*|만일<"
|
299
|
+
then: "*|그러면<"
|
300
|
+
and: "*|그리고<"
|
301
|
+
but: "*|하지만<"
|
302
302
|
"lt":
|
303
303
|
name: Lithuanian
|
304
304
|
native: lietuvių kalba
|
@@ -307,11 +307,11 @@
|
|
307
307
|
scenario: Scenarijus
|
308
308
|
scenario_outline: Scenarijaus šablonas
|
309
309
|
examples: Pavyzdžiai|Scenarijai|Variantai
|
310
|
-
given: *|Duota
|
311
|
-
when: *|Kai
|
312
|
-
then: *|Tada
|
313
|
-
and: *|Ir
|
314
|
-
but: *|Bet
|
310
|
+
given: "*|Duota"
|
311
|
+
when: "*|Kai"
|
312
|
+
then: "*|Tada"
|
313
|
+
and: "*|Ir"
|
314
|
+
but: "*|Bet"
|
315
315
|
"lv":
|
316
316
|
name: Latvian
|
317
317
|
native: latviešu
|
@@ -320,11 +320,11 @@
|
|
320
320
|
scenario: Scenārijs
|
321
321
|
scenario_outline: Scenārijs pēc parauga
|
322
322
|
examples: Piemēri|Paraugs
|
323
|
-
given: *|Kad
|
324
|
-
when: *|Ja
|
325
|
-
then: *|Tad
|
326
|
-
and: *|Un
|
327
|
-
but: *|Bet
|
323
|
+
given: "*|Kad"
|
324
|
+
when: "*|Ja"
|
325
|
+
then: "*|Tad"
|
326
|
+
and: "*|Un"
|
327
|
+
but: "*|Bet"
|
328
328
|
"nl":
|
329
329
|
name: Dutch
|
330
330
|
native: Nederlands
|
@@ -333,11 +333,11 @@
|
|
333
333
|
scenario: Scenario
|
334
334
|
scenario_outline: Abstract Scenario
|
335
335
|
examples: Voorbeelden
|
336
|
-
given: *|Gegeven
|
337
|
-
when: *|Als
|
338
|
-
then: *|Dan
|
339
|
-
and: *|En
|
340
|
-
but: *|Maar
|
336
|
+
given: "*|Gegeven|Stel"
|
337
|
+
when: "*|Als"
|
338
|
+
then: "*|Dan"
|
339
|
+
and: "*|En"
|
340
|
+
but: "*|Maar"
|
341
341
|
"no":
|
342
342
|
name: Norwegian
|
343
343
|
native: norsk
|
@@ -346,11 +346,11 @@
|
|
346
346
|
scenario: Scenario
|
347
347
|
scenario_outline: Abstrakt Scenario
|
348
348
|
examples: Eksempler
|
349
|
-
given: *|Gitt
|
350
|
-
when: *|Når
|
351
|
-
then: *|Så
|
352
|
-
and: *|Og
|
353
|
-
but: *|Men
|
349
|
+
given: "*|Gitt"
|
350
|
+
when: "*|Når"
|
351
|
+
then: "*|Så"
|
352
|
+
and: "*|Og"
|
353
|
+
but: "*|Men"
|
354
354
|
"pl":
|
355
355
|
name: Polish
|
356
356
|
native: polski
|
@@ -359,11 +359,11 @@
|
|
359
359
|
scenario: Scenariusz
|
360
360
|
scenario_outline: Szablon scenariusza
|
361
361
|
examples: Przykłady
|
362
|
-
given: *|Zakładając
|
363
|
-
when: *|Jeżeli
|
364
|
-
then: *|Wtedy
|
365
|
-
and: *|Oraz
|
366
|
-
but: *|Ale
|
362
|
+
given: "*|Zakładając"
|
363
|
+
when: "*|Jeżeli"
|
364
|
+
then: "*|Wtedy"
|
365
|
+
and: "*|Oraz"
|
366
|
+
but: "*|Ale"
|
367
367
|
"pt":
|
368
368
|
name: Portuguese
|
369
369
|
native: português
|
@@ -372,11 +372,11 @@
|
|
372
372
|
scenario: Cenário|Cenario
|
373
373
|
scenario_outline: Esquema do Cenário|Esquema do Cenario
|
374
374
|
examples: Exemplos
|
375
|
-
given: *|Dado
|
376
|
-
when: *|Quando
|
377
|
-
then: *|Então|Entao
|
378
|
-
and: *|E
|
379
|
-
but: *|Mas
|
375
|
+
given: "*|Dado"
|
376
|
+
when: "*|Quando"
|
377
|
+
then: "*|Então|Entao"
|
378
|
+
and: "*|E"
|
379
|
+
but: "*|Mas"
|
380
380
|
"ro":
|
381
381
|
name: Romanian
|
382
382
|
native: română
|
@@ -385,11 +385,11 @@
|
|
385
385
|
scenario: Scenariu
|
386
386
|
scenario_outline: Scenariul de sablon
|
387
387
|
examples: Exemplele
|
388
|
-
given: *|Daca
|
389
|
-
when: *|Cand
|
390
|
-
then: *|Atunci
|
391
|
-
and: *|Si
|
392
|
-
but: *|Dar
|
388
|
+
given: "*|Daca"
|
389
|
+
when: "*|Cand"
|
390
|
+
then: "*|Atunci"
|
391
|
+
and: "*|Si"
|
392
|
+
but: "*|Dar"
|
393
393
|
"ro2":
|
394
394
|
name: Romanian (diacritical)
|
395
395
|
native: română (diacritical)
|
@@ -398,11 +398,11 @@
|
|
398
398
|
scenario: Scenariu
|
399
399
|
scenario_outline: Scenariul de şablon
|
400
400
|
examples: Exemplele
|
401
|
-
given: *|Dacă
|
402
|
-
when: *|Când
|
403
|
-
then: *|Atunci
|
404
|
-
and: *|Și
|
405
|
-
but: *|Dar
|
401
|
+
given: "*|Dacă"
|
402
|
+
when: "*|Când"
|
403
|
+
then: "*|Atunci"
|
404
|
+
and: "*|Și"
|
405
|
+
but: "*|Dar"
|
406
406
|
"ru":
|
407
407
|
name: Russian
|
408
408
|
native: русский
|
@@ -411,11 +411,11 @@
|
|
411
411
|
scenario: Сценарий
|
412
412
|
scenario_outline: Структура сценария
|
413
413
|
examples: Значения
|
414
|
-
given: *|Допустим
|
415
|
-
when: *|Если
|
416
|
-
then: *|То
|
417
|
-
and: *|И|К тому же
|
418
|
-
but: *|Но|А
|
414
|
+
given: "*|Допустим"
|
415
|
+
when: "*|Если"
|
416
|
+
then: "*|То"
|
417
|
+
and: "*|И|К тому же"
|
418
|
+
but: "*|Но|А"
|
419
419
|
"se":
|
420
420
|
name: Swedish
|
421
421
|
native: Svenska
|
@@ -424,11 +424,11 @@
|
|
424
424
|
scenario: Scenario
|
425
425
|
scenario_outline: Abstrakt Scenario
|
426
426
|
examples: Exempel
|
427
|
-
given: *|Givet
|
428
|
-
when: *|När
|
429
|
-
then: *|Så
|
430
|
-
and: *|Och
|
431
|
-
but: *|Men
|
427
|
+
given: "*|Givet"
|
428
|
+
when: "*|När"
|
429
|
+
then: "*|Så"
|
430
|
+
and: "*|Och"
|
431
|
+
but: "*|Men"
|
432
432
|
"sk":
|
433
433
|
name: Slovak
|
434
434
|
native: Slovensky
|
@@ -437,11 +437,11 @@
|
|
437
437
|
scenario: Scenár
|
438
438
|
scenario_outline: Náčrt Scenáru
|
439
439
|
examples: Príklady
|
440
|
-
given: *|Pokiaľ
|
441
|
-
when: *|Keď
|
442
|
-
then: *|Tak
|
443
|
-
and: *|A
|
444
|
-
but: *|Ale
|
440
|
+
given: "*|Pokiaľ"
|
441
|
+
when: "*|Keď"
|
442
|
+
then: "*|Tak"
|
443
|
+
and: "*|A"
|
444
|
+
but: "*|Ale"
|
445
445
|
"sr-Latn":
|
446
446
|
name: Serbian_latin
|
447
447
|
native: Srpski_latinica
|
@@ -450,11 +450,11 @@
|
|
450
450
|
scenario: Scenario|Primer
|
451
451
|
scenario_outline: Struktura scenarija|Skica|Koncept
|
452
452
|
examples: Primeri|Scenariji
|
453
|
-
given: *|Zadato|Zadate|Zatati
|
454
|
-
when: *|Kada|Kad
|
455
|
-
then: *|Onda
|
456
|
-
and: *|I
|
457
|
-
but: *|Ali
|
453
|
+
given: "*|Zadato|Zadate|Zatati"
|
454
|
+
when: "*|Kada|Kad"
|
455
|
+
then: "*|Onda"
|
456
|
+
and: "*|I"
|
457
|
+
but: "*|Ali"
|
458
458
|
"sr":
|
459
459
|
name: Serbian
|
460
460
|
native: Српски
|
@@ -463,11 +463,11 @@
|
|
463
463
|
scenario: Сценарио|Пример
|
464
464
|
scenario_outline: Структура сценарија|Скица|Концепт
|
465
465
|
examples: Примери|Сценарији
|
466
|
-
given: *|Задато|Задате|Задати
|
467
|
-
when: *|Када|Кад
|
468
|
-
then: *|Онда
|
469
|
-
and: *|И
|
470
|
-
but: *|Али
|
466
|
+
given: "*|Задато|Задате|Задати"
|
467
|
+
when: "*|Када|Кад"
|
468
|
+
then: "*|Онда"
|
469
|
+
and: "*|И"
|
470
|
+
but: "*|Али"
|
471
471
|
"tr":
|
472
472
|
name: Turkish
|
473
473
|
native: Türkçe
|
@@ -476,11 +476,11 @@
|
|
476
476
|
scenario: Senaryo
|
477
477
|
scenario_outline: Senaryo taslağı
|
478
478
|
examples: Örnekler
|
479
|
-
given: *|Diyelim ki
|
480
|
-
when: *|Eğer ki
|
481
|
-
then: *|O zaman
|
482
|
-
and: *|Ve
|
483
|
-
but: *|Fakat|Ama
|
479
|
+
given: "*|Diyelim ki"
|
480
|
+
when: "*|Eğer ki"
|
481
|
+
then: "*|O zaman"
|
482
|
+
and: "*|Ve"
|
483
|
+
but: "*|Fakat|Ama"
|
484
484
|
"uz":
|
485
485
|
name: Uzbek
|
486
486
|
native: Узбекча
|
@@ -489,11 +489,11 @@
|
|
489
489
|
scenario: Сценарий
|
490
490
|
scenario_outline: Сценарий структураси
|
491
491
|
examples: Мисоллар
|
492
|
-
given: *|Агар
|
493
|
-
when: *|Агар
|
494
|
-
then: *|Унда
|
495
|
-
and: *|Ва
|
496
|
-
but: *|Лекин|Бирок|Аммо
|
492
|
+
given: "*|Агар"
|
493
|
+
when: "*|Агар"
|
494
|
+
then: "*|Унда"
|
495
|
+
and: "*|Ва"
|
496
|
+
but: "*|Лекин|Бирок|Аммо"
|
497
497
|
"vi":
|
498
498
|
name: Vietnamese
|
499
499
|
native: Tiếng Việt
|
@@ -502,11 +502,11 @@
|
|
502
502
|
scenario: Tình huống|Kịch bản
|
503
503
|
scenario_outline: Khung tình huống|Khung kịch bản
|
504
504
|
examples: Dữ liệu
|
505
|
-
given: *|Biết|Cho
|
506
|
-
when: *|Khi
|
507
|
-
then: *|Thì
|
508
|
-
and: *|Và
|
509
|
-
but: *|Nhưng
|
505
|
+
given: "*|Biết|Cho"
|
506
|
+
when: "*|Khi"
|
507
|
+
then: "*|Thì"
|
508
|
+
and: "*|Và"
|
509
|
+
but: "*|Nhưng"
|
510
510
|
"zh-CN":
|
511
511
|
name: Chinese simplified
|
512
512
|
native: 简体中文
|
@@ -515,11 +515,11 @@
|
|
515
515
|
scenario: 场景
|
516
516
|
scenario_outline: 场景大纲
|
517
517
|
examples: 例子
|
518
|
-
given: *|假如<
|
519
|
-
when: *|当<
|
520
|
-
then: *|那么<
|
521
|
-
and: *|而且<
|
522
|
-
but: *|但是<
|
518
|
+
given: "*|假如<"
|
519
|
+
when: "*|当<"
|
520
|
+
then: "*|那么<"
|
521
|
+
and: "*|而且<"
|
522
|
+
but: "*|但是<"
|
523
523
|
"zh-TW":
|
524
524
|
name: Chinese traditional
|
525
525
|
native: 繁體中文
|
@@ -528,8 +528,8 @@
|
|
528
528
|
scenario: 場景|劇本
|
529
529
|
scenario_outline: 場景大綱|劇本大綱
|
530
530
|
examples: 例子
|
531
|
-
given: *|假設<
|
532
|
-
when: *|當<
|
533
|
-
then: *|那麼<
|
534
|
-
and: *|而且<|並且<
|
535
|
-
but: *|但是<
|
531
|
+
given: "*|假設<"
|
532
|
+
when: "*|當<"
|
533
|
+
then: "*|那麼<"
|
534
|
+
and: "*|而且<|並且<"
|
535
|
+
but: "*|但是<"
|