class TestWabisabiHtmlGenerator

Public Instance Methods

ok(e, s) click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-generator.rb, line 137
def ok(e, s)
  assert_equal e, s
end
test_htree_html_generator() click to toggle source
# File vendor/qwik/lib/qwik/wabisabi-generator.rb, line 141
def test_htree_html_generator
  g = Qwik::WabisabiHtmlGenerator.new
  ok([:p], g.p)

  ok([:meta, {:content=>'text/html', 'http-equiv'=>'Content-Type'}],
     g.contenttype('text/html'))
  ok([:meta, {:content=>"0; url=t", 'http-equiv'=>'Refresh'}],
     g.refresh(0, 't'))
  ok([:link, {:href=>'style1.css',
         :type=>'text/css', :rel=>'stylesheet'}],
     g.stylesheet('style1.css'))

  # test_link
  ok([:a, {:href=>'t'}, 's'], g.a('t'){'s'})
  ok([:a, {:href=>"t?a"}, 's'], g.a("t?a"){'s'})
  ok([:a, {:href=>"t?a&b"}, 's'], g.a("t?a&b"){'s'})
  ok([:a, {:href=>'t'}, "<"], g.a('t'){"<"})

  # test_form
  ok([:input, {:name=>'n'}], g.text('n'))
  ok([:input, {:value=>'t', :type=>'submit', :name=>'n'}],
     g.submit('t', 'n'))
  ok([:textarea, {:name=>''}, 't'],
     g.textarea{'t'})
  ok([:select,
       {:name=>'n'},
       [:option, {:name=>'t1'}, 't1'],
       [:option, {:name=>'t2'}, 't2']], g.select('n', 't1', 't2'))

  ok([:input, {:type=>'hidden'}, {:name=>'n'}], g.hidden('n'))
  ok([:input, {:type=>'hidden'}, {:name=>'n'}, {:value=>'v'}],
     g.hidden('n', 'v'))
  ok([:input, {:id=>'i', :value=>'v', :name=>'n'}],
     g.hidden({:name=>'n', :value=>'v', :id=>'i'}))
  ok([:input, {:id=>'i', :value=>'v', :name=>'n'}],
     g.hidden(:name=>'n', :value=>'v', :id=>'i'))

  ok([:form, 't'], g.form{'t'})
  ok([:form, {:method=>'POST'}, 't'], g.form('POST'){'t'})
  ok([:form, {:method=>'POST'}, {:action=>'u'}, 't'],
     g.form('POST', 'u'){'t'})
  ok([:form, {:enctype=>'multipart/form-data', :method=>'POST'}, 't'],
     g.form(:method=>'POST', :enctype=>'multipart/form-data'){'t'})

  # test_html
  html = g.html {[
      g.head {[
          g.contenttype("text/html; charset=SHIFT_JIS"),
          g.title {"タイトル"},
          g.stylesheet('style.css')
        ]},
      g.body {[
          g.pre {[g.b {'world'},  'hello']},
          g.pre {['This is ', g.b{'bold'}, ' text.']},
          g.pre {['This is ', g.i{'italic'}, ' text.']},
          g.p {['This is ', g.a('hoge'){'anchor'}, ' text.']},
          g.p {['This is ', g.a(:href=>'hoge'){'anchor'}, ' text.']},
          g.img('new.gif', 'new')
        ]}
    ]}
  ok([:html,
       [:head,
         [:meta,
           {:content=>"text/html; charset=SHIFT_JIS", 'http-equiv'=>'Content-Type'}],
         [:title, "タイトル"],
         [:link,
           {:href=>'style.css', :rel=>'stylesheet', :type=>'text/css'}]],
       [:body,
         [:pre, [:b, 'world'], 'hello'],
         [:pre, 'This is ', [:b, 'bold'], ' text.'],
         [:pre, 'This is ', [:i, 'italic'], ' text.'],
         [:p, 'This is ', [:a, {:href=>'hoge'}, 'anchor'], ' text.'],
         [:p, 'This is ', [:a, {:href=>'hoge'}, 'anchor'], ' text.'],
         [:img, {:alt=>'new', :src=>'new.gif'}]]], html)
end