dohweb 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,9 +9,13 @@ module HtmlTags
9
9
  valstr = options[:value].to_s.strip
10
10
  options[:value] = valstr.to_d.to_dig(num_digits) unless valstr.empty?
11
11
  end
12
- options_str = options.collect {|key, value| %(#{key}="#{value}") }.join(' ')
12
+ if options.empty?
13
+ options_str = ''
14
+ else
15
+ options_str = ' ' + options.collect {|key, value| %(#{key}="#{value}") }.join(' ')
16
+ end
13
17
  open_str = open ? '' : ' /'
14
- "<#{tag} #{options_str}#{open_str}>"
18
+ "<#{tag}#{options_str}#{open_str}>"
15
19
  end
16
20
 
17
21
  def full_tag(tag, body, options = {})
@@ -29,13 +33,14 @@ module HtmlTags
29
33
  options[:name] = name
30
34
  lines = [start_tag('select', true, options)]
31
35
  items.each do |elem|
36
+ subopts = {}
32
37
  if elem.is_a?(Array)
33
- text, value = elem
38
+ text = elem.first
39
+ subopts[:value] = elem.last
34
40
  else
35
41
  text = value = elem
36
42
  end
37
- subopts = {:value => value}
38
- subopts[:selected] = 'selected' if value.to_s == selected_value
43
+ subopts[:selected] = 'selected' if (selected_value.size > 0) && (value.to_s == selected_value)
39
44
  lines.push("#{start_tag(:option, true, subopts)}#{text}</option>")
40
45
  end
41
46
  lines.push('</select>')
@@ -0,0 +1,15 @@
1
+ require 'doh/web/html_tags'
2
+
3
+ module DohWeb
4
+
5
+ class Test_html_tags < DohTest::TestGroup
6
+ include DohWeb::HtmlTags
7
+
8
+ def test_stuff
9
+ assert_equal(%%<select name="tinker">\n<option>1</option>\n<option>2</option>\n</select>%, select_tag('tinker', [1,2]))
10
+ assert_equal(%%<select name="tinker">\n<option></option>\n<option>blah</option>\n</select>%, select_tag('tinker', ['','blah']))
11
+ assert_equal(%%<select name="tinker">\n<option value="">blee</option>\n<option>blah</option>\n</select>%, select_tag('tinker', [['blee',''],'blah']))
12
+ end
13
+ end
14
+
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dohweb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-01-04 00:00:00.000000000 Z
13
+ date: 2013-01-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: dohtest
@@ -41,6 +41,7 @@ files:
41
41
  - lib/doh/web/html_tags.rb
42
42
  - lib/doh/web/util.rb
43
43
  - test/group_params.dt.rb
44
+ - test/html_tags.dt.rb
44
45
  - test/util.dt.rb
45
46
  - MIT-LICENSE
46
47
  homepage: https://github.com/atpsoft/dohweb
@@ -70,5 +71,6 @@ specification_version: 3
70
71
  summary: utilities for building web apps
71
72
  test_files:
72
73
  - test/group_params.dt.rb
74
+ - test/html_tags.dt.rb
73
75
  - test/util.dt.rb
74
76
  has_rdoc: