splinter 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/README.markdown +37 -19
- data/lib/splinter/capybara/form_completer.rb +1 -1
- data/lib/splinter/perf/deferred_garbage_collection.rb +1 -1
- data/lib/splinter/version.rb +1 -1
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8337d2353d44ecead65284212b4fc7a4519da06d
|
4
|
+
data.tar.gz: e4df350ef3cc29910cc083a63deb8192df30c74d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a1e5520d8b198b23a08e293a777c7c851f16411d2a6d294e0ca1675363beb4f07b9ac77ae16761b7979cd1351de3b38c6c3dca0c199186029289fc21653c262
|
7
|
+
data.tar.gz: 551d36982c5c8a95b3009df19adfb5d7b867933d23a24814ab8dcf76107703da401081654c525744cd92e63e6c522315dbfa691668e82b0671dd7e04886b8702
|
data/README.markdown
CHANGED
@@ -8,17 +8,23 @@ Rails forms.
|
|
8
8
|
Bonus: Splinter also includes a few performance tweaks which can be used to
|
9
9
|
speed up test suites. These are opt-in.
|
10
10
|
|
11
|
+
Splinter has been tested on MRI 1.9.3, 2.0.0 and 2.1.3.
|
12
|
+
|
11
13
|
[Build Icon]: https://secure.travis-ci.org/site5/splinter.png?branch=master
|
12
14
|
[Build Status]: https://travis-ci.org/site5/splinter
|
13
15
|
|
14
16
|
## Installation
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
+
```ruby
|
19
|
+
gem 'splinter'
|
20
|
+
bundle install
|
21
|
+
```
|
18
22
|
|
19
23
|
Add to `spec_helper.rb`:
|
20
24
|
|
21
|
-
|
25
|
+
```ruby
|
26
|
+
require 'splinter/rspec'
|
27
|
+
```
|
22
28
|
|
23
29
|
## Performance Tweaks
|
24
30
|
|
@@ -27,19 +33,25 @@ can cause issues with transactional fixtures as ActiveRecord normally creates a
|
|
27
33
|
new connection per-thread. If you need to force ActiveRecord to share the
|
28
34
|
connection between threads, add the following to `spec_helper`:
|
29
35
|
|
30
|
-
|
36
|
+
```ruby
|
37
|
+
require 'splinter/rspec/shared_connection'
|
38
|
+
```
|
31
39
|
|
32
40
|
While not technically related to Capybara, the following GC tweak can increase
|
33
41
|
run time by 10% or more in some suites. To enable it, add the following to
|
34
42
|
`spec_helper`:
|
35
43
|
|
36
|
-
|
44
|
+
```ruby
|
45
|
+
require 'splinter/rspec/deferred_garbage_collection'
|
46
|
+
```
|
37
47
|
|
38
48
|
## Screenshots
|
39
49
|
|
40
50
|
To capture screenshots on failure, add the following to `spec_helper`:
|
41
51
|
|
42
|
-
|
52
|
+
```ruby
|
53
|
+
Splinter.screenshot_directory = "/path/to/screenshots"
|
54
|
+
```
|
43
55
|
|
44
56
|
## Date/Time/Datetime Helpers
|
45
57
|
|
@@ -47,11 +59,13 @@ These are mostly borrowed from [`Hermes::Actions`](http://git.io/bhLQqQ).
|
|
47
59
|
They're useful for completing the multiple dropdowns required for a
|
48
60
|
date/time/datetime field in a Rails form.
|
49
61
|
|
50
|
-
|
51
|
-
|
62
|
+
```ruby
|
63
|
+
# Select by CSS ID
|
64
|
+
select_date Time.now, :id_prefix => :publish_at
|
52
65
|
|
53
|
-
|
54
|
-
|
66
|
+
# Select by label text, label must have for="id_prefix"
|
67
|
+
select_date Time.now, :from => "Publish at"
|
68
|
+
```
|
55
69
|
|
56
70
|
There are also `select_time`, and `select_datetime` variants with the same
|
57
71
|
usage.
|
@@ -60,12 +74,14 @@ usage.
|
|
60
74
|
|
61
75
|
Here's a little sugar to help complete Rails forms:
|
62
76
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
77
|
+
```ruby
|
78
|
+
complete_form :post do |f|
|
79
|
+
f.text_field :name, "I like turtles!"
|
80
|
+
f.date :publish_at, 3.days.from_now
|
81
|
+
f.select :category, "Blog Posts"
|
82
|
+
f.checkbox :published, false
|
83
|
+
end
|
84
|
+
```
|
69
85
|
|
70
86
|
After the block is evaluated, the form is completed and submitted.
|
71
87
|
|
@@ -73,8 +89,10 @@ After the block is evaluated, the form is completed and submitted.
|
|
73
89
|
|
74
90
|
You can use these helpers to confirm/cancel a javascript "confirm":
|
75
91
|
|
76
|
-
|
77
|
-
|
92
|
+
```ruby
|
93
|
+
javascript_confirm { click_link "Destroy" }
|
94
|
+
javascript_confirm(false) { click_link "Destroy" }
|
95
|
+
```
|
78
96
|
|
79
97
|
## Note on Patches/Pull Requests
|
80
98
|
|
@@ -88,4 +106,4 @@ You can use these helpers to confirm/cancel a javascript "confirm":
|
|
88
106
|
|
89
107
|
## Copyright
|
90
108
|
|
91
|
-
Copyright (c) 2012 Site5.com. See LICENSE for details.
|
109
|
+
Copyright (c) 2012-2014 Site5.com. See LICENSE for details.
|
@@ -39,7 +39,7 @@ module Splinter
|
|
39
39
|
@page.send :select_datetime, value, { :id_prefix => "#{@base}_#{id}" }
|
40
40
|
end
|
41
41
|
|
42
|
-
def submit(selector = "//form[contains(@id,'#{@base}')]
|
42
|
+
def submit(selector = "//form[contains(@id,'#{@base}')]//*[@type='submit']")
|
43
43
|
@page.send(:find, :xpath, selector).click
|
44
44
|
@submitted = true
|
45
45
|
end
|
@@ -2,7 +2,7 @@ module Splinter
|
|
2
2
|
# Speed up specs by tweaking garbage collection
|
3
3
|
#
|
4
4
|
# See:
|
5
|
-
#
|
5
|
+
# https://signalvnoise.com/posts/2742-the-road-to-faster-tests and
|
6
6
|
# https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
|
7
7
|
class DeferredGarbageCollection
|
8
8
|
|
data/lib/splinter/version.rb
CHANGED
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splinter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Priddle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.13.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.13.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: sinatra
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.3.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.3.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.9.2.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.9.2.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack-test
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.6.1
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.6.1
|
83
83
|
description:
|
@@ -109,23 +109,24 @@ licenses:
|
|
109
109
|
metadata: {}
|
110
110
|
post_install_message:
|
111
111
|
rdoc_options:
|
112
|
-
- --charset=UTF-8
|
112
|
+
- "--charset=UTF-8"
|
113
113
|
require_paths:
|
114
114
|
- lib
|
115
115
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '0'
|
120
120
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
requirements: []
|
126
126
|
rubyforge_project:
|
127
|
-
rubygems_version: 2.
|
127
|
+
rubygems_version: 2.4.8
|
128
128
|
signing_key:
|
129
129
|
specification_version: 4
|
130
130
|
summary: Splinter is a Capybara Ninja
|
131
131
|
test_files: []
|
132
|
+
has_rdoc:
|