fotonauts-premailer 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,95 @@
1
+ # encoding: UTF-8
2
+ require File.expand_path(File.dirname(__FILE__)) + '/helper'
3
+
4
+ class TestWarnings < Premailer::TestCase
5
+ def test_element_warnings
6
+ html = <<END_HTML
7
+ <!DOCTYPE html>
8
+ <html>
9
+ <head><link rel="alternate" href="http://example.com/"></head>
10
+ <body>
11
+ <form method="post"> Test </form>
12
+ </body>
13
+ </html>
14
+ END_HTML
15
+
16
+ [:nokogiri, :hpricot].each do |adapter|
17
+ warnings = get_warnings(html, adapter)
18
+ assert_equal 2, warnings.length
19
+ assert warnings.any? { |w| w[:message] == 'form HTML element'}
20
+ assert warnings.any? { |w| w[:message] == 'link HTML element'}
21
+ end
22
+ end
23
+
24
+ def test_css_warnings
25
+ html = <<END_HTML
26
+ <!DOCTYPE html>
27
+ <html><body>
28
+ <div style="margin: 5px; height: 100px;">Test</div>
29
+ </body></html>
30
+ END_HTML
31
+
32
+ [:nokogiri, :hpricot].each do |adapter|
33
+ warnings = get_warnings(html, adapter)
34
+ assert_equal 2, warnings.length
35
+ assert warnings.any? { |w| w[:message] == 'height CSS property'}
36
+ assert warnings.any? { |w| w[:message] == 'margin CSS property'}
37
+ end
38
+ end
39
+
40
+ def test_css_aliased_warnings
41
+ html = <<END_HTML
42
+ <!DOCTYPE html>
43
+ <html><body>
44
+ <div style="margin-top: 5px;">Test</div>
45
+ </body></html>
46
+ END_HTML
47
+
48
+ [:nokogiri, :hpricot].each do |adapter|
49
+ warnings = get_warnings(html, adapter)
50
+ assert_equal 1, warnings.length
51
+ assert warnings.any? { |w| w[:message] == 'margin-top CSS property'}
52
+ end
53
+ end
54
+
55
+ def test_attribute_warnings
56
+ html = <<END_HTML
57
+ <!DOCTYPE html>
58
+ <html><body>
59
+ <img src="#" ismap>
60
+ </body></html>
61
+ END_HTML
62
+
63
+ [:nokogiri, :hpricot].each do |adapter|
64
+ warnings = get_warnings(html, adapter)
65
+ assert_equal 1, warnings.length
66
+ assert warnings.any? { |w| w[:message] == 'ismap HTML attribute'}
67
+ end
68
+ end
69
+
70
+ def test_warn_level
71
+ html = <<END_HTML
72
+ <!DOCTYPE html>
73
+ <html><body>
74
+ <div style="color: red; font-family: sans-serif;">Test</div>
75
+ </body></html>
76
+ END_HTML
77
+
78
+ [:nokogiri, :hpricot].each do |adapter|
79
+ warnings = get_warnings(html, adapter, Premailer::Warnings::SAFE)
80
+ assert_equal 2, warnings.length
81
+ end
82
+
83
+ [:nokogiri, :hpricot].each do |adapter|
84
+ warnings = get_warnings(html, adapter, Premailer::Warnings::POOR)
85
+ assert_equal 1, warnings.length
86
+ end
87
+ end
88
+
89
+ protected
90
+ def get_warnings(html, adapter = :nokogiri, warn_level = Premailer::Warnings::SAFE)
91
+ pm = Premailer.new(html, {:adpater => adapter, :with_html_string => true, :warn_level => warn_level})
92
+ pm.to_inline_css
93
+ pm.check_client_support
94
+ end
95
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fotonauts-premailer
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 7
8
+ - 3
9
+ version: 1.7.3
10
+ platform: ruby
11
+ authors:
12
+ - Alex Dunae
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-03-16 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: css_parser
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 1
30
+ - 9
31
+ version: 1.1.9
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: htmlentities
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 4
43
+ - 0
44
+ - 0
45
+ version: 4.0.0
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: hpricot
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ - 8
58
+ - 3
59
+ version: 0.8.3
60
+ type: :development
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: nokogiri
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 1
71
+ - 4
72
+ - 4
73
+ version: 1.4.4
74
+ type: :development
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: rake
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ - 8
86
+ version: "0.8"
87
+ - - "!="
88
+ - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
91
+ - 9
92
+ - 0
93
+ version: 0.9.0
94
+ type: :development
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: rdoc
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ segments:
104
+ - 2
105
+ - 4
106
+ - 2
107
+ version: 2.4.2
108
+ type: :development
109
+ version_requirements: *id006
110
+ description: Improve the rendering of HTML emails by making CSS inline, converting links and warning about unsupported code.
111
+ email: code@dunae.ca
112
+ executables:
113
+ - premailer
114
+ extensions: []
115
+
116
+ extra_rdoc_files:
117
+ - README.rdoc
118
+ files:
119
+ - .gitignore
120
+ - .travis.yml
121
+ - Gemfile
122
+ - LICENSE.rdoc
123
+ - README.rdoc
124
+ - bin/premailer
125
+ - init.rb
126
+ - lib/premailer.rb
127
+ - lib/premailer/adapter.rb
128
+ - lib/premailer/adapter/hpricot.rb
129
+ - lib/premailer/adapter/nokogiri.rb
130
+ - lib/premailer/executor.rb
131
+ - lib/premailer/html_to_plain_text.rb
132
+ - lib/premailer/premailer.rb
133
+ - local-premailer
134
+ - misc/client_support.yaml
135
+ - premailer.gemspec
136
+ - rakefile.rb
137
+ - test/files/base.html
138
+ - test/files/chars.html
139
+ - test/files/contact_bg.png
140
+ - test/files/dialect.png
141
+ - test/files/dots_end.png
142
+ - test/files/dots_h.gif
143
+ - test/files/html4.html
144
+ - test/files/import.css
145
+ - test/files/inc/2009-placeholder.png
146
+ - test/files/iso-8859-2.html
147
+ - test/files/iso-8859-5.html
148
+ - test/files/no_css.html
149
+ - test/files/noimport.css
150
+ - test/files/styles.css
151
+ - test/files/xhtml.html
152
+ - test/future_tests.rb
153
+ - test/helper.rb
154
+ - test/test_adapter.rb
155
+ - test/test_html_to_plain_text.rb
156
+ - test/test_links.rb
157
+ - test/test_misc.rb
158
+ - test/test_premailer.rb
159
+ - test/test_warnings.rb
160
+ has_rdoc: true
161
+ homepage: http://premailer.dialect.ca/
162
+ licenses: []
163
+
164
+ post_install_message:
165
+ rdoc_options:
166
+ - --all
167
+ - --inline-source
168
+ - --line-numbers
169
+ - --charset
170
+ - utf-8
171
+ require_paths:
172
+ - lib
173
+ required_ruby_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ segments:
178
+ - 0
179
+ version: "0"
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ segments:
185
+ - 0
186
+ version: "0"
187
+ requirements: []
188
+
189
+ rubyforge_project:
190
+ rubygems_version: 1.3.6
191
+ signing_key:
192
+ specification_version: 3
193
+ summary: Preflight for HTML e-mail.
194
+ test_files:
195
+ - test/files/base.html
196
+ - test/files/chars.html
197
+ - test/files/contact_bg.png
198
+ - test/files/dialect.png
199
+ - test/files/dots_end.png
200
+ - test/files/dots_h.gif
201
+ - test/files/html4.html
202
+ - test/files/import.css
203
+ - test/files/inc/2009-placeholder.png
204
+ - test/files/iso-8859-2.html
205
+ - test/files/iso-8859-5.html
206
+ - test/files/no_css.html
207
+ - test/files/noimport.css
208
+ - test/files/styles.css
209
+ - test/files/xhtml.html
210
+ - test/future_tests.rb
211
+ - test/helper.rb
212
+ - test/test_adapter.rb
213
+ - test/test_html_to_plain_text.rb
214
+ - test/test_links.rb
215
+ - test/test_misc.rb
216
+ - test/test_premailer.rb
217
+ - test/test_warnings.rb