www_app 2.1.3 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ae67823b91ac54d165890af512d9c2b8b97fb7ea
4
- data.tar.gz: abac21553d1cc1f37d9bc0793866075e00ffbef4
3
+ metadata.gz: 5ba6234504f5f7340da85bfe01588b2ab29d0454
4
+ data.tar.gz: a3aa5263e6e9f66957d1b3592af6bb5488f72297
5
5
  SHA512:
6
- metadata.gz: 6e5008e96ce87034649f61e66f21b7f61d06b24e8fbd980a90461694139ba86f82b1bf38d0a7107ea7100e8a176feb208f206adaf3d45d3147a2503b1defc30e
7
- data.tar.gz: 804359ff34f1287b952f6f30587774a208fe9cd4bf955267727c9bb27d02c806093435d201f75a3be5d5c732d4c0bc647bd433bd5bd77275acae9867c547ac50
6
+ metadata.gz: 6989163602f3504521c582dd448cdf1c9f83c166ce1dc714c3540116bc2e746167a90ea5dde63ad26d54bc0cefd111bf0354406dc616e72b4259cf809a6a4db8
7
+ data.tar.gz: d8e942a86c8c0575f4636f34225600a20a4adad332db21d1ad584806da199b9b68fede2abe830fb2c70308242722b39219645dff1c9534497d264724c99558bf
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.3
1
+ 2.3.0
@@ -9,6 +9,8 @@ class WWW_App
9
9
  title
10
10
  body div span
11
11
 
12
+ h1 h2 h3 h4 h5 h6
13
+
12
14
  img
13
15
  b em i strong u a
14
16
  abbr blockquote cite
@@ -19,6 +21,8 @@ class WWW_App
19
21
 
20
22
  link
21
23
 
24
+ label
25
+
22
26
  script
23
27
  ].map(&:to_sym)
24
28
 
@@ -28,6 +32,7 @@ class WWW_App
28
32
  :form => [:action, :method, :accept_charset],
29
33
  :input => [:type, :name, :value],
30
34
  :style => [:type],
35
+ :label => [:for],
31
36
  :script => [:type, :src, :language],
32
37
  :link => [:rel, :type, :sizes, :href, :title],
33
38
  :meta => [:name, :http_equiv, :property, :content, :charset],
@@ -90,7 +95,7 @@ class WWW_App
90
95
  def title str = :none
91
96
  fail ":title not allowed here" if parent
92
97
  if !block_given? && str != :none
93
- create { text str }
98
+ create(:title) { text str }
94
99
  else
95
100
  create :title do
96
101
  yield
@@ -355,6 +355,9 @@ class WWW_App
355
355
  when tag_name == :style && attr == :type
356
356
  'text/css'
357
357
 
358
+ when tag_name == :label && attr == :for && val.is_a?(::Symbol)
359
+ Clean.html(val.to_s)
360
+
358
361
  when ::WWW_App::HTML::TAGS_TO_ATTRIBUTES[tag_name].include?(attr)
359
362
  Clean.html(val)
360
363
 
@@ -600,7 +603,7 @@ class WWW_App
600
603
  end
601
604
 
602
605
  when ::WWW_App::CSS::PROPERTIES.include?(raw_k)
603
- Clean.css_value raw_val
606
+ Clean.css raw_k, raw_val
604
607
 
605
608
  else
606
609
  fail "Invalid css attr: #{name.inspect}"
@@ -18,5 +18,20 @@ describe :forms do
18
18
  }.message.should.match /google.com/
19
19
  end
20
20
 
21
+
22
+ describe :label do
23
+
24
+ it "allows :for attribute" do
25
+ target :body, <<-EOF
26
+ <label for="me">Title</label>
27
+ EOF
28
+ actual {
29
+ label.for(:me) { 'Title' }
30
+ }
31
+ end # === it allows :for attribute
32
+
33
+ end # === describe :label
34
+
21
35
  end # === describe :forms ===
22
36
 
