padrino 0.13.3.2 → 0.13.3.3
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/test/ext/minitest-spec.rb +0 -18
- data/test/padrino/test-methods.rb +55 -0
- metadata +18 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b7fbd5dce917ef5755f98ce35de3e65d46b54f8
|
4
|
+
data.tar.gz: 3eb8130a12322ac230f5a87a375fb11b49857449
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e096cb4b7b819a5f951617f2f9b0da49f2bad4b820c8a6f93f8ab725a083988c8d018f6aea3f033d0f4370fca55d8affd1739bd6c7429e53b02e5381d3c0c17
|
7
|
+
data.tar.gz: fc4448f9e4c05d4f0b040e945343abc09416052d9c2b9b011fa7e2c6a33fd45c9831509c2b1d817f45f05177245e51479c798b38712db51e607025cd8e950732
|
data/test/ext/minitest-spec.rb
CHANGED
@@ -1,22 +1,4 @@
|
|
1
1
|
class MiniTest::Spec
|
2
|
-
# assert_has_tag(:h1, :content => "yellow") { "<h1>yellow</h1>" }
|
3
|
-
# In this case, block is the html to evaluate
|
4
|
-
def assert_has_tag(name, attributes = {})
|
5
|
-
html = yield if block_given?
|
6
|
-
assert html.html_safe?, 'output in not #html_safe?'
|
7
|
-
matcher = HaveSelector.new(name, attributes)
|
8
|
-
assert matcher.matches?(html), matcher.failure_message
|
9
|
-
end
|
10
|
-
|
11
|
-
# assert_has_no_tag(:h1, :content => "yellow") { "<h1>green</h1>" }
|
12
|
-
# In this case, block is the html to evaluate
|
13
|
-
def assert_has_no_tag(name, attributes = {}, &block)
|
14
|
-
html = yield if block_given?
|
15
|
-
assert html.html_safe?, 'output in not #html_safe?'
|
16
|
-
matcher = HaveSelector.new(name, attributes)
|
17
|
-
assert !matcher.matches?(html), matcher.negative_failure_message
|
18
|
-
end
|
19
|
-
|
20
2
|
# Assert_file_exists('/tmp/app')
|
21
3
|
def assert_file_exists(file_path)
|
22
4
|
assert File.file?(file_path), "File at path '#{file_path}' does not exist!"
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'oga'
|
2
|
+
|
3
|
+
module Padrino
|
4
|
+
module TestMethods
|
5
|
+
def assert_html_has_tag(html, tag, attributes={})
|
6
|
+
assert html.html_safe?, 'output in not #html_safe?'
|
7
|
+
assert_has_selector(html, tag, attributes)
|
8
|
+
end
|
9
|
+
|
10
|
+
def assert_html_has_no_tag(html, tag, attributes={})
|
11
|
+
assert html.html_safe?, 'output in not #html_safe?'
|
12
|
+
assert_has_no_selector(html, tag, attributes)
|
13
|
+
end
|
14
|
+
|
15
|
+
def assert_response_has_tag(tag, attributes={})
|
16
|
+
assert_has_selector(last_response.body, tag, attributes)
|
17
|
+
end
|
18
|
+
|
19
|
+
def assert_response_has_no_tag(tag, attributes={})
|
20
|
+
assert_has_no_selector(last_response.body, tag, attributes)
|
21
|
+
end
|
22
|
+
|
23
|
+
def assert_has_selector(html, selector, attributes)
|
24
|
+
count_requirement = attributes.delete(:count)
|
25
|
+
message = "'#{selector}' with attributes #{attributes} in html\n#{html}"
|
26
|
+
matched_count = html_matched_tags(html, selector.to_s, attributes)
|
27
|
+
if count_requirement
|
28
|
+
assert_equal count_requirement, matched_count, "count of tags #{message}"
|
29
|
+
else
|
30
|
+
assert matched_count > 0, "expected a tag #{message}"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def assert_has_no_selector(html, selector, attributes)
|
35
|
+
message = "'#{selector}' with attributes #{attributes} in html\n#{html}"
|
36
|
+
matched_count = html_matched_tags(html, selector.to_s, attributes)
|
37
|
+
assert matched_count == 0, "expected no tags #{message}"
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def html_matched_tags(html, selector, attributes)
|
43
|
+
@dom ||= Oga.parse_html(html)
|
44
|
+
content_requirement = attributes.delete(:content)
|
45
|
+
attributes.each do |name, value|
|
46
|
+
selector += %{[#{name}="#{value}"]}
|
47
|
+
end
|
48
|
+
tags = @dom.css(selector.to_s.gsub(/\[([^"']*?)=([^'"]*?)\]/, '[\1="\2"]'))
|
49
|
+
if content_requirement
|
50
|
+
tags = tags.select{ |tag| (tag.get('content') || tag.text).index(content_requirement) }
|
51
|
+
end
|
52
|
+
tags.count
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.3.
|
4
|
+
version: 0.13.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-11-02 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: padrino-support
|
@@ -19,98 +19,98 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.13.3.
|
22
|
+
version: 0.13.3.3
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.13.3.
|
29
|
+
version: 0.13.3.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: padrino-core
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
34
|
- - '='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 0.13.3.
|
36
|
+
version: 0.13.3.3
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - '='
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.13.3.
|
43
|
+
version: 0.13.3.3
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: padrino-helpers
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
48
|
- - '='
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.13.3.
|
50
|
+
version: 0.13.3.3
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - '='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 0.13.3.
|
57
|
+
version: 0.13.3.3
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: padrino-cache
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - '='
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.13.3.
|
64
|
+
version: 0.13.3.3
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - '='
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0.13.3.
|
71
|
+
version: 0.13.3.3
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: padrino-mailer
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
76
|
- - '='
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.13.3.
|
78
|
+
version: 0.13.3.3
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
83
|
- - '='
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0.13.3.
|
85
|
+
version: 0.13.3.3
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: padrino-gen
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
90
|
- - '='
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.13.3.
|
92
|
+
version: 0.13.3.3
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
97
|
- - '='
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: 0.13.3.
|
99
|
+
version: 0.13.3.3
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: padrino-admin
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
104
|
- - '='
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: 0.13.3.
|
106
|
+
version: 0.13.3.3
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
111
|
- - '='
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version: 0.13.3.
|
113
|
+
version: 0.13.3.3
|
114
114
|
description: The Godfather of Sinatra provides a full-stack agnostic framework on
|
115
115
|
top of Sinatra
|
116
116
|
email: padrinorb@gmail.com
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- subgems.rb
|
131
131
|
- test/ext/minitest-spec.rb
|
132
132
|
- test/ext/rack-test-methods.rb
|
133
|
+
- test/padrino/test-methods.rb
|
133
134
|
- test/test_padrino.rb
|
134
135
|
homepage: http://www.padrinorb.com
|
135
136
|
licenses:
|
@@ -152,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
153
|
version: 1.3.6
|
153
154
|
requirements: []
|
154
155
|
rubyforge_project: padrino
|
155
|
-
rubygems_version: 2.
|
156
|
+
rubygems_version: 2.6.6
|
156
157
|
signing_key:
|
157
158
|
specification_version: 4
|
158
159
|
summary: The Godfather of Sinatra
|