cucumber 0.5.1 → 0.5.2
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/History.txt +10 -0
- data/Rakefile +1 -0
- data/VERSION.yml +1 -1
- data/cucumber.gemspec +12 -3
- data/examples/watir/Rakefile +3 -1
- data/examples/watir/cucumber.yml +1 -0
- data/examples/watir/features/search.feature +1 -1
- data/features/step_definitions/wire_steps.rb +23 -5
- data/features/support/fake_wire_server.rb +16 -2
- data/features/wire_protocol_timeouts.feature +62 -0
- data/lib/cucumber/ast/table.rb +0 -5
- data/lib/cucumber/cli/options.rb +11 -0
- data/lib/cucumber/formatter/html.rb +16 -0
- data/lib/cucumber/languages.yml +200 -200
- data/lib/cucumber/wire_support/configuration.rb +18 -0
- data/lib/cucumber/wire_support/connection.rb +16 -12
- data/lib/cucumber/wire_support/request_handler.rb +14 -4
- data/lib/cucumber/wire_support/wire_language.rb +13 -17
- data/lib/cucumber/wire_support/wire_protocol.rb +15 -79
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +113 -0
- data/spec/cucumber/formatter/html_spec.rb +14 -0
- data/spec/cucumber/wire_support/configuration_spec.rb +34 -0
- data/spec/cucumber/wire_support/wire_language_spec.rb +2 -2
- metadata +19 -3
data/History.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== 0.5.2 2009-12-22
|
2
|
+
|
3
|
+
=== New Features
|
4
|
+
* On JRuby/Cuke4Duke, --require DIR will put DIR on the $CLASSPATH, making it easier to load step def classes (Aslak Hellesøy)
|
5
|
+
* New --jars option that will load jar files. Only available on JRuby. Practical for Cuke4Duke. (Aslak Hellesøy)
|
6
|
+
|
7
|
+
=== Bugfixes
|
8
|
+
* Add #embed back to html formatter (#547 Brandon Faloona)
|
9
|
+
* Refactored wire protocol code and added configurable timeout to allow for long running step definitions. (#546 Matt Wynne)
|
10
|
+
|
1
11
|
== 0.5.1 2009-12-16
|
2
12
|
|
3
13
|
Small bugfix release.
|
data/Rakefile
CHANGED
@@ -21,6 +21,7 @@ begin
|
|
21
21
|
gem.add_dependency 'polyglot', '>= 0.2.9'
|
22
22
|
gem.add_dependency 'builder', '>= 2.1.2'
|
23
23
|
gem.add_dependency 'diff-lcs', '>= 1.1.2'
|
24
|
+
gem.add_dependency 'json_pure', '>= 1.2.0'
|
24
25
|
|
25
26
|
gem.add_development_dependency 'nokogiri', '>= 1.4.0'
|
26
27
|
gem.add_development_dependency 'prawn', '>= 0.5.1'
|
data/VERSION.yml
CHANGED
data/cucumber.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cucumber}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aslak Helles\303\270y"]
|
12
|
-
s.date = %q{2009-12-
|
12
|
+
s.date = %q{2009-12-22}
|
13
13
|
s.default_executable = %q{cucumber}
|
14
14
|
s.description = %q{A BDD tool written in Ruby}
|
15
15
|
s.email = %q{cukes@googlegroups.com}
|
@@ -314,6 +314,7 @@ Gem::Specification.new do |s|
|
|
314
314
|
"examples/tickets/features/tickets.feature",
|
315
315
|
"examples/watir/README.textile",
|
316
316
|
"examples/watir/Rakefile",
|
317
|
+
"examples/watir/cucumber.yml",
|
317
318
|
"examples/watir/features/search.feature",
|
318
319
|
"examples/watir/features/step_definitions/search_steps.rb",
|
319
320
|
"examples/watir/features/support/env.rb",
|
@@ -367,6 +368,7 @@ Gem::Specification.new do |s|
|
|
367
368
|
"features/usage_and_stepdefs_formatter.feature",
|
368
369
|
"features/wire_protocol.feature",
|
369
370
|
"features/wire_protocol_table_diffing.feature",
|
371
|
+
"features/wire_protocol_timeouts.feature",
|
370
372
|
"features/work_in_progress.feature",
|
371
373
|
"gem_tasks/contributors.rake",
|
372
374
|
"gem_tasks/environment.rake",
|
@@ -470,12 +472,14 @@ Gem::Specification.new do |s|
|
|
470
472
|
"lib/cucumber/step_mother.rb",
|
471
473
|
"lib/cucumber/webrat/element_locator.rb",
|
472
474
|
"lib/cucumber/webrat/table_locator.rb",
|
475
|
+
"lib/cucumber/wire_support/configuration.rb",
|
473
476
|
"lib/cucumber/wire_support/connection.rb",
|
474
477
|
"lib/cucumber/wire_support/request_handler.rb",
|
475
478
|
"lib/cucumber/wire_support/wire_exception.rb",
|
476
479
|
"lib/cucumber/wire_support/wire_language.rb",
|
477
480
|
"lib/cucumber/wire_support/wire_packet.rb",
|
478
481
|
"lib/cucumber/wire_support/wire_protocol.rb",
|
482
|
+
"lib/cucumber/wire_support/wire_protocol/requests.rb",
|
479
483
|
"lib/cucumber/wire_support/wire_step_definition.rb",
|
480
484
|
"spec/cucumber/ast/background_spec.rb",
|
481
485
|
"spec/cucumber/ast/feature_element_spec.rb",
|
@@ -525,6 +529,7 @@ Gem::Specification.new do |s|
|
|
525
529
|
"spec/cucumber/treetop_parser/test_dos.feature",
|
526
530
|
"spec/cucumber/treetop_parser/with_comments.feature",
|
527
531
|
"spec/cucumber/treetop_parser/with_tags.feature",
|
532
|
+
"spec/cucumber/wire_support/configuration_spec.rb",
|
528
533
|
"spec/cucumber/wire_support/wire_exception_spec.rb",
|
529
534
|
"spec/cucumber/wire_support/wire_language_spec.rb",
|
530
535
|
"spec/cucumber/wire_support/wire_packet_spec.rb",
|
@@ -539,7 +544,7 @@ Gem::Specification.new do |s|
|
|
539
544
|
|
540
545
|
(::) U P G R A D I N G (::)
|
541
546
|
|
542
|
-
Thank you for installing cucumber-0.5.
|
547
|
+
Thank you for installing cucumber-0.5.2.
|
543
548
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
544
549
|
for important information about this release. Happy cuking!
|
545
550
|
|
@@ -586,6 +591,7 @@ for important information about this release. Happy cuking!
|
|
586
591
|
"spec/cucumber/rb_support/regexp_argument_matcher_spec.rb",
|
587
592
|
"spec/cucumber/step_match_spec.rb",
|
588
593
|
"spec/cucumber/step_mother_spec.rb",
|
594
|
+
"spec/cucumber/wire_support/configuration_spec.rb",
|
589
595
|
"spec/cucumber/wire_support/wire_exception_spec.rb",
|
590
596
|
"spec/cucumber/wire_support/wire_language_spec.rb",
|
591
597
|
"spec/cucumber/wire_support/wire_packet_spec.rb",
|
@@ -716,6 +722,7 @@ for important information about this release. Happy cuking!
|
|
716
722
|
s.add_runtime_dependency(%q<polyglot>, [">= 0.2.9"])
|
717
723
|
s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
|
718
724
|
s.add_runtime_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
725
|
+
s.add_runtime_dependency(%q<json_pure>, [">= 1.2.0"])
|
719
726
|
s.add_development_dependency(%q<nokogiri>, [">= 1.4.0"])
|
720
727
|
s.add_development_dependency(%q<prawn>, [">= 0.5.1"])
|
721
728
|
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
@@ -726,6 +733,7 @@ for important information about this release. Happy cuking!
|
|
726
733
|
s.add_dependency(%q<polyglot>, [">= 0.2.9"])
|
727
734
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
728
735
|
s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
736
|
+
s.add_dependency(%q<json_pure>, [">= 1.2.0"])
|
729
737
|
s.add_dependency(%q<nokogiri>, [">= 1.4.0"])
|
730
738
|
s.add_dependency(%q<prawn>, [">= 0.5.1"])
|
731
739
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
@@ -737,6 +745,7 @@ for important information about this release. Happy cuking!
|
|
737
745
|
s.add_dependency(%q<polyglot>, [">= 0.2.9"])
|
738
746
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
739
747
|
s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
748
|
+
s.add_dependency(%q<json_pure>, [">= 1.2.0"])
|
740
749
|
s.add_dependency(%q<nokogiri>, [">= 1.4.0"])
|
741
750
|
s.add_dependency(%q<prawn>, [">= 0.5.1"])
|
742
751
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
data/examples/watir/Rakefile
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
default: --format html --out report.html --format pretty
|
@@ -1,14 +1,32 @@
|
|
1
|
-
Given /^there is a wire server running on port (\d+) which understands the following protocol:$/ do |port, table|
|
1
|
+
Given /^there is a wire server (running |)on port (\d+) which understands the following protocol:$/ do |running, port, table|
|
2
2
|
protocol = table.hashes
|
3
|
-
|
3
|
+
@server = FakeWireServer.new(port.to_i, protocol)
|
4
|
+
start_wire_server if running.strip == "running"
|
5
|
+
end
|
6
|
+
|
7
|
+
Given /^the wire server takes (.*) seconds to respond to the invoke message$/ do |timeout|
|
8
|
+
@server.delay_response(:invoke, timeout.to_f)
|
9
|
+
start_wire_server
|
10
|
+
end
|
11
|
+
|
12
|
+
module WireHelper
|
13
|
+
def start_wire_server
|
4
14
|
@wire_pid = fork do
|
5
|
-
@server = FakeWireServer.new(port.to_i, protocol)
|
6
15
|
@server.run
|
7
16
|
end
|
8
17
|
end
|
18
|
+
|
19
|
+
def stop_wire_server
|
20
|
+
return unless @wire_pid
|
21
|
+
Process.kill('KILL', @wire_pid)
|
22
|
+
Process.wait
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
Before('@wire') do
|
27
|
+
extend(WireHelper)
|
9
28
|
end
|
10
29
|
|
11
30
|
After('@wire') do
|
12
|
-
|
13
|
-
Process.wait
|
31
|
+
stop_wire_server
|
14
32
|
end
|
@@ -4,12 +4,17 @@ require 'json'
|
|
4
4
|
class FakeWireServer
|
5
5
|
def initialize(port, protocol_table)
|
6
6
|
@port, @protocol_table = port, protocol_table
|
7
|
+
@delays = {}
|
7
8
|
end
|
8
9
|
|
9
10
|
def run
|
10
11
|
@server = TCPServer.open(@port)
|
11
12
|
loop { handle_connections }
|
12
13
|
end
|
14
|
+
|
15
|
+
def delay_response(message, delay)
|
16
|
+
@delays[message] = delay
|
17
|
+
end
|
13
18
|
|
14
19
|
private
|
15
20
|
|
@@ -19,7 +24,7 @@ class FakeWireServer
|
|
19
24
|
|
20
25
|
def open_session_on(socket)
|
21
26
|
begin
|
22
|
-
SocketSession.new(socket, @protocol_table).start
|
27
|
+
SocketSession.new(socket, @protocol_table, @delays).start
|
23
28
|
rescue Exception => e
|
24
29
|
raise e
|
25
30
|
ensure
|
@@ -28,9 +33,10 @@ class FakeWireServer
|
|
28
33
|
end
|
29
34
|
|
30
35
|
class SocketSession
|
31
|
-
def initialize(socket, protocol)
|
36
|
+
def initialize(socket, protocol, delays)
|
32
37
|
@socket = socket
|
33
38
|
@protocol = protocol
|
39
|
+
@delays = delays
|
34
40
|
end
|
35
41
|
|
36
42
|
def start
|
@@ -43,11 +49,14 @@ class FakeWireServer
|
|
43
49
|
|
44
50
|
def handle(data)
|
45
51
|
if protocol_entry = response_to(data.strip)
|
52
|
+
sleep delay(data)
|
46
53
|
send_response(protocol_entry['response'])
|
47
54
|
else
|
48
55
|
serialized_exception = { :message => "Not understood: #{data}", :backtrace => [] }
|
49
56
|
send_response(['fail', serialized_exception ].to_json)
|
50
57
|
end
|
58
|
+
rescue => e
|
59
|
+
send_response(['fail', { :message => e.message, :backtrace => e.backtrace, :exception => e.class } ].to_json)
|
51
60
|
end
|
52
61
|
|
53
62
|
def response_to(data)
|
@@ -59,5 +68,10 @@ class FakeWireServer
|
|
59
68
|
def send_response(response)
|
60
69
|
@socket.puts response + "\n"
|
61
70
|
end
|
71
|
+
|
72
|
+
def delay(data)
|
73
|
+
message = JSON.parse(data.strip)[0]
|
74
|
+
@delays[message.to_sym] || 0
|
75
|
+
end
|
62
76
|
end
|
63
77
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
@wire
|
2
|
+
Feature: Wire protocol timeouts
|
3
|
+
We don't want Cucumber to hang forever on a wire server that's not even there,
|
4
|
+
but equally we need to give the user the flexibility to allow step definitions
|
5
|
+
to take a while to execute, if that's what they need.
|
6
|
+
|
7
|
+
Background:
|
8
|
+
Given a standard Cucumber project directory structure
|
9
|
+
And a file named "features/wired.feature" with:
|
10
|
+
"""
|
11
|
+
Scenario: Wired
|
12
|
+
Given we're all wired
|
13
|
+
|
14
|
+
"""
|
15
|
+
|
16
|
+
Scenario: Try to talk to a server that's not there
|
17
|
+
Given a file named "features/step_definitions/some_remote_place.wire" with:
|
18
|
+
"""
|
19
|
+
host: localhost
|
20
|
+
port: 54321
|
21
|
+
|
22
|
+
"""
|
23
|
+
When I run cucumber -f progress
|
24
|
+
Then STDERR should match
|
25
|
+
"""
|
26
|
+
Unable to contact the wire server at localhost:54321
|
27
|
+
"""
|
28
|
+
|
29
|
+
Scenario: Invoke a step definition that takes longer than its timeout
|
30
|
+
Given a file named "features/step_definitions/some_remote_place.wire" with:
|
31
|
+
"""
|
32
|
+
host: localhost
|
33
|
+
port: 54321
|
34
|
+
timeout:
|
35
|
+
invoke: 0.1
|
36
|
+
|
37
|
+
"""
|
38
|
+
And there is a wire server on port 54321 which understands the following protocol:
|
39
|
+
| request | response |
|
40
|
+
| ["step_matches",{"name_to_match":"we're all wired"}] | ["step_matches",[{"id":"1", "args":[{"val":"wired", "pos":10}]}]] |
|
41
|
+
| ["begin_scenario",null] | ["success",null] |
|
42
|
+
| ["invoke",{"id":"1","args":["wired"]}] | ["success",null] |
|
43
|
+
| ["end_scenario",null] | ["success",null] |
|
44
|
+
And the wire server takes 0.2 seconds to respond to the invoke message
|
45
|
+
When I run cucumber -f pretty
|
46
|
+
Then STDERR should be empty
|
47
|
+
And it should fail with
|
48
|
+
"""
|
49
|
+
|
50
|
+
|
51
|
+
Scenario: Wired # features/wired.feature:1
|
52
|
+
Given we're all wired # Unknown
|
53
|
+
Timed out calling wire server with message 'invoke' (Timeout::Error)
|
54
|
+
features/wired.feature:2:in `Given we're all wired'
|
55
|
+
|
56
|
+
Failing Scenarios:
|
57
|
+
cucumber features/wired.feature:1 # Scenario: Wired
|
58
|
+
|
59
|
+
1 scenario (1 failed)
|
60
|
+
1 step (1 failed)
|
61
|
+
|
62
|
+
"""
|
data/lib/cucumber/ast/table.rb
CHANGED
data/lib/cucumber/cli/options.rb
CHANGED
@@ -116,7 +116,18 @@ module Cucumber
|
|
116
116
|
"loaded first.",
|
117
117
|
"This option can be specified multiple times.") do |v|
|
118
118
|
@options[:require] << v
|
119
|
+
if(Cucumber::JRUBY && File.directory?(v))
|
120
|
+
$CLASSPATH << v
|
121
|
+
end
|
119
122
|
end
|
123
|
+
|
124
|
+
if(Cucumber::JRUBY)
|
125
|
+
opts.on("-j DIR", "--jars DIR",
|
126
|
+
"Load all the jars under DIR") do |jars|
|
127
|
+
Dir["#{jars}/**/*.jar"].each {|jar| require jar}
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
120
131
|
opts.on("--i18n LANG",
|
121
132
|
"List keywords for in a particular language",
|
122
133
|
%{Run with "--i18n help" to see all languages}) do |lang|
|
@@ -21,6 +21,22 @@ module Cucumber
|
|
21
21
|
@header_red = nil
|
22
22
|
end
|
23
23
|
|
24
|
+
def embed(file, mime_type)
|
25
|
+
case(mime_type)
|
26
|
+
when /^image\/(png|gif|jpg|jpeg)/
|
27
|
+
embed_image(file)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def embed_image(file)
|
32
|
+
id = file.hash
|
33
|
+
@builder.span(:class => 'embed') do |pre|
|
34
|
+
pre << %{<a href="" onclick="img=document.getElementById('#{id}'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false">Screenshot</a><br>
|
35
|
+
<img id="#{id}" style="display: none" src="#{file}"/>}
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
24
40
|
def before_features(features)
|
25
41
|
@step_count = get_step_count(features)
|
26
42
|
|
data/lib/cucumber/languages.yml
CHANGED
@@ -14,11 +14,11 @@
|
|
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
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)
|
@@ -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|Stel
|
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: "*|但是<"
|