cucumber 0.3.3 → 0.3.4

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.
Files changed (75) hide show
  1. data/History.txt +44 -1
  2. data/Manifest.txt +11 -1
  3. data/bin/cucumber +11 -1
  4. data/examples/cs/Rakefile +1 -1
  5. data/examples/cs/features/addition.feature +5 -5
  6. data/examples/cs/features/step_definitons/calculator_steps.rb +2 -2
  7. data/examples/dos_line_endings/Rakefile +1 -1
  8. data/examples/i18n/ar/Rakefile +1 -1
  9. data/examples/i18n/bg/Rakefile +1 -1
  10. data/examples/i18n/cat/Rakefile +6 -0
  11. data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
  12. data/examples/i18n/cat/features/suma.feature +16 -0
  13. data/examples/i18n/cat/lib/calculadora.rb +16 -0
  14. data/examples/i18n/da/Rakefile +1 -1
  15. data/examples/i18n/de/Rakefile +1 -1
  16. data/examples/i18n/en-lol/Rakefile +1 -1
  17. data/examples/i18n/en/Rakefile +1 -1
  18. data/examples/i18n/es/Rakefile +1 -1
  19. data/examples/i18n/et/Rakefile +1 -1
  20. data/examples/i18n/fi/Rakefile +1 -1
  21. data/examples/i18n/fr/Rakefile +1 -1
  22. data/examples/i18n/he/Rakefile +1 -1
  23. data/examples/i18n/hu/Rakefile +1 -1
  24. data/examples/i18n/id/Rakefile +1 -1
  25. data/examples/i18n/it/Rakefile +1 -1
  26. data/examples/i18n/ja/Rakefile +1 -1
  27. data/examples/i18n/ko/Rakefile +1 -1
  28. data/examples/i18n/lt/Rakefile +1 -1
  29. data/examples/i18n/lt/features/addition.feature +2 -3
  30. data/examples/i18n/lv/Rakefile +1 -1
  31. data/examples/i18n/no/Rakefile +1 -1
  32. data/examples/i18n/pt/Rakefile +1 -1
  33. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +3 -7
  34. data/examples/i18n/pt/features/support/env.rb +6 -0
  35. data/examples/i18n/ro/Rakefile +1 -1
  36. data/examples/i18n/ru/Rakefile +1 -1
  37. data/examples/i18n/se/Rakefile +1 -1
  38. data/examples/i18n/sk/Rakefile +1 -1
  39. data/examples/i18n/zh-CN/Rakefile +1 -1
  40. data/examples/i18n/zh-TW/Rakefile +1 -1
  41. data/examples/java/README.textile +2 -6
  42. data/examples/java/build.xml +26 -0
  43. data/examples/java/features/step_definitons/hello_steps.rb +0 -2
  44. data/examples/junit/features/one_passing_one_failing.feature +8 -0
  45. data/examples/junit/features/pending.feature +5 -0
  46. data/examples/junit/features/step_definitions/steps.rb +11 -0
  47. data/examples/selenium/Rakefile +1 -1
  48. data/examples/selenium_webrat/Rakefile +1 -1
  49. data/examples/sinatra/Rakefile +1 -1
  50. data/examples/test_unit/Rakefile +1 -1
  51. data/examples/tickets/Rakefile +3 -3
  52. data/examples/tickets/features/177/1.feature +29 -29
  53. data/examples/tickets/features/177/2.feature +20 -20
  54. data/examples/watir/Rakefile +1 -1
  55. data/features/junit_formatter.feature +59 -0
  56. data/features/rake_task.feature +4 -4
  57. data/features/step_definitions/cucumber_steps.rb +25 -2
  58. data/gem_tasks/features.rake +5 -1
  59. data/lib/cucumber.rb +2 -2
  60. data/lib/cucumber/cli/configuration.rb +28 -32
  61. data/lib/cucumber/cli/main.rb +0 -2
  62. data/lib/cucumber/core_ext/proc.rb +9 -13
  63. data/lib/cucumber/formatter.rb +1 -1
  64. data/lib/cucumber/formatter/html.rb +1 -0
  65. data/lib/cucumber/formatter/junit.rb +78 -0
  66. data/lib/cucumber/languages.yml +36 -4
  67. data/lib/cucumber/parser/feature.rb +10 -6
  68. data/lib/cucumber/parser/feature.tt +18 -14
  69. data/lib/cucumber/rake/task.rb +92 -24
  70. data/lib/cucumber/step_mother.rb +3 -0
  71. data/lib/cucumber/version.rb +1 -1
  72. data/rails_generators/cucumber/templates/cucumber.rake +2 -1
  73. data/spec/cucumber/cli/configuration_spec.rb +9 -18
  74. metadata +13 -3
  75. data/examples/java/Rakefile +0 -12
@@ -1,3 +1,46 @@
1
+ == 0.3.4 2009-05-14
2
+
3
+ A couple of great new features in this release. Running with Rake is faster than before,
4
+ and there is a brand new JUnit formatter - great for Continuous Integration reports!
5
+
6
+ This release was made especially for the Oslo XP Meetup today.
7
+
8
+ ** IMPORTANT UPGRADE NOTES FOR RAILS USERS **
9
+
10
+ Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
11
+ so you have to explicitly tell the task to fork (like it was doing by default in prior
12
+ versions). In lib/tasks/cucumber.rake:
13
+
14
+ Cucumber::Rake::Task.new(:features) do |t|
15
+ t.fork = true # Explicitly fork
16
+ t.cucumber_opts = %w{--format pretty}
17
+ end
18
+
19
+ (If you run script/generate cucumber this will be done for you).
20
+ Alternatively you can omit forking and run features like this:
21
+
22
+ RAILS_ENV=test rake features
23
+
24
+ However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.
25
+
26
+ === Bugfixes
27
+ * Hooks (World, Before, After) are no longer executed when --dry-run (Aslak Hellesøy)
28
+ * Proper UTF8 use in HTML formatter (Herminio Torres)
29
+ * Problem with multiple terms in languages.yml (#321 Aslak Hellesøy)
30
+
31
+ === New features
32
+ * New JUnit formatter (Gareth Jones)
33
+ * Support for Vietnamese (Ngoc Dao)
34
+ * Added aliases for Feature and But in Japanese (Leonard Chin)
35
+ * Support for Catalan (Francesc Esplugas)
36
+
37
+ === Changed features
38
+ * The Java example under examples/java uses Ant instead of Rake - and the new JUnit formatter.
39
+ * Rake task should not shell out (#297 Aslak Hellesøy)
40
+ The Cucumber Rake task will run Cucumber in the same Ruby interpreter as Rake itself
41
+ unless explicitly told to fork a new interpreter. This is to increase speed. You can
42
+ force a new interpreter by setting fork=true or rcov=true in the task.
43
+
1
44
  == 0.3.3 2009-05-10
2
45
 
3
46
  Minor bugfix release, made specially for EuRuKo!
@@ -235,7 +278,7 @@ for multiline arguments are some of the highlights.
235
278
  * Pure Ruby features are no longer supported.
236
279
  * Remove --color option in autotest. Can be added manually in cucumber.yml (#215 Jean-Michel Garnier)
237
280
 
238
- == (0.16.4 aslakhellesoy-cucumber gem on GitHub)
281
+ == (0.1.16.4 aslakhellesoy-cucumber gem on GitHub)
239
282
 
240
283
  Bugfix release.
241
284
 
@@ -29,6 +29,10 @@ examples/i18n/bg/features/step_definitons/calculator_steps.rb
29
29
  examples/i18n/bg/features/support/env.rb
30
30
  examples/i18n/bg/features/support/world.rb
31
31
  examples/i18n/bg/lib/calculator.rb
32
+ examples/i18n/cat/Rakefile
33
+ examples/i18n/cat/features/step_definitons/calculator_steps.rb
34
+ examples/i18n/cat/features/suma.feature
35
+ examples/i18n/cat/lib/calculadora.rb
32
36
  examples/i18n/da/Rakefile
33
37
  examples/i18n/da/features/step_definitons/kalkulator_steps.rb
34
38
  examples/i18n/da/features/summering.feature
@@ -114,6 +118,7 @@ examples/i18n/no/lib/kalkulator.rb
114
118
  examples/i18n/pt/Rakefile
115
119
  examples/i18n/pt/features/adicao.feature
116
120
  examples/i18n/pt/features/step_definitions/calculadora_steps.rb
121
+ examples/i18n/pt/features/support/env.rb
117
122
  examples/i18n/pt/lib/calculadora.rb
118
123
  examples/i18n/ro/Rakefile
119
124
  examples/i18n/ro/features/step_definitons/calculator_steps.rb
@@ -146,12 +151,15 @@ examples/i18n/zh-TW/features/division.feature
146
151
  examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
147
152
  examples/i18n/zh-TW/lib/calculator.rb
148
153
  examples/java/README.textile
149
- examples/java/Rakefile
154
+ examples/java/build.xml
150
155
  examples/java/features/hello.feature
151
156
  examples/java/features/step_definitons/hello_steps.rb
152
157
  examples/java/features/step_definitons/tree_steps.rb
153
158
  examples/java/features/tree.feature
154
159
  examples/java/src/cucumber/demo/Hello.java
160
+ examples/junit/features/one_passing_one_failing.feature
161
+ examples/junit/features/pending.feature
162
+ examples/junit/features/step_definitions/steps.rb
155
163
  examples/pure_java/README.textile
156
164
  examples/selenium/Rakefile
157
165
  examples/selenium/features/search.feature
@@ -236,6 +244,7 @@ features/cucumber_cli_diff_disabled.feature
236
244
  features/cucumber_cli_outlines.feature
237
245
  features/custom_formatter.feature
238
246
  features/exclude_files.feature
247
+ features/junit_formatter.feature
239
248
  features/multiline_names.feature
240
249
  features/rake_task.feature
241
250
  features/report_called_undefined_steps.feature
@@ -291,6 +300,7 @@ lib/cucumber/formatter/console.rb
291
300
  lib/cucumber/formatter/cucumber.css
292
301
  lib/cucumber/formatter/cucumber.sass
293
302
  lib/cucumber/formatter/html.rb
303
+ lib/cucumber/formatter/junit.rb
294
304
  lib/cucumber/formatter/pretty.rb
295
305
  lib/cucumber/formatter/profile.rb
296
306
  lib/cucumber/formatter/progress.rb
@@ -3,4 +3,14 @@
3
3
  $:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
4
4
 
5
5
  require 'cucumber/cli/main'
6
- Cucumber::Cli::Main.execute(ARGV.dup) # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
6
+ begin
7
+ # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
8
+ failure = Cucumber::Cli::Main.execute(ARGV.dup)
9
+ Kernel.exit(failure ? 1 : 0)
10
+ rescue SystemExit => e
11
+ Kernel.exit(e.status)
12
+ rescue Exception => e
13
+ STDERR.puts("#{e.message} (#{e.class})")
14
+ STDERR.puts(e.backtrace.join("\n"))
15
+ Kernel.exit 1
16
+ end
@@ -2,7 +2,7 @@ $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new(:features) do |t|
5
- t.cucumber_opts = "--format pretty"
5
+ t.cucumber_opts = %w{--format pretty}
6
6
  end
7
7
 
8
8
  task :features => :compile
@@ -3,13 +3,13 @@ Feature: Addition
3
3
  As a math idiot
4
4
  I want to be told the sum of two numbers
5
5
 
6
- Scenario: Add two numbers
7
- Given I have entered 50 into the calculator
8
- And I have entered 70 into the calculator
6
+ Scenario Outline: Add two numbers
7
+ Given I have entered <input_1> into the calculator
8
+ And I have entered <input_2> into the calculator
9
9
  When I press add
10
- Then the result should be 120 on the screen
10
+ Then the result should be <output> on the screen
11
11
 
12
- More Examples:
12
+ Examples:
13
13
  | input_1 | input_2 | output |
14
14
  | 20 | 30 | 50 |
15
15
  | 2 | 5 | 7 |
@@ -1,9 +1,9 @@
1
1
  require 'spec/expectations'
2
2
  $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
3
- require 'Calculator'
3
+ require 'Calculator' # Calculator.dll
4
4
 
5
5
  Before do
6
- @calc = Demo::Calculator.new
6
+ @calc = Demo::Calculator.new # A .NET class in Calculator.dll
7
7
  end
8
8
 
9
9
  Given "I have entered $n into the calculator" do |n|
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--format pretty"
5
+ t.cucumber_opts = %w{--format pretty}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language ar"
5
+ t.cucumber_opts = %w{--language ar}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language bg"
5
+ t.cucumber_opts = %w{--language bg}
6
6
  end
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = %w{--language cat}
6
+ end
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculadora'
6
+
7
+ Before do
8
+ @calc = Calculadora.new
9
+ end
10
+
11
+ Donat /que he introduït (\d+) a la calculadora/ do |n|
12
+ @calc.push n.to_i
13
+ end
14
+
15
+ Quan /premo el (\w+)/ do |op|
16
+ @result = @calc.send op
17
+ end
18
+
19
+ Aleshores /el resultat ha de ser (\d+) a la pantalla/ do |result|
20
+ @result.should == result.to_f
21
+ end
@@ -0,0 +1,16 @@
1
+ Característica: Suma
2
+ Per evitar fer errors tontos
3
+ Com un matemàtic idiota
4
+ Vull saber la suma dels números
5
+
6
+ Esquema de l'escenari: Sumar dos números
7
+ Donat que he introduït <entrada_1> a la calculadora
8
+ I que he introduït <entrada_2> a la calculadora
9
+ Quan premo el <botó>
10
+ Aleshores el resultat ha de ser <resultat> a la pantalla
11
+
12
+ Exemples:
13
+ | entrada_1 | entrada_2 | botó | resultat |
14
+ | 20 | 30 | add | 50 |
15
+ | 2 | 5 | add | 7 |
16
+ | 0 | 40 | add | 40 |
@@ -0,0 +1,16 @@
1
+ class Calculadora
2
+
3
+ def push(n)
4
+ @args ||= []
5
+ @args << n
6
+ end
7
+
8
+ def add
9
+ @args.inject(0){|n,sum| sum+=n}
10
+ end
11
+
12
+ def divide
13
+ @args[0].to_f / @args[1].to_f
14
+ end
15
+
16
+ end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language da"
5
+ t.cucumber_opts = %w{--language da}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language de"
5
+ t.cucumber_opts = %w{--language de}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language en-lol"
5
+ t.cucumber_opts = %w{--language en-lol}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language en"
5
+ t.cucumber_opts = %w{--language en}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language es"
5
+ t.cucumber_opts = %w{--language es}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language et"
5
+ t.cucumber_opts = %w{--language et}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language fi"
5
+ t.cucumber_opts = %w{--language fi}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language fr"
5
+ t.cucumber_opts = %w{--language fr}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language he"
5
+ t.cucumber_opts = %w{--language he}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language hu"
5
+ t.cucumber_opts = %w{--language hu}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language id"
5
+ t.cucumber_opts = %w{--language id}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language it"
5
+ t.cucumber_opts = %w{--language it}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language ja"
5
+ t.cucumber_opts = %w{--language ja}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language ko"
5
+ t.cucumber_opts = %w{--language ko}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language lt"
5
+ t.cucumber_opts = %w{--language lt}
6
6
  end
@@ -3,14 +3,13 @@ Sąvybė: Sudėtis
3
3
  Kaip matematinis idiotas
4
4
  Aš noriu, kad man pasakytų dviejų skaičių sumą
5
5
 
6
- # Someone please translate this in languages.yml please
7
- Scenario Outline: dviejų skaičių sudėtis
6
+ Scenarijaus šablonas: dviejų skaičių sudėtis
8
7
  Duota aš įvedžiau <įvestis_1> į skaičiuotuvą
9
8
  Ir aš įvedžiau <įvestis_2> į skaičiuotuvą
10
9
  Kai aš paspaudžiu "<mygtukas>"
11
10
  Tada rezultatas ekrane turi būti <išvestis>
12
11
 
13
- Pavyzdžių
12
+ Pavyzdžiai
14
13
  | įvestis_1 | įvestis_2 | mygtukas | išvestis |
15
14
  | 20 | 30 | add | 50 |
16
15
  | 2 | 5 | add | 7 |
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language lv"
5
+ t.cucumber_opts = %w{--language lv}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language no"
5
+ t.cucumber_opts = %w{--language no}
6
6
  end
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--language pt"
5
+ t.cucumber_opts = %w{--language pt}
6
6
  end
@@ -1,8 +1,4 @@
1
1
  # encoding: utf-8
2
- require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
- require 'cucumber/formatter/unicode'
5
- require 'calculadora'
6
2
 
7
3
  Before do
8
4
  @calc = Calculadora.new
@@ -11,14 +7,14 @@ end
11
7
  After do
12
8
  end
13
9
 
14
- Given /que eu digitei (\d+) na calculadora/ do |n|
10
+ Dado /que eu digitei (\d+) na calculadora/ do |n|
15
11
  @calc.push n.to_i
16
12
  end
17
13
 
18
- When 'eu aperto o botão de soma' do
14
+ Quando 'eu aperto o botão de soma' do
19
15
  @result = @calc.soma
20
16
  end
21
17
 
22
- Then /o resultado na calculadora deve ser (\d*)/ do |result|
18
+ Então /o resultado na calculadora deve ser (\d*)/ do |result|
23
19
  @result.should == result.to_i
24
20
  end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+ $KCODE='u' unless Cucumber::RUBY_1_9
3
+ require 'spec/expectations'
4
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
5
+ require 'cucumber/formatter/unicode'
6
+ require 'calculadora'