hermes 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +11 -2
- data/lib/hermes.rb +0 -1
- data/lib/hermes/actions.rb +4 -8
- data/lib/hermes/assertions.rb +6 -0
- data/lib/hermes/builders.rb +11 -7
- data/lib/hermes/integration_case.rb +1 -2
- data/lib/hermes/perf/scrub.rb +3 -3
- data/lib/hermes/version.rb +2 -2
- data/test/hermes/actions_test.rb +2 -2
- data/test/hermes/assertions_test.rb +8 -17
- data/test/hermes/builders_test.rb +4 -0
- data/test/rails_app/app/controllers/users_controller.rb +7 -1
- data/test/rails_app/app/models/user.rb +0 -1
- data/test/rails_app/config/environments/development.rb +2 -3
- data/test/rails_app/config/environments/production.rb +2 -0
- data/test/rails_app/config/environments/test.rb +2 -3
- data/test/rails_app/config/initializers/secret_token.rb +6 -1
- data/test/test_helper.rb +3 -0
- metadata +57 -22
- data/lib/hermes/scopes.rb +0 -32
- data/test/hermes/scopes_test.rb +0 -47
- data/test/rails_app/log/test.log +0 -13792
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5f19fa4dfd6cb0dcbbf56afd43753ea94608bfc3
|
4
|
+
data.tar.gz: 300bb3a223a40139e27fa9f181a0828cf938facc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 32576daed8c2a3dcf369b4a8f2af41ed64156f1a31ff7c28d3090ebd59b367dae31df3bcb3246f17ce37b87aa992dc0b3e28a2aad26187dd6b6269a90e5de164
|
7
|
+
data.tar.gz: dbf442c93afe4441b543b407eccbe9fea2c7c2a36a694ba286808ac1b29e10b1afd8f46d1470bf02bab24617cc59968b8cb7b51c3826127f23a109eafc116a87
|
data/MIT-LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
A few testing facilities built on top of Capybara and ActiveSupport::TestCase.
|
4
4
|
|
5
|
-
Requires Rails >=
|
5
|
+
Requires Rails >= 4 and Capybara >= 2.2.
|
6
6
|
|
7
7
|
== TODO
|
8
8
|
|
@@ -12,6 +12,15 @@ Requires Rails >= 3.1 and Capybara >= 1.0.
|
|
12
12
|
|
13
13
|
Require perf optimization for your test suite with "hermes/perf"
|
14
14
|
|
15
|
+
== Capybara tips
|
16
|
+
|
17
|
+
We recommend adding this to `spec/support`:
|
18
|
+
|
19
|
+
Capybara.add_selector :record do
|
20
|
+
xpath { |record| XPath.css("#" + ActionView::RecordIdentifier.dom_id(record)) }
|
21
|
+
match { |record| record.is_a?(ActiveRecord::Base) }
|
22
|
+
end
|
23
|
+
|
15
24
|
== Bugs and Features
|
16
25
|
|
17
26
|
If you discover any bugs or add any features, please let us know using GitHub's tracker.
|
@@ -20,4 +29,4 @@ http://github.com/plataformatec/hermes/issues
|
|
20
29
|
|
21
30
|
== License
|
22
31
|
|
23
|
-
MIT License. Copyright 2011
|
32
|
+
MIT License. Copyright 2011 Plataformatec. http://blog.plataformatec.com.br
|
data/lib/hermes.rb
CHANGED
data/lib/hermes/actions.rb
CHANGED
@@ -40,11 +40,9 @@ module Hermes
|
|
40
40
|
|
41
41
|
def find_and_select_option(select_prefix, postfix, value)
|
42
42
|
full = "#{select_prefix}_#{postfix}"
|
43
|
-
no_select_msg = "cannot select option, no select box with id '#{full}' found"
|
44
|
-
no_option_msg = "cannot select option, no option with text '#{value}' in select box '#{full}'"
|
45
43
|
|
46
|
-
select = find(:css, "##{full}"
|
47
|
-
select.find(:xpath, ".//option[contains(./@value, '#{value}')]"
|
44
|
+
select = find(:css, "##{full}")
|
45
|
+
select.find(:xpath, ".//option[contains(./@value, '#{value}')]").select_option
|
48
46
|
end
|
49
47
|
|
50
48
|
def string_with_double_digits(number)
|
@@ -63,11 +61,9 @@ module Hermes
|
|
63
61
|
end
|
64
62
|
|
65
63
|
def find_prefix_by_label(label)
|
66
|
-
message = "cannot select option, select with label '#{label}' not found"
|
67
64
|
find(:xpath,
|
68
|
-
"//label[contains(normalize-space(string(.)), '#{label}')]
|
69
|
-
|
70
|
-
).text.sub(/_\di$/, '')
|
65
|
+
"//label[contains(normalize-space(string(.)), '#{label}')]"
|
66
|
+
)['for'].sub(/_\di$/, '')
|
71
67
|
end
|
72
68
|
end
|
73
69
|
end
|
data/lib/hermes/assertions.rb
CHANGED
data/lib/hermes/builders.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# Rails developers have had bad experience with fixtures
|
2
|
-
# due to
|
1
|
+
# Rails developers have had bad experience with fixtures for a long time
|
2
|
+
# due to misuse.
|
3
3
|
#
|
4
4
|
# This misuse of fixtures is often characterized by a huge ammount of
|
5
5
|
# fixtures, causing a lot of data to maintain and dependence between tests.
|
@@ -9,14 +9,14 @@
|
|
9
9
|
# An example of such tests is a test that assures a given SQL query with
|
10
10
|
# GROUP BY and ORDER BY conditions returns the correct result set. As expected,
|
11
11
|
# we need a huge amount of data in this test which we usually don't need in
|
12
|
-
#
|
12
|
+
# other tests.
|
13
13
|
#
|
14
14
|
# For such scenarios, factories are a fine solution. They won't clutter
|
15
15
|
# all your database since they are created for these specific tests and they
|
16
16
|
# are also easier to maintain.
|
17
17
|
#
|
18
18
|
# I believe this was the primary reason for the Rails community to strongly
|
19
|
-
# adopt factories builders as we saw in the
|
19
|
+
# adopt factories builders as we saw in the last years.
|
20
20
|
#
|
21
21
|
# However, factories are also misused. It is common to see people creating
|
22
22
|
# a huge amount of data with factories before each test in their integration
|
@@ -105,7 +105,11 @@ module Hermes
|
|
105
105
|
if builder = @@builders[name.to_sym]
|
106
106
|
klass, block = builder
|
107
107
|
|
108
|
-
hash =
|
108
|
+
hash = if block
|
109
|
+
scope.instance_exec(&block)
|
110
|
+
else
|
111
|
+
{}
|
112
|
+
end
|
109
113
|
hash.symbolize_keys!
|
110
114
|
hash.merge!(options || {})
|
111
115
|
hash.delete(:id)
|
@@ -123,7 +127,7 @@ module Hermes
|
|
123
127
|
end
|
124
128
|
end
|
125
129
|
|
126
|
-
def respond_to?(method)
|
130
|
+
def respond_to?(method, include_private=false)
|
127
131
|
case method.to_s
|
128
132
|
when BUILDER_REGEX
|
129
133
|
Builders.has_builder?($2)
|
@@ -140,7 +144,7 @@ module Hermes
|
|
140
144
|
return super unless Builders.has_builder?($2)
|
141
145
|
klass, hash = Builders.retrieve(self, $2, method, args.first)
|
142
146
|
object = klass.new
|
143
|
-
object.assign_attributes hash
|
147
|
+
object.assign_attributes hash
|
144
148
|
object.send("save#{$3}") if $1 == "create"
|
145
149
|
object
|
146
150
|
when ATTRIBUTES_REGEX
|
@@ -1,13 +1,12 @@
|
|
1
1
|
class Hermes::IntegrationCase < ActiveSupport::TestCase
|
2
2
|
include Capybara::DSL
|
3
|
-
include
|
3
|
+
include ActionView::RecordIdentifier
|
4
4
|
include Rails.application.routes.url_helpers
|
5
5
|
|
6
6
|
extend Hermes::Context
|
7
7
|
|
8
8
|
include Hermes::Assertions
|
9
9
|
include Hermes::Actions
|
10
|
-
include Hermes::Scopes
|
11
10
|
include Hermes::Builders
|
12
11
|
|
13
12
|
teardown { Capybara.reset_sessions! }
|
data/lib/hermes/perf/scrub.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# Scrub instance variables as in
|
2
2
|
# http://37signals.com/svn/posts/2742-the-road-to-faster-tests
|
3
3
|
|
4
|
-
ActiveSupport::TestCase
|
4
|
+
class ActiveSupport::TestCase
|
5
5
|
teardown :scrub_instance_variables
|
6
6
|
|
7
7
|
@@reserved_ivars = %w(@loaded_fixtures @test_passed @fixture_cache @method_name @_assertion_wrapped @_result)
|
8
8
|
|
9
9
|
def scrub_instance_variables
|
10
|
-
(
|
10
|
+
(instance_variable_names - @@reserved_ivars).each do |ivar|
|
11
11
|
instance_variable_set(ivar, nil)
|
12
12
|
end
|
13
13
|
end
|
14
|
-
end
|
14
|
+
end
|
data/lib/hermes/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Hermes
|
2
|
-
VERSION = "0.
|
3
|
-
end
|
2
|
+
VERSION = "0.6.0".freeze
|
3
|
+
end
|
data/test/hermes/actions_test.rb
CHANGED
@@ -95,7 +95,7 @@ class ActionsTest < Hermes::IntegrationCase
|
|
95
95
|
end
|
96
96
|
|
97
97
|
test "select date and time didn't find the label" do
|
98
|
-
msg =
|
98
|
+
msg = %Q(Unable to find xpath "//label[contains(normalize-space(string(.)), 'Unexistant')]")
|
99
99
|
visit '/users/new'
|
100
100
|
assert_raise_with_message Capybara::ElementNotFound, msg do
|
101
101
|
select_datetime(Time.current, :from => 'Unexistant')
|
@@ -103,7 +103,7 @@ class ActionsTest < Hermes::IntegrationCase
|
|
103
103
|
end
|
104
104
|
|
105
105
|
test "select date and time didn't find the id prefix" do
|
106
|
-
msg =
|
106
|
+
msg = 'Unable to find css "#unexistant_4i"'
|
107
107
|
visit '/users/new'
|
108
108
|
assert_raise_with_message Capybara::ElementNotFound, msg do
|
109
109
|
select_datetime(Time.current, :id_prefix => 'unexistant')
|
@@ -13,7 +13,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
13
13
|
end
|
14
14
|
|
15
15
|
test 'refuse different path' do
|
16
|
-
msg = %Q(
|
16
|
+
msg = %Q(Expected: "/not_a_valid_path"\n Actual: "/users")
|
17
17
|
|
18
18
|
assert_failure(msg) do
|
19
19
|
assert_current_path '/not_a_valid_path'
|
@@ -27,15 +27,14 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
27
27
|
end
|
28
28
|
|
29
29
|
test 'assert difference exists on click button' do
|
30
|
-
fill_in
|
30
|
+
fill_in 'Name', :with => 'User'
|
31
31
|
assert_difference_on_click_button('Submit', 'User.count')
|
32
32
|
end
|
33
33
|
|
34
34
|
test "refuse if difference doesn't exist" do
|
35
35
|
# There's already a user in fixtures
|
36
36
|
msg = "\"User.count\" didn't change by 1.\n" <<
|
37
|
-
"
|
38
|
-
"<1>."
|
37
|
+
"Expected: 2\n Actual: 1"
|
39
38
|
|
40
39
|
assert_failure msg do
|
41
40
|
assert_difference_on_click_button('Submit', 'User.count')
|
@@ -53,8 +52,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
53
52
|
|
54
53
|
test "refuse if difference doesn't exist" do
|
55
54
|
msg = "\"User.blocked.count\" didn't change by 1.\n" <<
|
56
|
-
"
|
57
|
-
"<0>."
|
55
|
+
"Expected: 1\n Actual: 0"
|
58
56
|
|
59
57
|
create_user
|
60
58
|
visit '/users'
|
@@ -380,7 +378,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
380
378
|
test 'assert_table on success' do
|
381
379
|
visit '/users/new'
|
382
380
|
|
383
|
-
assert_table "Useless Table"
|
381
|
+
assert_table "Useless Table"
|
384
382
|
end
|
385
383
|
|
386
384
|
test 'refuse table that does not exist' do
|
@@ -407,7 +405,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
407
405
|
visit '/users/new'
|
408
406
|
|
409
407
|
assert_failure(/Expected to have no table/) do
|
410
|
-
assert_no_table "Useless Table"
|
408
|
+
assert_no_table "Useless Table"
|
411
409
|
end
|
412
410
|
end
|
413
411
|
end
|
@@ -425,7 +423,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
425
423
|
|
426
424
|
test 'refuse verification with different deliveries' do
|
427
425
|
msg = %Q("ActionMailer::Base.deliveries.size" didn't change by 1.\n) <<
|
428
|
-
"
|
426
|
+
"Expected: 1\n Actual: 2"
|
429
427
|
|
430
428
|
assert_failure(msg) do
|
431
429
|
assert_mail_deliveries do
|
@@ -442,7 +440,7 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
442
440
|
|
443
441
|
test 'refuse verification with custom size' do
|
444
442
|
msg = %Q("ActionMailer::Base.deliveries.size" didn't change by 2.\n) <<
|
445
|
-
"
|
443
|
+
"Expected: 2\n Actual: 3"
|
446
444
|
|
447
445
|
assert_failure(msg) do
|
448
446
|
assert_mail_deliveries(2) do
|
@@ -485,11 +483,4 @@ class AssertionsTest < Hermes::IntegrationCase
|
|
485
483
|
def random_string(length=20)
|
486
484
|
Array.new(length) { rand(36).to_s(36) }.join
|
487
485
|
end
|
488
|
-
|
489
|
-
def table_rows
|
490
|
-
[
|
491
|
-
['Cuba Pete', 'King of the Ramba beat'],
|
492
|
-
['Lou Bega', 'Mambo No. 5']
|
493
|
-
]
|
494
|
-
end
|
495
486
|
end
|
@@ -56,6 +56,10 @@ class BuildersTest < Hermes::IntegrationCase
|
|
56
56
|
assert respond_to?(:create_user)
|
57
57
|
end
|
58
58
|
|
59
|
+
test 'respond_to accepts include_private argument' do
|
60
|
+
assert !respond_to?(:not_existing_method, true)
|
61
|
+
end
|
62
|
+
|
59
63
|
test 'blocks are lazily evaluated' do
|
60
64
|
user = new_user
|
61
65
|
assert_not_equal user.counter, new_user.counter
|
@@ -10,7 +10,7 @@ class UsersController < ApplicationController
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def create
|
13
|
-
User.create(
|
13
|
+
User.create(user_params)
|
14
14
|
redirect_to users_path
|
15
15
|
end
|
16
16
|
|
@@ -20,4 +20,10 @@ class UsersController < ApplicationController
|
|
20
20
|
|
21
21
|
redirect_to users_path
|
22
22
|
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def user_params
|
27
|
+
params.require(:user).permit([:name, :active_at])
|
28
|
+
end
|
23
29
|
end
|
@@ -1,14 +1,13 @@
|
|
1
1
|
RailsApp::Application.configure do
|
2
2
|
# Settings specified here will take precedence over those in config/application.rb
|
3
3
|
|
4
|
+
config.eager_load = false
|
5
|
+
|
4
6
|
# In the development environment your application's code is reloaded on
|
5
7
|
# every request. This slows down response time but is perfect for development
|
6
8
|
# since you don't have to restart the webserver when you make code changes.
|
7
9
|
config.cache_classes = false
|
8
10
|
|
9
|
-
# Log error messages when you accidentally call methods on nil.
|
10
|
-
config.whiny_nils = true
|
11
|
-
|
12
11
|
# Show full error reports and disable caching
|
13
12
|
config.consider_all_requests_local = true
|
14
13
|
config.action_view.debug_rjs = true
|
@@ -1,6 +1,8 @@
|
|
1
1
|
RailsApp::Application.configure do
|
2
2
|
# Settings specified here will take precedence over those in config/application.rb
|
3
3
|
|
4
|
+
config.eager_load = true
|
5
|
+
|
4
6
|
# The production environment is meant for finished, "live" apps.
|
5
7
|
# Code is not reloaded between requests
|
6
8
|
config.cache_classes = true
|
@@ -1,15 +1,14 @@
|
|
1
1
|
RailsApp::Application.configure do
|
2
2
|
# Settings specified here will take precedence over those in config/application.rb
|
3
3
|
|
4
|
+
config.eager_load = false
|
5
|
+
|
4
6
|
# The test environment is used exclusively to run your application's
|
5
7
|
# test suite. You never need to work with it otherwise. Remember that
|
6
8
|
# your test database is "scratch space" for the test suite and is wiped
|
7
9
|
# and recreated between test runs. Don't rely on the data there!
|
8
10
|
config.cache_classes = true
|
9
11
|
|
10
|
-
# Log error messages when you accidentally call methods on nil.
|
11
|
-
config.whiny_nils = true
|
12
|
-
|
13
12
|
# Show full error reports and disable caching
|
14
13
|
config.consider_all_requests_local = true
|
15
14
|
config.action_controller.perform_caching = false
|
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
# Your secret key for verifying the integrity of signed cookies.
|
4
4
|
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
|
5
6
|
# Make sure the secret is at least 30 characters and all random,
|
6
7
|
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
-
|
8
|
+
# You can use `rake secret` to generate a secure secret key.
|
9
|
+
|
10
|
+
# Make sure your secret_key_base is kept private
|
11
|
+
# if you're sharing your code publicly.
|
12
|
+
RailsApp::Application.config.secret_key_base = '968ef21e70ebd681a0391ca5175ef3de7ee0ed8a1e25d86b7473e6191a1734edebdc93f530243b6883096d74cc8b27b225a6e720d306bf42aec8b16212743b1d'
|
data/test/test_helper.rb
CHANGED
@@ -17,6 +17,7 @@ ActiveRecord::Migrator.migrate File.expand_path("../rails_app/db/migrate/", __FI
|
|
17
17
|
require "capybara/rails"
|
18
18
|
Capybara.default_driver = :rack_test
|
19
19
|
Capybara.default_selector = :css
|
20
|
+
Capybara.match = :prefer_exact
|
20
21
|
|
21
22
|
require 'rails/test_help'
|
22
23
|
require 'active_support/test_case'
|
@@ -31,3 +32,5 @@ require 'support/assertions'
|
|
31
32
|
require 'builders'
|
32
33
|
|
33
34
|
ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures/", __FILE__)
|
35
|
+
|
36
|
+
I18n.enforce_available_locales = true
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hermes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- José Valim
|
@@ -10,8 +9,50 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
14
|
-
dependencies:
|
12
|
+
date: 2014-01-31 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: actionpack
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '4.0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '4.0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: activesupport
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '4.0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '4.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: capybara
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '2.2'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '2.2'
|
15
56
|
description: A few testing facilities built on top of Capybara and ActiveSupport::TestCase
|
16
57
|
email:
|
17
58
|
- developers@plataformatec.com.br
|
@@ -20,27 +61,26 @@ extensions: []
|
|
20
61
|
extra_rdoc_files:
|
21
62
|
- README.rdoc
|
22
63
|
files:
|
64
|
+
- MIT-LICENSE
|
65
|
+
- README.rdoc
|
66
|
+
- lib/hermes.rb
|
23
67
|
- lib/hermes/actions.rb
|
24
68
|
- lib/hermes/assertions.rb
|
25
69
|
- lib/hermes/builders.rb
|
26
70
|
- lib/hermes/context.rb
|
27
71
|
- lib/hermes/integration_case.rb
|
72
|
+
- lib/hermes/perf.rb
|
28
73
|
- lib/hermes/perf/scrub.rb
|
29
74
|
- lib/hermes/perf/shared_connection.rb
|
30
|
-
- lib/hermes/perf.rb
|
31
75
|
- lib/hermes/rails.rb
|
32
|
-
- lib/hermes/scopes.rb
|
33
76
|
- lib/hermes/version.rb
|
34
|
-
- lib/hermes.rb
|
35
|
-
- README.rdoc
|
36
|
-
- MIT-LICENSE
|
37
77
|
- test/builders.rb
|
38
78
|
- test/fixtures/users.yml
|
39
79
|
- test/hermes/actions_test.rb
|
40
80
|
- test/hermes/assertions_test.rb
|
41
81
|
- test/hermes/builders_test.rb
|
42
82
|
- test/hermes/context_test.rb
|
43
|
-
- test/
|
83
|
+
- test/rails_app/Rakefile
|
44
84
|
- test/rails_app/app/controllers/application_controller.rb
|
45
85
|
- test/rails_app/app/controllers/users_controller.rb
|
46
86
|
- test/rails_app/app/helpers/application_helper.rb
|
@@ -48,6 +88,7 @@ files:
|
|
48
88
|
- test/rails_app/app/views/layouts/application.html.erb
|
49
89
|
- test/rails_app/app/views/users/index.html.erb
|
50
90
|
- test/rails_app/app/views/users/new.html.erb
|
91
|
+
- test/rails_app/config.ru
|
51
92
|
- test/rails_app/config/application.rb
|
52
93
|
- test/rails_app/config/boot.rb
|
53
94
|
- test/rails_app/config/database.yml
|
@@ -62,13 +103,11 @@ files:
|
|
62
103
|
- test/rails_app/config/initializers/session_store.rb
|
63
104
|
- test/rails_app/config/locales/en.yml
|
64
105
|
- test/rails_app/config/routes.rb
|
65
|
-
- test/rails_app/config.ru
|
66
106
|
- test/rails_app/db/migrate/20110228170406_create_users.rb
|
67
107
|
- test/rails_app/db/schema.rb
|
68
108
|
- test/rails_app/log/development.log
|
69
109
|
- test/rails_app/log/production.log
|
70
110
|
- test/rails_app/log/server.log
|
71
|
-
- test/rails_app/log/test.log
|
72
111
|
- test/rails_app/public/404.html
|
73
112
|
- test/rails_app/public/422.html
|
74
113
|
- test/rails_app/public/500.html
|
@@ -79,36 +118,34 @@ files:
|
|
79
118
|
- test/rails_app/public/javascripts/effects.js
|
80
119
|
- test/rails_app/public/javascripts/prototype.js
|
81
120
|
- test/rails_app/public/javascripts/rails.js
|
82
|
-
- test/rails_app/Rakefile
|
83
121
|
- test/rails_app/script/rails
|
84
122
|
- test/support/assertions.rb
|
85
123
|
- test/support/models.rb
|
86
124
|
- test/test_helper.rb
|
87
125
|
homepage: http://github.com/plataformatec/hermes
|
88
126
|
licenses: []
|
127
|
+
metadata: {}
|
89
128
|
post_install_message:
|
90
129
|
rdoc_options:
|
91
|
-
- --main
|
130
|
+
- "--main"
|
92
131
|
- README.rdoc
|
93
132
|
require_paths:
|
94
133
|
- lib
|
95
134
|
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
135
|
requirements:
|
98
|
-
- -
|
136
|
+
- - ">="
|
99
137
|
- !ruby/object:Gem::Version
|
100
138
|
version: '0'
|
101
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
140
|
requirements:
|
104
|
-
- -
|
141
|
+
- - ">="
|
105
142
|
- !ruby/object:Gem::Version
|
106
143
|
version: '0'
|
107
144
|
requirements: []
|
108
145
|
rubyforge_project: hermes
|
109
|
-
rubygems_version:
|
146
|
+
rubygems_version: 2.2.0
|
110
147
|
signing_key:
|
111
|
-
specification_version:
|
148
|
+
specification_version: 4
|
112
149
|
summary: A few testing facilities built on top of Capybara and ActiveSupport::TestCase
|
113
150
|
test_files:
|
114
151
|
- test/builders.rb
|
@@ -117,7 +154,6 @@ test_files:
|
|
117
154
|
- test/hermes/assertions_test.rb
|
118
155
|
- test/hermes/builders_test.rb
|
119
156
|
- test/hermes/context_test.rb
|
120
|
-
- test/hermes/scopes_test.rb
|
121
157
|
- test/rails_app/app/controllers/application_controller.rb
|
122
158
|
- test/rails_app/app/controllers/users_controller.rb
|
123
159
|
- test/rails_app/app/helpers/application_helper.rb
|
@@ -145,7 +181,6 @@ test_files:
|
|
145
181
|
- test/rails_app/log/development.log
|
146
182
|
- test/rails_app/log/production.log
|
147
183
|
- test/rails_app/log/server.log
|
148
|
-
- test/rails_app/log/test.log
|
149
184
|
- test/rails_app/public/404.html
|
150
185
|
- test/rails_app/public/422.html
|
151
186
|
- test/rails_app/public/500.html
|