splinter 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MTYxMjExYjliOGM3MTJhZTZkNzZiOWUxZTk5MzA3MGU5Y2YxY2Y2Nw==
5
+ data.tar.gz: !binary |-
6
+ OTljNzk3YTg1NDU1NjMwNWI2YzY1ODU5ZDY1M2RiNDJkNjM5YjU3NA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NGQ2MWYyOWQ4ZDM4NGFjMWQzYWNiMjZmOTU5MmI3YTRiOWNiZDlkODhiZTQ2
10
+ ZWZkMzBhMGZjMjVmMGIyZWUxNzNkNjVhMmU4Nzc4YTY1MmJjMjgxMTZiMDRi
11
+ MjRkZWRhMDFkZTMzYmU2MTAxNjc5NjAzYWY3Yjk5MmE2M2YyZTc=
12
+ data.tar.gz: !binary |-
13
+ N2ZhY2M3Y2VhNzI5YzhjMDExMTQyNzk0MjcwMDEzZTA0ZDJjMDI3MmY2ODc3
14
+ ZmNhODQ3YTUxNTkyYzljM2I0MmJlOGExMDc3MWJiYWM1YmFlOGQwZmJmNTcz
15
+ NGIzMDI5ZjkyZWE3ZGEzMDI5YjYwNDA4YTI4ZjNlOGQwYWFlZTE=
data/Rakefile CHANGED
@@ -1,6 +1,9 @@
1
1
  $:.unshift 'lib'
2
2
 
3
3
  begin
4
+ require 'bundler'
5
+ Bundler::GemHelper.install_tasks
6
+
4
7
  require 'rspec/core/rake_task'
5
8
  RSpec::Core::RakeTask.new :spec do |t|
6
9
  t.rspec_opts = %w[--color --format documentation]
@@ -42,9 +42,18 @@ module Splinter
42
42
  # f.datetime :publish_at, Time.now
43
43
  # t.time :publish_at, Time.now
44
44
  # end
45
+ #
46
+ # You can also manually submit in case your submit input field requires
47
+ # a custom selector:
48
+ #
49
+ # complete_form :post do |f|
50
+ # ...
51
+ # f.submit "//custom/xpath/selector"
52
+ # end
53
+ #
45
54
  def complete_form(base)
46
- yield FormCompleter.new(base, self)
47
- find(:xpath, "//form[contains(@id,'#{base}')]//input[@type='submit']").click
55
+ yield form = FormCompleter.new(base, self)
56
+ form.submit unless form.submitted?
48
57
  end
49
58
 
50
59
  # Selects hour and minute dropdowns for a time attribute.
@@ -3,6 +3,8 @@ module Splinter
3
3
  # The FormCompleter is a simple proxy that delegates actions to a Capybara
4
4
  # session.
5
5
  class FormCompleter
6
+ attr_reader :submitted
7
+
6
8
  def initialize(base, page)
7
9
  @base = base
8
10
  @page = page
@@ -36,6 +38,16 @@ module Splinter
36
38
  def datetime(id, value)
37
39
  @page.send :select_datetime, value, { :id_prefix => "#{@base}_#{id}" }
38
40
  end
41
+
42
+ def submit(selector = "//form[contains(@id,'#{@base}')]//input[@type='submit']")
43
+ @page.send(:find, :xpath, selector).click
44
+ @submitted = true
45
+ end
46
+
47
+ # Public: Checks if this form has already been submitted.
48
+ def submitted?
49
+ submitted
50
+ end
39
51
  end
40
52
  end
41
53
  end
@@ -1,3 +1,3 @@
1
1
  module Splinter
2
- VERSION = Version = '0.0.6'
2
+ VERSION = Version = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splinter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
5
- prerelease:
4
+ version: 0.0.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Joshua Priddle
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-25 00:00:00.000000000 Z
11
+ date: 2013-03-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: capybara
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: sinatra
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rack-test
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -116,28 +105,26 @@ files:
116
105
  - spec/test_app/views/index.erb
117
106
  homepage: https://github.com/site5/splinter
118
107
  licenses: []
108
+ metadata: {}
119
109
  post_install_message:
120
110
  rdoc_options:
121
111
  - --charset=UTF-8
122
112
  require_paths:
123
113
  - lib
124
114
  required_ruby_version: !ruby/object:Gem::Requirement
125
- none: false
126
115
  requirements:
127
116
  - - ! '>='
128
117
  - !ruby/object:Gem::Version
129
118
  version: '0'
130
119
  required_rubygems_version: !ruby/object:Gem::Requirement
131
- none: false
132
120
  requirements:
133
121
  - - ! '>='
134
122
  - !ruby/object:Gem::Version
135
123
  version: '0'
136
124
  requirements: []
137
125
  rubyforge_project:
138
- rubygems_version: 1.8.23
126
+ rubygems_version: 2.0.3
139
127
  signing_key:
140
- specification_version: 3
128
+ specification_version: 4
141
129
  summary: Splinter is a Capybara Ninja
142
130
  test_files: []
143
- has_rdoc: