test-harness 0.4.5 → 0.4.6
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/VERSION +1 -1
- data/lib/configuration.rb +5 -0
- data/lib/test_harness.rb +10 -0
- data/lib/ui_component_helper.rb +7 -1
- data/test-harness.gemspec +2 -2
- metadata +24 -24
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.6
|
data/lib/configuration.rb
CHANGED
data/lib/test_harness.rb
CHANGED
@@ -10,6 +10,11 @@ class TestHarness
|
|
10
10
|
yield configuration
|
11
11
|
end
|
12
12
|
|
13
|
+
def reset
|
14
|
+
@mm = nil
|
15
|
+
registered_components.each(&:reset)
|
16
|
+
end
|
17
|
+
|
13
18
|
def given
|
14
19
|
@given ||= TestHarness::Given.new
|
15
20
|
end
|
@@ -30,7 +35,12 @@ class TestHarness
|
|
30
35
|
@path ||= configuration.autoload_path || 'test_harness'
|
31
36
|
end
|
32
37
|
|
38
|
+
def registered_components
|
39
|
+
@components ||= []
|
40
|
+
end
|
41
|
+
|
33
42
|
def register_instance_option(scope, option_name, default_value = nil)
|
43
|
+
registered_components << default_value
|
34
44
|
scope.send(:define_method, option_name) do |*args, &block|
|
35
45
|
if !args[0].nil? || block
|
36
46
|
instance_variable_set("@#{option_name}_registered", args[0].nil? ? block : args[0])
|
data/lib/ui_component_helper.rb
CHANGED
@@ -4,6 +4,10 @@ class TestHarness
|
|
4
4
|
self.class.parent.component
|
5
5
|
end
|
6
6
|
|
7
|
+
def reset
|
8
|
+
@form = nil
|
9
|
+
end
|
10
|
+
|
7
11
|
# If the UIComponent is sent a message it does not understand, it will
|
8
12
|
# forward that message on to its {#browser} but wrap the call in a block
|
9
13
|
# provided to the the browser's `#within` method. This provides convenient
|
@@ -49,7 +53,8 @@ class TestHarness
|
|
49
53
|
#
|
50
54
|
def submit!
|
51
55
|
form_hash.each do |k,v|
|
52
|
-
find_field(k.to_s)
|
56
|
+
field = find_field(k.to_s)
|
57
|
+
field[:type] =~ /^select/ ? field.select(v) : field.set(v)
|
53
58
|
end
|
54
59
|
|
55
60
|
if has_css?(locator = component.submit)
|
@@ -73,6 +78,7 @@ class TestHarness
|
|
73
78
|
form.instance_variable_get("@table")
|
74
79
|
end
|
75
80
|
|
81
|
+
private
|
76
82
|
def component_path
|
77
83
|
component.path.gsub(/:\w+/) {|match| mm.subject.send(match.tr(':',''))}
|
78
84
|
end
|
data/test-harness.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "test-harness"
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Maher Hawash"]
|
12
|
-
s.date = "2012-09-
|
12
|
+
s.date = "2012-09-11"
|
13
13
|
s.description = "A test harness for rspec and cucumber which allows for separating responsibility between setting up the context and interacting with the browser, and cleaning up the step definition files."
|
14
14
|
s.email = "gmhawash@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-harness
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 6
|
10
|
+
version: 0.4.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Maher Hawash
|
@@ -15,12 +15,10 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-11 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
type: :development
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
26
24
|
- - ">="
|
@@ -29,12 +27,12 @@ dependencies:
|
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
version: "0"
|
32
|
-
version_requirements: *id001
|
33
|
-
name: rspec
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
30
|
prerelease: false
|
31
|
+
requirement: *id001
|
36
32
|
type: :development
|
37
|
-
|
33
|
+
name: rspec
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
36
|
none: false
|
39
37
|
requirements:
|
40
38
|
- - ">="
|
@@ -43,12 +41,12 @@ dependencies:
|
|
43
41
|
segments:
|
44
42
|
- 0
|
45
43
|
version: "0"
|
46
|
-
version_requirements: *id002
|
47
|
-
name: rdoc
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
44
|
prerelease: false
|
45
|
+
requirement: *id002
|
50
46
|
type: :development
|
51
|
-
|
47
|
+
name: rdoc
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
51
|
requirements:
|
54
52
|
- - ">="
|
@@ -57,12 +55,12 @@ dependencies:
|
|
57
55
|
segments:
|
58
56
|
- 0
|
59
57
|
version: "0"
|
60
|
-
version_requirements: *id003
|
61
|
-
name: bundler
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
58
|
prerelease: false
|
59
|
+
requirement: *id003
|
64
60
|
type: :development
|
65
|
-
|
61
|
+
name: bundler
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
66
64
|
none: false
|
67
65
|
requirements:
|
68
66
|
- - ">="
|
@@ -71,12 +69,12 @@ dependencies:
|
|
71
69
|
segments:
|
72
70
|
- 0
|
73
71
|
version: "0"
|
74
|
-
version_requirements: *id004
|
75
|
-
name: jeweler
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
72
|
prerelease: false
|
73
|
+
requirement: *id004
|
78
74
|
type: :development
|
79
|
-
|
75
|
+
name: jeweler
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
80
78
|
none: false
|
81
79
|
requirements:
|
82
80
|
- - ">="
|
@@ -85,7 +83,9 @@ dependencies:
|
|
85
83
|
segments:
|
86
84
|
- 0
|
87
85
|
version: "0"
|
88
|
-
|
86
|
+
prerelease: false
|
87
|
+
requirement: *id005
|
88
|
+
type: :development
|
89
89
|
name: gemcutter
|
90
90
|
description: A test harness for rspec and cucumber which allows for separating responsibility between setting up the context and interacting with the browser, and cleaning up the step definition files.
|
91
91
|
email: gmhawash@gmail.com
|