premailer 1.7.1 → 1.7.3

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