37
+
@@ -10,4 +10,13 @@ describe "page_title" do
10
10
  should == ['<title>yo</title>']
11
11
  end # === it creates on :title tag
12
12
 
13
+ it "accepts a String argument" do
14
+ html = WWW_App.new {
15
+ title 'yo yo string'
16
+ }.to_html
17
+
18
+ html.scan(/<title>[^>]+<\/title>/).
19
+ should == ['<title>yo yo string</title>']
20
+ end # === it accepts a String argument
21
+
13
22
  end # === describe "page_title"
@@ -12,8 +12,8 @@ describe :css do
12
12
  }.message.should.match /hi;o/
13
13
  end
14
14
 
15
- it "raises Invalid if css value has invalid chars: something *" do
16
- should.raise(Escape_Escape_Escape::Invalid) {
15
+ it "raises ArgumentError if css value has invalid chars: something *" do
16
+ should.raise(ArgumentError) {
17
17
  actual do
18
18
  div {
19
19
  background 'something *'
@@ -30,8 +30,8 @@ describe :css do
30
30
  }.message.should.match /s\*s/
31
31
  end
32
32
 
33
- it "raises Invalid if contains 'expression:'" do
34
- should.raise(Escape_Escape_Escape::Invalid) {
33
+ it "raises ArgumentError if contains 'expression:'" do
34
+ should.raise(ArgumentError) {
35
35
  actual do
36
36
  div {
37
37
  background 'solid expression:'
@@ -40,8 +40,8 @@ describe :css do
40
40
  }.message.should.match /expression:/
41
41
  end
42
42
 
43
- it "raises Invalid if contains 'expression&'" do
44
- should.raise(Escape_Escape_Escape::Invalid) {
43
+ it "raises ArgumentError if contains 'expression&'" do
44
+ should.raise(ArgumentError) {
45
45
  actual do
46
46
  div {
47
47
  background 'solid expression&'
@@ -169,6 +169,19 @@ describe :css do
169
169
  }
170
170
  end
171
171
 
172
+ it "turns numbers into strings" do
173
+ target :style, %^
174
+ div {
175
+ margin: 0;
176
+ }
177
+ ^
178
+ actual {
179
+ div {
180
+ margin 0
181
+ }
182
+ }
183
+ end # === it turns numbers into strings
184
+
172
185
  end # === sanitize css selectors
173
186
 
174
187
 
@@ -0,0 +1,26 @@
1
+
2
+ describe :heading_tags do
3
+
4
+ [:h1, :h2, :h3, :h4].each { |meth|
5
+ it "renders a :#{meth} tag" do
6
+ target :body, <<-EOF
7
+ <#{meth}>Title</#{meth}>
8
+ EOF
9
+
10
+ actual {
11
+ send(meth) { 'Title' }
12
+ }
13
+ end # === it renders a .... tag
14
+
15
+ it "accepts a String argument" do
16
+ target :body, <<-EOF
17
+ <#{meth}>Title Title</#{meth}>
18
+ EOF
19
+
20
+ actual {
21
+ send(meth, 'Title Title')
22
+ }
23
+ end # === it accepts a String argument
24
+ }
25
+
26
+ end # === describe :heading_tags
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: www_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - da99
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-28 00:00:00.000000000 Z
11
+ date: 2015-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yajl-ruby
@@ -250,6 +250,7 @@ files:
250
250
  - specs/server-side/0042-slash.rb
251
251
  - specs/server-side/0050-use.rb
252
252
  - specs/server-side/0060-text.rb
253
+ - specs/server-side/0070-heading_tags.rb
253
254
  - www_app.gemspec
254
255
  homepage: https://github.com/da99/www_app
255
256
  licenses:
@@ -271,7 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
272
  version: '0'
272
273
  requirements: []
273
274
  rubyforge_project:
274
- rubygems_version: 2.4.5
275
+ rubygems_version: 2.4.6
275
276
  signing_key:
276
277
  specification_version: 4
277
278
  summary: Ruby -> HTML/CSS/JS