sw2at-capybara 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/Gemfile +16 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/lib/sw2at-capybara.rb +15 -0
- data/lib/swat/capybara/colorize.rb +33 -0
- data/lib/swat/capybara/config.rb +46 -0
- data/lib/swat/capybara/exceptions.rb +39 -0
- data/lib/swat/capybara/helpers.rb +138 -0
- data/lib/swat/capybara/print_helper.rb +18 -0
- data/lib/swat/capybara/rspec_setup.rb +34 -0
- data/sw2at-capybara.gemspec +81 -0
- metadata +200 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a3dd0225b894a38289696982a015ae3a71038ae3
|
4
|
+
data.tar.gz: 350c44c3e4372b5595b12fb2108df5de29d39f75
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e57264d872b9960487f6cd94771eb2d91691b403fb1967234b6a94cf9ee43aebb587ca0be400e1979aeb665679baedaf7c92a2573db7bf9015425e6d7262a064
|
7
|
+
data.tar.gz: d5d9cce526f391dc2127d233b427dcd114f3a498a9f1c28a7fe814f2091335d95456b3d61f05bfdb6d5f367969fdd910e57d58a0a2f952421bda3df0dcf9170d
|
data/.document
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
gem 'rspec'
|
4
|
+
gem 'sourcify'
|
5
|
+
gem 'capybara', '>= 2.2.0'
|
6
|
+
gem 'selenium-webdriver', '>= 2.43.0'
|
7
|
+
gem 'pry', '~> 0.10.1'
|
8
|
+
|
9
|
+
group :development do
|
10
|
+
gem "shoulda", ">= 0"
|
11
|
+
gem "rdoc", "~> 3.12"
|
12
|
+
gem "bundler", "~> 1.0"
|
13
|
+
gem "jeweler", "~> 2.0.1"
|
14
|
+
gem "simplecov", ">= 0"
|
15
|
+
end
|
16
|
+
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2015 Vitaly Tarasenko
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
= sw2at-capybara
|
2
|
+
|
3
|
+
Description goes here.
|
4
|
+
|
5
|
+
== Contributing to sw2at-capybara
|
6
|
+
|
7
|
+
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
8
|
+
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
9
|
+
* Fork the project.
|
10
|
+
* Start a feature/bugfix branch.
|
11
|
+
* Commit and push until you are happy with your contribution.
|
12
|
+
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
|
+
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
14
|
+
|
15
|
+
== Copyright
|
16
|
+
|
17
|
+
Copyright (c) 2015 Vitaly Tarasenko. See LICENSE.txt for
|
18
|
+
further details.
|
19
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
require 'rake'
|
13
|
+
|
14
|
+
require 'jeweler'
|
15
|
+
Jeweler::Tasks.new do |gem|
|
16
|
+
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
17
|
+
gem.name = "sw2at-capybara"
|
18
|
+
gem.homepage = "http://github.com/tw4qa/sw2at-capybara"
|
19
|
+
gem.license = "MIT"
|
20
|
+
gem.summary = %Q{ Extension to capybara. }
|
21
|
+
gem.description = %Q{ Gem helps to create capybara tests for pages with a very dynamic content. }
|
22
|
+
gem.email = "vetal.tarasenko@gmail.com"
|
23
|
+
gem.authors = ["Vitaly Tarasenko"]
|
24
|
+
# dependencies defined in Gemfile
|
25
|
+
end
|
26
|
+
Jeweler::RubygemsDotOrgTasks.new
|
27
|
+
|
28
|
+
require 'rake/testtask'
|
29
|
+
Rake::TestTask.new(:test) do |test|
|
30
|
+
test.libs << 'lib' << 'test'
|
31
|
+
test.pattern = 'test/**/test_*.rb'
|
32
|
+
test.verbose = true
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "Code coverage detail"
|
36
|
+
task :simplecov do
|
37
|
+
ENV['COVERAGE'] = "true"
|
38
|
+
Rake::Task['test'].execute
|
39
|
+
end
|
40
|
+
|
41
|
+
task :default => :test
|
42
|
+
|
43
|
+
require 'rdoc/task'
|
44
|
+
Rake::RDocTask.new do |rdoc|
|
45
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
46
|
+
|
47
|
+
rdoc.rdoc_dir = 'rdoc'
|
48
|
+
rdoc.title = "sw2at-capybara #{version}"
|
49
|
+
rdoc.rdoc_files.include('README*')
|
50
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
51
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Swat
|
2
|
+
module Capybara
|
3
|
+
require 'swat/capybara/print_helper'
|
4
|
+
require 'swat/capybara/helpers'
|
5
|
+
require 'swat/capybara/config'
|
6
|
+
|
7
|
+
def self.setup(rspec_config, opts = {})
|
8
|
+
@config ||= Config.new(rspec_config, opts)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.config
|
12
|
+
@config
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class String
|
2
|
+
def colorize(color_code)
|
3
|
+
"\e[#{color_code}m#{self}\e[0m"
|
4
|
+
end
|
5
|
+
|
6
|
+
def yellow
|
7
|
+
colorize(93)
|
8
|
+
end
|
9
|
+
|
10
|
+
def bg_yellow
|
11
|
+
colorize(43)
|
12
|
+
end
|
13
|
+
|
14
|
+
def green
|
15
|
+
colorize(32)
|
16
|
+
end
|
17
|
+
|
18
|
+
def blue
|
19
|
+
colorize(96)
|
20
|
+
end
|
21
|
+
|
22
|
+
def dark_blue
|
23
|
+
colorize(34)
|
24
|
+
end
|
25
|
+
|
26
|
+
def bg_blue
|
27
|
+
colorize(44)
|
28
|
+
end
|
29
|
+
|
30
|
+
def red
|
31
|
+
colorize(31)
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Swat
|
2
|
+
module Capybara
|
3
|
+
require 'swat/capybara/rspec_setup'
|
4
|
+
|
5
|
+
class Config
|
6
|
+
DEFAULT_OPTIONS = {
|
7
|
+
default_pause: 0.5,
|
8
|
+
min_pause: 0.3,
|
9
|
+
tries: 10,
|
10
|
+
default_selector: 'body',
|
11
|
+
output: { enabled: true, started: ?>, step: ?. }
|
12
|
+
}
|
13
|
+
def initialize(rspec_config, opts = {})
|
14
|
+
rspec_config.include Swat::Capybara::PrintHelper
|
15
|
+
rspec_config.include Swat::Capybara::Helpers, type: :feature
|
16
|
+
rspec_config.extend Swat::Capybara::RspecSetup
|
17
|
+
@options = DEFAULT_OPTIONS.merge opts
|
18
|
+
@options[:output] = DEFAULT_OPTIONS[:output].merge(opts[:output] || {})
|
19
|
+
end
|
20
|
+
|
21
|
+
def options
|
22
|
+
@options
|
23
|
+
end
|
24
|
+
|
25
|
+
def default_pause
|
26
|
+
options[:default_pause]
|
27
|
+
end
|
28
|
+
|
29
|
+
def default_selector
|
30
|
+
options[:default_selector]
|
31
|
+
end
|
32
|
+
|
33
|
+
def min_pause
|
34
|
+
options[:min_pause]
|
35
|
+
end
|
36
|
+
|
37
|
+
def tries
|
38
|
+
options[:tries]
|
39
|
+
end
|
40
|
+
|
41
|
+
def output
|
42
|
+
options[:output] || {}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Swat
|
2
|
+
module Capybara
|
3
|
+
module Exceptions
|
4
|
+
|
5
|
+
class SwatException < RuntimeError
|
6
|
+
MESSAGE = 'Swat Error'
|
7
|
+
def initialize(*args)
|
8
|
+
@args = args
|
9
|
+
super(message(*args))
|
10
|
+
end
|
11
|
+
|
12
|
+
def message
|
13
|
+
self.class::MESSAGE
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class ConditionIsNotMet < SwatException
|
18
|
+
MESSAGE = "Condition isn't met"
|
19
|
+
end
|
20
|
+
|
21
|
+
class ElementNotFound < SwatException
|
22
|
+
MESSAGE = 'Element not found'
|
23
|
+
end
|
24
|
+
|
25
|
+
class ElementFound < SwatException
|
26
|
+
MESSAGE = "Element shouldn't appear on page"
|
27
|
+
end
|
28
|
+
|
29
|
+
class TextNotFound < SwatException
|
30
|
+
MESSAGE = 'Text not found'
|
31
|
+
end
|
32
|
+
|
33
|
+
class TextWasFound < SwatException
|
34
|
+
MESSAGE = 'Text was found'
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,138 @@
|
|
1
|
+
require 'swat/capybara/exceptions'
|
2
|
+
require 'swat/capybara/colorize'
|
3
|
+
|
4
|
+
module Swat
|
5
|
+
module Capybara
|
6
|
+
module Helpers
|
7
|
+
include Capybara::Exceptions
|
8
|
+
|
9
|
+
def pause(seconds = Capybara.config.default_pause)
|
10
|
+
sleep seconds
|
11
|
+
end
|
12
|
+
|
13
|
+
def explain_step(message)
|
14
|
+
swc_print "\n - #{message.blue}"
|
15
|
+
@swc_step ||= 1
|
16
|
+
yield() if block_given?
|
17
|
+
@swc_step += 1
|
18
|
+
rescue Exception => ex
|
19
|
+
print_exception(ex)
|
20
|
+
raise_again = !ENV['SWAT_STOP_FAIL']
|
21
|
+
binding.pry if (ENV['FPRY'] || ENV['SWAT_DBG'])
|
22
|
+
raise ex if raise_again
|
23
|
+
end
|
24
|
+
|
25
|
+
def print_exception(ex)
|
26
|
+
swc_print "\n#{ex.message.red}\n"
|
27
|
+
ex.backtrace.select{|l|l.to_s.include?(Rails.root.to_s)}.map(&:red).each do |line|
|
28
|
+
swc_print "\n#{line.red}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
alias_method :step, :explain_step
|
33
|
+
|
34
|
+
def check_condition(tries = Capybara.config.tries)
|
35
|
+
res = wait_for_condition(tries) do
|
36
|
+
!!yield()
|
37
|
+
end
|
38
|
+
raise ConditionIsNotMet unless res
|
39
|
+
end
|
40
|
+
|
41
|
+
def check_presence(*args)
|
42
|
+
wait_for_condition do
|
43
|
+
all(*args).count > 0
|
44
|
+
end
|
45
|
+
raise ElementNotFound unless all(*args).count > 0
|
46
|
+
end
|
47
|
+
|
48
|
+
def check_absence(*args)
|
49
|
+
wait_for_condition do
|
50
|
+
all(*args).count == 0
|
51
|
+
end
|
52
|
+
raise ElementFound unless all(*args).count == 0
|
53
|
+
end
|
54
|
+
|
55
|
+
def safe_click(*args)
|
56
|
+
safe_find(*args).click
|
57
|
+
end
|
58
|
+
|
59
|
+
def safe_find(*args)
|
60
|
+
wait_for_condition do
|
61
|
+
all(*args).count == 1
|
62
|
+
end
|
63
|
+
find(*args)
|
64
|
+
end
|
65
|
+
|
66
|
+
def safe_find_all(*args)
|
67
|
+
res = wait_for_condition do
|
68
|
+
all(*args).count > 0
|
69
|
+
end
|
70
|
+
print_failed_args(res, args)
|
71
|
+
all(*args)
|
72
|
+
end
|
73
|
+
|
74
|
+
def click_by_text(text, tag='span')
|
75
|
+
safe_click(tag, text: text)
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
def check_text(text, selector=Capybara.config.default_selector, tries=Capybara.config.tries)
|
80
|
+
result = nil
|
81
|
+
wait_for_condition(tries) do
|
82
|
+
container = safe_find(selector)
|
83
|
+
local_text = container.text
|
84
|
+
result = Hash[
|
85
|
+
[ text ].flatten.map do |word|
|
86
|
+
[ word, local_text.include?(word) ]
|
87
|
+
end
|
88
|
+
]
|
89
|
+
result.values.all?{|v|v}
|
90
|
+
end
|
91
|
+
result.each do |k,v|
|
92
|
+
print_failed_args(v, [text, selector], "\nText '#{k}' NOT found") unless v
|
93
|
+
end
|
94
|
+
raise TextNotFound unless result.values.all?{|v|v}
|
95
|
+
true
|
96
|
+
end
|
97
|
+
|
98
|
+
def check_no_text(text, selector=Capybara.config.default_selector, tries=Capybara.config.tries)
|
99
|
+
result = nil
|
100
|
+
wait_for_condition(tries) do
|
101
|
+
container = safe_find(selector)
|
102
|
+
result = Hash[
|
103
|
+
[ text ].flatten.map do |word|
|
104
|
+
[ word, !container.text.include?(word) ]
|
105
|
+
end
|
106
|
+
]
|
107
|
+
result.values.all?{|v|v}
|
108
|
+
end
|
109
|
+
result.each do |k,v|
|
110
|
+
print_failed_args(v, [text, selector], "\nText '#{k}' WAS found") unless v
|
111
|
+
end
|
112
|
+
raise TextWasFound unless result.values.all?{|v|v}
|
113
|
+
true
|
114
|
+
end
|
115
|
+
|
116
|
+
def wait_for_condition(tries = Capybara.config.tries, &condition)
|
117
|
+
swc_print Capybara.config.output[:started]
|
118
|
+
tries.times do
|
119
|
+
swc_print Capybara.config.output[:step]
|
120
|
+
result = condition.()
|
121
|
+
return result if result
|
122
|
+
sleep(Capybara.config.min_pause)
|
123
|
+
false
|
124
|
+
end
|
125
|
+
swc_puts "Failed: #{condition.to_source.red}" rescue nil
|
126
|
+
result = ENV['SWAT_STOP_FAIL'] || false
|
127
|
+
binding.pry if (ENV['FPRY'] || ENV['SWAT_DBG'])
|
128
|
+
result
|
129
|
+
end
|
130
|
+
|
131
|
+
def print_failed_args(res, args, message=nil)
|
132
|
+
swc_puts message.yellow if message
|
133
|
+
swc_puts " With args: [#{args*', '}]".red unless res
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Swat
|
2
|
+
module Capybara
|
3
|
+
module PrintHelper
|
4
|
+
|
5
|
+
def swc_puts *args
|
6
|
+
puts(*args) if Capybara.config.output[:enabled]
|
7
|
+
end
|
8
|
+
alias_method :demo_message, :swc_puts
|
9
|
+
alias_method :comment, :swc_puts
|
10
|
+
|
11
|
+
def swc_print *args
|
12
|
+
print(*args) if Capybara.config.output[:enabled]
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Swat
|
2
|
+
module Capybara
|
3
|
+
module RspecSetup
|
4
|
+
|
5
|
+
def init_capybara
|
6
|
+
before(:each) do |example|
|
7
|
+
type = example.metadata[:type] == :feature ? 'FEATURE' : 'TEST'
|
8
|
+
$swat_example = example
|
9
|
+
$swat_ctx = self
|
10
|
+
swc_puts "\n#{ "[#{type}] " + example.description }".yellow if example.metadata[:type]
|
11
|
+
end
|
12
|
+
|
13
|
+
after(:each) do |example|
|
14
|
+
if example.metadata[:type]
|
15
|
+
if example.exception.nil?
|
16
|
+
swc_puts "\n[PASSED] #{ example.description }".green
|
17
|
+
else
|
18
|
+
swc_puts "\n[FAILED] #{ example.description }".red
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def require_specific_helper(current_file, context)
|
24
|
+
parts = current_file.split('/')
|
25
|
+
parts[-1] = 'specific_helper'
|
26
|
+
path = parts*'/'
|
27
|
+
require path
|
28
|
+
context.extend SpecificHelper
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: sw2at-capybara 0.0.1 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "sw2at-capybara"
|
9
|
+
s.version = "0.0.1"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.authors = ["Vitaly Tarasenko"]
|
14
|
+
s.date = "2015-06-21"
|
15
|
+
s.description = " Gem helps to create capybara tests for pages with a very dynamic content. "
|
16
|
+
s.email = "vetal.tarasenko@gmail.com"
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"LICENSE.txt",
|
19
|
+
"README.rdoc"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".document",
|
23
|
+
"Gemfile",
|
24
|
+
"LICENSE.txt",
|
25
|
+
"README.rdoc",
|
26
|
+
"Rakefile",
|
27
|
+
"VERSION",
|
28
|
+
"lib/sw2at-capybara.rb",
|
29
|
+
"lib/swat/capybara/colorize.rb",
|
30
|
+
"lib/swat/capybara/config.rb",
|
31
|
+
"lib/swat/capybara/exceptions.rb",
|
32
|
+
"lib/swat/capybara/helpers.rb",
|
33
|
+
"lib/swat/capybara/print_helper.rb",
|
34
|
+
"lib/swat/capybara/rspec_setup.rb",
|
35
|
+
"sw2at-capybara.gemspec"
|
36
|
+
]
|
37
|
+
s.homepage = "http://github.com/tw4qa/sw2at-capybara"
|
38
|
+
s.licenses = ["MIT"]
|
39
|
+
s.rubygems_version = "2.2.2"
|
40
|
+
s.summary = "Extension to capybara."
|
41
|
+
|
42
|
+
if s.respond_to? :specification_version then
|
43
|
+
s.specification_version = 4
|
44
|
+
|
45
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
46
|
+
s.add_runtime_dependency(%q<rspec>, [">= 0"])
|
47
|
+
s.add_runtime_dependency(%q<sourcify>, [">= 0"])
|
48
|
+
s.add_runtime_dependency(%q<capybara>, [">= 2.2.0"])
|
49
|
+
s.add_runtime_dependency(%q<selenium-webdriver>, [">= 2.43.0"])
|
50
|
+
s.add_runtime_dependency(%q<pry>, ["~> 0.10.1"])
|
51
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
53
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
54
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
55
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
56
|
+
else
|
57
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
58
|
+
s.add_dependency(%q<sourcify>, [">= 0"])
|
59
|
+
s.add_dependency(%q<capybara>, [">= 2.2.0"])
|
60
|
+
s.add_dependency(%q<selenium-webdriver>, [">= 2.43.0"])
|
61
|
+
s.add_dependency(%q<pry>, ["~> 0.10.1"])
|
62
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
63
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
64
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
65
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
66
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
67
|
+
end
|
68
|
+
else
|
69
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
70
|
+
s.add_dependency(%q<sourcify>, [">= 0"])
|
71
|
+
s.add_dependency(%q<capybara>, [">= 2.2.0"])
|
72
|
+
s.add_dependency(%q<selenium-webdriver>, [">= 2.43.0"])
|
73
|
+
s.add_dependency(%q<pry>, ["~> 0.10.1"])
|
74
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
75
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
76
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
77
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
78
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
metadata
ADDED
@@ -0,0 +1,200 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sw2at-capybara
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Vitaly Tarasenko
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-06-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sourcify
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: capybara
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.2.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.2.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: selenium-webdriver
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.43.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.43.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.10.1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.10.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: shoulda
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rdoc
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.12'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.12'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: bundler
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: jeweler
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.0.1
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.0.1
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: " Gem helps to create capybara tests for pages with a very dynamic content.
|
154
|
+
\ "
|
155
|
+
email: vetal.tarasenko@gmail.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files:
|
159
|
+
- LICENSE.txt
|
160
|
+
- README.rdoc
|
161
|
+
files:
|
162
|
+
- ".document"
|
163
|
+
- Gemfile
|
164
|
+
- LICENSE.txt
|
165
|
+
- README.rdoc
|
166
|
+
- Rakefile
|
167
|
+
- VERSION
|
168
|
+
- lib/sw2at-capybara.rb
|
169
|
+
- lib/swat/capybara/colorize.rb
|
170
|
+
- lib/swat/capybara/config.rb
|
171
|
+
- lib/swat/capybara/exceptions.rb
|
172
|
+
- lib/swat/capybara/helpers.rb
|
173
|
+
- lib/swat/capybara/print_helper.rb
|
174
|
+
- lib/swat/capybara/rspec_setup.rb
|
175
|
+
- sw2at-capybara.gemspec
|
176
|
+
homepage: http://github.com/tw4qa/sw2at-capybara
|
177
|
+
licenses:
|
178
|
+
- MIT
|
179
|
+
metadata: {}
|
180
|
+
post_install_message:
|
181
|
+
rdoc_options: []
|
182
|
+
require_paths:
|
183
|
+
- lib
|
184
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '0'
|
194
|
+
requirements: []
|
195
|
+
rubyforge_project:
|
196
|
+
rubygems_version: 2.2.2
|
197
|
+
signing_key:
|
198
|
+
specification_version: 4
|
199
|
+
summary: Extension to capybara.
|
200
|
+
test_files: []
|