spreewald 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -298,7 +298,7 @@ deprecation notice. Decide for yourself whether you want to use them:
298
298
 
299
299
  * **Then the "..." field( within ...)? should contain "..."**
300
300
 
301
- Checks that a input field contains some value
301
+ Checks that an input field contains some value (allowing * as wildcard character)
302
302
 
303
303
 
304
304
  * **Then the "..." field( within ...)? should not contain "..."**
@@ -26,6 +26,7 @@
26
26
  require 'spreewald_support/tolerance_for_selenium_sync_issues'
27
27
  require 'spreewald_support/path_selector_fallbacks'
28
28
  require 'spreewald_support/step_fallback'
29
+ require 'spreewald_support/custom_matchers'
29
30
  require 'uri'
30
31
  require 'cgi'
31
32
 
@@ -144,25 +145,13 @@ Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
144
145
  end
145
146
 
146
147
 
147
- # Checks that a input field contains some value
148
- Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value|
148
+ # Checks that an input field contains some value (allowing * as wildcard character)
149
+ Then /^the "([^"]*)" field should (not )?contain "([^"]*)"$/ do |field, negate, expected_string|
149
150
  patiently do
150
- with_scope(parent) do
151
- field = find_field(field)
152
- field_value = ((field.tag_name == 'textarea') && field.text.present?) ? field.text : field.value
153
- field_value.should =~ /#{Regexp.escape(value)}/
154
- end
155
- end
156
- end
151
+ field = find_field(field)
152
+ field_value = ((field.tag_name == 'textarea') && field.text.present?) ? field.text : field.value
157
153
 
158
-
159
- Then /^the "([^"]*)" field(?: within (.*))? should not contain "([^"]*)"$/ do |field, parent, value|
160
- patiently do
161
- with_scope(parent) do
162
- field = find_field(field)
163
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
164
- field_value.should_not =~ /#{Regexp.escape(value)}/
165
- end
154
+ field_value.send(negate ? :should_not : :should, contain_with_wildcards(expected_string))
166
155
  end
167
156
  end
168
157
 
@@ -0,0 +1,22 @@
1
+ module CustomMatchers
2
+ rspec = defined?(RSpec) ? RSpec : Spec
3
+
4
+ rspec::Matchers.define :contain_with_wildcards do |expected_string|
5
+ match do |field_value|
6
+ @field_value = field_value
7
+ @expected_string = expected_string
8
+ regex_parts = expected_string.split('*', -1).collect { |part| Regexp.escape(part) }
9
+
10
+ @field_value =~ /\A#{regex_parts.join(".*")}\z/
11
+ end
12
+
13
+ failure_message_for_should do
14
+ "The field's content #@field_value did not match #@expected_string"
15
+ end
16
+
17
+ failure_message_for_should_not do
18
+ "The field's content #@field_value matches #@expected_string"
19
+ end
20
+ end
21
+
22
+ end
@@ -1,5 +1,5 @@
1
1
  # coding: UTF-8
2
2
 
3
3
  module Spreewald
4
- VERSION = "0.5.2"
4
+ VERSION = "0.5.3"
5
5
  end
metadata CHANGED
@@ -1,72 +1,75 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: spreewald
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 13
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 3
10
+ version: 0.5.3
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Tobias Kraze
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-03-03 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-03-05 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
15
22
  name: cucumber-rails
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: cucumber
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
38
33
  type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: cucumber
39
37
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: capybara
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
54
47
  type: :runtime
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: capybara
55
51
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
52
+ requirement: &id003 !ruby/object:Gem::Requirement
57
53
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- description: A collection of cucumber steps we use in our projects, including steps
63
- to check HTML, tables, emails and some utility methods.
64
- email:
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :runtime
62
+ version_requirements: *id003
63
+ description: A collection of cucumber steps we use in our projects, including steps to check HTML, tables, emails and some utility methods.
64
+ email:
65
65
  - tobias@kraze.eu
66
66
  executables: []
67
+
67
68
  extensions: []
69
+
68
70
  extra_rdoc_files: []
69
- files:
71
+
72
+ files:
70
73
  - .gitignore
71
74
  - Gemfile
72
75
  - LICENSE
@@ -81,6 +84,7 @@ files:
81
84
  - lib/spreewald/table_steps.rb
82
85
  - lib/spreewald/timecop_steps.rb
83
86
  - lib/spreewald/web_steps.rb
87
+ - lib/spreewald_support/custom_matchers.rb
84
88
  - lib/spreewald_support/github.rb
85
89
  - lib/spreewald_support/mail_finder.rb
86
90
  - lib/spreewald_support/path_selector_fallbacks.rb
@@ -89,28 +93,39 @@ files:
89
93
  - lib/spreewald_support/version.rb
90
94
  - spreewald.gemspec
91
95
  - support/documentation_generator.rb
96
+ has_rdoc: true
92
97
  homepage: https://github.com/makandra/spreewald
93
98
  licenses: []
99
+
94
100
  post_install_message:
95
101
  rdoc_options: []
96
- require_paths:
102
+
103
+ require_paths:
97
104
  - lib
98
- required_ruby_version: !ruby/object:Gem::Requirement
105
+ required_ruby_version: !ruby/object:Gem::Requirement
99
106
  none: false
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
115
  none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
122
+ version: "0"
110
123
  requirements: []
124
+
111
125
  rubyforge_project:
112
- rubygems_version: 1.8.25
126
+ rubygems_version: 1.3.9.5
113
127
  signing_key:
114
128
  specification_version: 3
115
129
  summary: Collection of useful cucumber steps.
116
130
  test_files: []
131
+