macros4cuke 0.2.19 → 0.2.20

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.2.20 / 2013-05-06
2
+ * [NEW] Added `examples` folder with a first example of an internationalized customisation of __Macros4Cuke__.
3
+
1
4
  ## 0.2.19 / 2013-05-06
2
5
  * [CHANGE] Added validation of macro argument names in new `Engine::parse_tag` method.
3
6
  * [CHANGE] InvalidCharError exception added.
@@ -0,0 +1,6 @@
1
+ default: --strict -v -b --format progress features
2
+ html: --strict -v -b --format html --out result.html features
3
+ usage: --strict -v -b --format usage --out usage.txt features
4
+
5
+
6
+
@@ -0,0 +1,27 @@
1
+ # language: fr
2
+ Fonctionnalité: Macro-pas
3
+ Afin d'écrire des scénarios plus facilement
4
+ En tant qu'utilisateur de Cucumber
5
+ Je souhaite pouvoir créer des macro-étapes
6
+
7
+ Scénario: Définition d'un macro-pas (de scénario)
8
+ Etant donné que je crée le pas "Quand j'[imprime le texte <un_texte>]" qui équivaut à:
9
+ """
10
+ Quand j'imprime "<un_texte>" à l'écran
11
+ Et je garde "<un_texte>" en mémoire
12
+ """
13
+
14
+ Scénario: Utilisation d'un macro-pas (de scénario)
15
+ Quand j'[imprime le texte "Bonjour!"]
16
+
17
+ Scénario: Définition d'un macro-pas appelant des macro-pas!
18
+ Etant donné que je crée le pas "Quand j'[imprime le texte <un_texte> trois fois]" qui équivaut à:
19
+ """
20
+ Quand j'[imprime le texte "<un_texte>"]
21
+ Quand j'[imprime le texte "<un_texte>"]
22
+ Quand j'[imprime le texte "<un_texte>"]
23
+ """
24
+
25
+ Scénario: Utilisation du dernier macro-pas (de scénario)
26
+ Quand j'[imprime le texte "Trois fois!" trois fois]
27
+
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+ # Quelques définitions de pas de scénarios Cucumber.
3
+ require 'stringio'
4
+
5
+ Quand(/^j'imprime "(.*?)" à l'écran$/) do |some_text|
6
+ $stderr.puts some_text
7
+ end
8
+
9
+ Quand(/^je garde "(.*?)" en mémoire$/) do |some_text|
10
+ @output ||= StringIO.new('')
11
+ @output.puts some_text
12
+ end
13
+
14
+ # End of file
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+ # Définitions de pas de scénarios utilisant Macros4Cuke.
3
+
4
+
5
+ Etantdonné(/^que je crée le pas "(?:Soit|Quand|Alors) j(?:e |')\[((?:[^\\\]]|\\.)+)\](:?)" qui équivaut à:$/) do |macro_phrase, colon_capture, template|
6
+ use_table = (colon_capture == ':')
7
+ add_macro(macro_phrase, template, use_table)
8
+ end
9
+
10
+
11
+ Quand(/^j(?:e |')\[((?:[^\\\]]|\\.)+)\]$/) do |macro_phrase|
12
+ invoke_macro(macro_phrase) # This will call the macro with the given phrase
13
+ end
14
+
15
+
16
+ Quand(/^j(?:e |')\[([^\]]+)\]:$/) do |macro_phrase, table_argument|
17
+ # Ensure that the second argument is of the correct type
18
+ unless table_argument.kind_of?(Cucumber::Ast::Table)
19
+ raise Macros4Cuke::DataTableNotFound, "This step must have a data table as an argument."
20
+ end
21
+
22
+ # This will call the macro with the given phrase.
23
+ # The second argument consists of an array with couples of the kind: [argument name, actual value]
24
+ invoke_macro(macro_phrase, table_argument.raw)
25
+ end
26
+
27
+ # End of file
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8 You should see a paragraph character: §
2
+ # File: macro_support.rb
3
+ # Purpose: Add the support for macros in Cucumber.
4
+ # This file is meant to be put next to the 'env.rb' file of your Cucumeber project.
5
+
6
+
7
+ # Macros4Cuke step one: Load modules and classes from the gem.
8
+ require 'macros4cuke'
9
+
10
+
11
+ # Macros4Cuke step two: extend the world object with the mix-in module
12
+ # that adds the support for macros in Cucumber.
13
+ World(Macros4Cuke::MacroStepSupport)
14
+
15
+
16
+ # End of file
@@ -3,7 +3,7 @@
3
3
 
4
4
  module Macros4Cuke # Module used as a namespace
5
5
  # The version number of the gem.
6
- Version = '0.2.19'
6
+ Version = '0.2.20'
7
7
 
8
8
  # Brief description of the gem.
9
9
  Description = "Macros for Cucumber"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: macros4cuke
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.19
4
+ version: 0.2.20
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -79,6 +79,11 @@ files:
79
79
  - lib/macros4cuke/macro-step-support.rb
80
80
  - lib/macros4cuke/macro-step.rb
81
81
  - lib/macros4cuke/templating/engine.rb
82
+ - examples/i18n/fr/cucumber.yml
83
+ - examples/i18n/fr/features/demo01-fr.feature
84
+ - examples/i18n/fr/features/step_definitions/demo_steps.rb
85
+ - examples/i18n/fr/features/step_definitions/use_macro_steps.rb
86
+ - examples/i18n/fr/features/support/macro_support.rb
82
87
  - features/demo01.feature
83
88
  - features/demo02.feature
84
89
  - features/demo03.feature