1require 'test/unit' 2require 'cgi' 3require 'stringio' 4 5 6class CGITagHelperTest < Test::Unit::TestCase 7 8 9 def setup 10 #@environ = { 11 # 'SERVER_PROTOCOL' => 'HTTP/1.1', 12 # 'REQUEST_METHOD' => 'GET', 13 # 'SERVER_SOFTWARE' => 'Apache 2.2.0', 14 #} 15 #ENV.update(@environ) 16 end 17 18 19 def teardown 20 @environ.each do |key, val| ENV.delete(key) end 21 $stdout = STDOUT 22 end 23 24 25 def test_cgi_tag_helper_html3 26 @environ = { 27 'REQUEST_METHOD' => 'GET', 28 } 29 ENV.update(@environ) 30 ## html3 31 cgi = CGI.new('html3') 32 assert_equal('<A HREF=""></A>',cgi.a) 33 assert_equal('<A HREF="bar"></A>',cgi.a('bar')) 34 assert_equal('<A HREF="">foo</A>',cgi.a{'foo'}) 35 assert_equal('<A HREF="bar">foo</A>',cgi.a('bar'){'foo'}) 36 assert_equal('<TT></TT>',cgi.tt) 37 assert_equal('<TT></TT>',cgi.tt('bar')) 38 assert_equal('<TT>foo</TT>',cgi.tt{'foo'}) 39 assert_equal('<TT>foo</TT>',cgi.tt('bar'){'foo'}) 40 assert_equal('<I></I>',cgi.i) 41 assert_equal('<I></I>',cgi.i('bar')) 42 assert_equal('<I>foo</I>',cgi.i{'foo'}) 43 assert_equal('<I>foo</I>',cgi.i('bar'){'foo'}) 44 assert_equal('<B></B>',cgi.b) 45 assert_equal('<B></B>',cgi.b('bar')) 46 assert_equal('<B>foo</B>',cgi.b{'foo'}) 47 assert_equal('<B>foo</B>',cgi.b('bar'){'foo'}) 48 assert_equal('<U></U>',cgi.u) 49 assert_equal('<U></U>',cgi.u('bar')) 50 assert_equal('<U>foo</U>',cgi.u{'foo'}) 51 assert_equal('<U>foo</U>',cgi.u('bar'){'foo'}) 52 assert_equal('<STRIKE></STRIKE>',cgi.strike) 53 assert_equal('<STRIKE></STRIKE>',cgi.strike('bar')) 54 assert_equal('<STRIKE>foo</STRIKE>',cgi.strike{'foo'}) 55 assert_equal('<STRIKE>foo</STRIKE>',cgi.strike('bar'){'foo'}) 56 assert_equal('<BIG></BIG>',cgi.big) 57 assert_equal('<BIG></BIG>',cgi.big('bar')) 58 assert_equal('<BIG>foo</BIG>',cgi.big{'foo'}) 59 assert_equal('<BIG>foo</BIG>',cgi.big('bar'){'foo'}) 60 assert_equal('<SMALL></SMALL>',cgi.small) 61 assert_equal('<SMALL></SMALL>',cgi.small('bar')) 62 assert_equal('<SMALL>foo</SMALL>',cgi.small{'foo'}) 63 assert_equal('<SMALL>foo</SMALL>',cgi.small('bar'){'foo'}) 64 assert_equal('<SUB></SUB>',cgi.sub) 65 assert_equal('<SUB></SUB>',cgi.sub('bar')) 66 assert_equal('<SUB>foo</SUB>',cgi.sub{'foo'}) 67 assert_equal('<SUB>foo</SUB>',cgi.sub('bar'){'foo'}) 68 assert_equal('<SUP></SUP>',cgi.sup) 69 assert_equal('<SUP></SUP>',cgi.sup('bar')) 70 assert_equal('<SUP>foo</SUP>',cgi.sup{'foo'}) 71 assert_equal('<SUP>foo</SUP>',cgi.sup('bar'){'foo'}) 72 assert_equal('<EM></EM>',cgi.em) 73 assert_equal('<EM></EM>',cgi.em('bar')) 74 assert_equal('<EM>foo</EM>',cgi.em{'foo'}) 75 assert_equal('<EM>foo</EM>',cgi.em('bar'){'foo'}) 76 assert_equal('<STRONG></STRONG>',cgi.strong) 77 assert_equal('<STRONG></STRONG>',cgi.strong('bar')) 78 assert_equal('<STRONG>foo</STRONG>',cgi.strong{'foo'}) 79 assert_equal('<STRONG>foo</STRONG>',cgi.strong('bar'){'foo'}) 80 assert_equal('<DFN></DFN>',cgi.dfn) 81 assert_equal('<DFN></DFN>',cgi.dfn('bar')) 82 assert_equal('<DFN>foo</DFN>',cgi.dfn{'foo'}) 83 assert_equal('<DFN>foo</DFN>',cgi.dfn('bar'){'foo'}) 84 assert_equal('<CODE></CODE>',cgi.code) 85 assert_equal('<CODE></CODE>',cgi.code('bar')) 86 assert_equal('<CODE>foo</CODE>',cgi.code{'foo'}) 87 assert_equal('<CODE>foo</CODE>',cgi.code('bar'){'foo'}) 88 assert_equal('<SAMP></SAMP>',cgi.samp) 89 assert_equal('<SAMP></SAMP>',cgi.samp('bar')) 90 assert_equal('<SAMP>foo</SAMP>',cgi.samp{'foo'}) 91 assert_equal('<SAMP>foo</SAMP>',cgi.samp('bar'){'foo'}) 92 assert_equal('<KBD></KBD>',cgi.kbd) 93 assert_equal('<KBD></KBD>',cgi.kbd('bar')) 94 assert_equal('<KBD>foo</KBD>',cgi.kbd{'foo'}) 95 assert_equal('<KBD>foo</KBD>',cgi.kbd('bar'){'foo'}) 96 assert_equal('<VAR></VAR>',cgi.var) 97 assert_equal('<VAR></VAR>',cgi.var('bar')) 98 assert_equal('<VAR>foo</VAR>',cgi.var{'foo'}) 99 assert_equal('<VAR>foo</VAR>',cgi.var('bar'){'foo'}) 100 assert_equal('<CITE></CITE>',cgi.cite) 101 assert_equal('<CITE></CITE>',cgi.cite('bar')) 102 assert_equal('<CITE>foo</CITE>',cgi.cite{'foo'}) 103 assert_equal('<CITE>foo</CITE>',cgi.cite('bar'){'foo'}) 104 assert_equal('<FONT></FONT>',cgi.font) 105 assert_equal('<FONT></FONT>',cgi.font('bar')) 106 assert_equal('<FONT>foo</FONT>',cgi.font{'foo'}) 107 assert_equal('<FONT>foo</FONT>',cgi.font('bar'){'foo'}) 108 assert_equal('<ADDRESS></ADDRESS>',cgi.address) 109 assert_equal('<ADDRESS></ADDRESS>',cgi.address('bar')) 110 assert_equal('<ADDRESS>foo</ADDRESS>',cgi.address{'foo'}) 111 assert_equal('<ADDRESS>foo</ADDRESS>',cgi.address('bar'){'foo'}) 112 assert_equal('<DIV></DIV>',cgi.div) 113 assert_equal('<DIV></DIV>',cgi.div('bar')) 114 assert_equal('<DIV>foo</DIV>',cgi.div{'foo'}) 115 assert_equal('<DIV>foo</DIV>',cgi.div('bar'){'foo'}) 116 assert_equal('<CENTER></CENTER>',cgi.center) 117 assert_equal('<CENTER></CENTER>',cgi.center('bar')) 118 assert_equal('<CENTER>foo</CENTER>',cgi.center{'foo'}) 119 assert_equal('<CENTER>foo</CENTER>',cgi.center('bar'){'foo'}) 120 assert_equal('<MAP></MAP>',cgi.map) 121 assert_equal('<MAP></MAP>',cgi.map('bar')) 122 assert_equal('<MAP>foo</MAP>',cgi.map{'foo'}) 123 assert_equal('<MAP>foo</MAP>',cgi.map('bar'){'foo'}) 124 assert_equal('<APPLET></APPLET>',cgi.applet) 125 assert_equal('<APPLET></APPLET>',cgi.applet('bar')) 126 assert_equal('<APPLET>foo</APPLET>',cgi.applet{'foo'}) 127 assert_equal('<APPLET>foo</APPLET>',cgi.applet('bar'){'foo'}) 128 assert_equal('<PRE></PRE>',cgi.pre) 129 assert_equal('<PRE></PRE>',cgi.pre('bar')) 130 assert_equal('<PRE>foo</PRE>',cgi.pre{'foo'}) 131 assert_equal('<PRE>foo</PRE>',cgi.pre('bar'){'foo'}) 132 assert_equal('<XMP></XMP>',cgi.xmp) 133 assert_equal('<XMP></XMP>',cgi.xmp('bar')) 134 assert_equal('<XMP>foo</XMP>',cgi.xmp{'foo'}) 135 assert_equal('<XMP>foo</XMP>',cgi.xmp('bar'){'foo'}) 136 assert_equal('<LISTING></LISTING>',cgi.listing) 137 assert_equal('<LISTING></LISTING>',cgi.listing('bar')) 138 assert_equal('<LISTING>foo</LISTING>',cgi.listing{'foo'}) 139 assert_equal('<LISTING>foo</LISTING>',cgi.listing('bar'){'foo'}) 140 assert_equal('<DL></DL>',cgi.dl) 141 assert_equal('<DL></DL>',cgi.dl('bar')) 142 assert_equal('<DL>foo</DL>',cgi.dl{'foo'}) 143 assert_equal('<DL>foo</DL>',cgi.dl('bar'){'foo'}) 144 assert_equal('<OL></OL>',cgi.ol) 145 assert_equal('<OL></OL>',cgi.ol('bar')) 146 assert_equal('<OL>foo</OL>',cgi.ol{'foo'}) 147 assert_equal('<OL>foo</OL>',cgi.ol('bar'){'foo'}) 148 assert_equal('<UL></UL>',cgi.ul) 149 assert_equal('<UL></UL>',cgi.ul('bar')) 150 assert_equal('<UL>foo</UL>',cgi.ul{'foo'}) 151 assert_equal('<UL>foo</UL>',cgi.ul('bar'){'foo'}) 152 assert_equal('<DIR></DIR>',cgi.dir) 153 assert_equal('<DIR></DIR>',cgi.dir('bar')) 154 assert_equal('<DIR>foo</DIR>',cgi.dir{'foo'}) 155 assert_equal('<DIR>foo</DIR>',cgi.dir('bar'){'foo'}) 156 assert_equal('<MENU></MENU>',cgi.menu) 157 assert_equal('<MENU></MENU>',cgi.menu('bar')) 158 assert_equal('<MENU>foo</MENU>',cgi.menu{'foo'}) 159 assert_equal('<MENU>foo</MENU>',cgi.menu('bar'){'foo'}) 160 assert_equal('<SELECT></SELECT>',cgi.select) 161 assert_equal('<SELECT></SELECT>',cgi.select('bar')) 162 assert_equal('<SELECT>foo</SELECT>',cgi.select{'foo'}) 163 assert_equal('<SELECT>foo</SELECT>',cgi.select('bar'){'foo'}) 164 assert_equal('<TABLE></TABLE>',cgi.table) 165 assert_equal('<TABLE></TABLE>',cgi.table('bar')) 166 assert_equal('<TABLE>foo</TABLE>',cgi.table{'foo'}) 167 assert_equal('<TABLE>foo</TABLE>',cgi.table('bar'){'foo'}) 168 assert_equal('<TITLE></TITLE>',cgi.title) 169 assert_equal('<TITLE></TITLE>',cgi.title('bar')) 170 assert_equal('<TITLE>foo</TITLE>',cgi.title{'foo'}) 171 assert_equal('<TITLE>foo</TITLE>',cgi.title('bar'){'foo'}) 172 assert_equal('<STYLE></STYLE>',cgi.style) 173 assert_equal('<STYLE></STYLE>',cgi.style('bar')) 174 assert_equal('<STYLE>foo</STYLE>',cgi.style{'foo'}) 175 assert_equal('<STYLE>foo</STYLE>',cgi.style('bar'){'foo'}) 176 assert_equal('<SCRIPT></SCRIPT>',cgi.script) 177 assert_equal('<SCRIPT></SCRIPT>',cgi.script('bar')) 178 assert_equal('<SCRIPT>foo</SCRIPT>',cgi.script{'foo'}) 179 assert_equal('<SCRIPT>foo</SCRIPT>',cgi.script('bar'){'foo'}) 180 assert_equal('<H1></H1>',cgi.h1) 181 assert_equal('<H1></H1>',cgi.h1('bar')) 182 assert_equal('<H1>foo</H1>',cgi.h1{'foo'}) 183 assert_equal('<H1>foo</H1>',cgi.h1('bar'){'foo'}) 184 assert_equal('<H2></H2>',cgi.h2) 185 assert_equal('<H2></H2>',cgi.h2('bar')) 186 assert_equal('<H2>foo</H2>',cgi.h2{'foo'}) 187 assert_equal('<H2>foo</H2>',cgi.h2('bar'){'foo'}) 188 assert_equal('<H3></H3>',cgi.h3) 189 assert_equal('<H3></H3>',cgi.h3('bar')) 190 assert_equal('<H3>foo</H3>',cgi.h3{'foo'}) 191 assert_equal('<H3>foo</H3>',cgi.h3('bar'){'foo'}) 192 assert_equal('<H4></H4>',cgi.h4) 193 assert_equal('<H4></H4>',cgi.h4('bar')) 194 assert_equal('<H4>foo</H4>',cgi.h4{'foo'}) 195 assert_equal('<H4>foo</H4>',cgi.h4('bar'){'foo'}) 196 assert_equal('<H5></H5>',cgi.h5) 197 assert_equal('<H5></H5>',cgi.h5('bar')) 198 assert_equal('<H5>foo</H5>',cgi.h5{'foo'}) 199 assert_equal('<H5>foo</H5>',cgi.h5('bar'){'foo'}) 200 assert_equal('<H6></H6>',cgi.h6) 201 assert_equal('<H6></H6>',cgi.h6('bar')) 202 assert_equal('<H6>foo</H6>',cgi.h6{'foo'}) 203 assert_equal('<H6>foo</H6>',cgi.h6('bar'){'foo'}) 204 assert_match(/^<TEXTAREA .*><\/TEXTAREA>$/,cgi.textarea) 205 assert_match(/COLS="70"/,cgi.textarea) 206 assert_match(/ROWS="10"/,cgi.textarea) 207 assert_match(/NAME=""/,cgi.textarea) 208 assert_match(/^<TEXTAREA .*><\/TEXTAREA>$/,cgi.textarea("bar")) 209 assert_match(/COLS="70"/,cgi.textarea("bar")) 210 assert_match(/ROWS="10"/,cgi.textarea("bar")) 211 assert_match(/NAME="bar"/,cgi.textarea("bar")) 212 assert_match(/^<TEXTAREA .*>foo<\/TEXTAREA>$/,cgi.textarea{"foo"}) 213 assert_match(/COLS="70"/,cgi.textarea{"foo"}) 214 assert_match(/ROWS="10"/,cgi.textarea{"foo"}) 215 assert_match(/NAME=""/,cgi.textarea{"foo"}) 216 assert_match(/^<TEXTAREA .*>foo<\/TEXTAREA>$/,cgi.textarea("bar"){"foo"}) 217 assert_match(/COLS="70"/,cgi.textarea("bar"){"foo"}) 218 assert_match(/ROWS="10"/,cgi.textarea("bar"){"foo"}) 219 assert_match(/NAME="bar"/,cgi.textarea("bar"){"foo"}) 220 assert_match(/^<FORM .*><\/FORM>$/,cgi.form) 221 assert_match(/METHOD="post"/,cgi.form) 222 assert_match(/ENCTYPE="application\/x-www-form-urlencoded"/,cgi.form) 223 assert_match(/^<FORM .*><\/FORM>$/,cgi.form("bar")) 224 assert_match(/METHOD="bar"/,cgi.form("bar")) 225 assert_match(/ENCTYPE="application\/x-www-form-urlencoded"/,cgi.form("bar")) 226 assert_match(/^<FORM .*>foo<\/FORM>$/,cgi.form{"foo"}) 227 assert_match(/METHOD="post"/,cgi.form{"foo"}) 228 assert_match(/ENCTYPE="application\/x-www-form-urlencoded"/,cgi.form{"foo"}) 229 assert_match(/^<FORM .*>foo<\/FORM>$/,cgi.form("bar"){"foo"}) 230 assert_match(/METHOD="bar"/,cgi.form("bar"){"foo"}) 231 assert_match(/ENCTYPE="application\/x-www-form-urlencoded"/,cgi.form("bar"){"foo"}) 232 assert_equal('<BLOCKQUOTE></BLOCKQUOTE>',cgi.blockquote) 233 assert_equal('<BLOCKQUOTE CITE="bar"></BLOCKQUOTE>',cgi.blockquote('bar')) 234 assert_equal('<BLOCKQUOTE>foo</BLOCKQUOTE>',cgi.blockquote{'foo'}) 235 assert_equal('<BLOCKQUOTE CITE="bar">foo</BLOCKQUOTE>',cgi.blockquote('bar'){'foo'}) 236 assert_equal('<CAPTION></CAPTION>',cgi.caption) 237 assert_equal('<CAPTION ALIGN="bar"></CAPTION>',cgi.caption('bar')) 238 assert_equal('<CAPTION>foo</CAPTION>',cgi.caption{'foo'}) 239 assert_equal('<CAPTION ALIGN="bar">foo</CAPTION>',cgi.caption('bar'){'foo'}) 240 assert_equal('<IMG SRC="" ALT="">',cgi.img) 241 assert_equal('<IMG SRC="bar" ALT="">',cgi.img('bar')) 242 assert_equal('<IMG SRC="" ALT="">',cgi.img{'foo'}) 243 assert_equal('<IMG SRC="bar" ALT="">',cgi.img('bar'){'foo'}) 244 assert_equal('<BASE HREF="">',cgi.base) 245 assert_equal('<BASE HREF="bar">',cgi.base('bar')) 246 assert_equal('<BASE HREF="">',cgi.base{'foo'}) 247 assert_equal('<BASE HREF="bar">',cgi.base('bar'){'foo'}) 248 assert_equal('<BASEFONT>',cgi.basefont) 249 assert_equal('<BASEFONT>',cgi.basefont('bar')) 250 assert_equal('<BASEFONT>',cgi.basefont{'foo'}) 251 assert_equal('<BASEFONT>',cgi.basefont('bar'){'foo'}) 252 assert_equal('<BR>',cgi.br) 253 assert_equal('<BR>',cgi.br('bar')) 254 assert_equal('<BR>',cgi.br{'foo'}) 255 assert_equal('<BR>',cgi.br('bar'){'foo'}) 256 assert_equal('<AREA>',cgi.area) 257 assert_equal('<AREA>',cgi.area('bar')) 258 assert_equal('<AREA>',cgi.area{'foo'}) 259 assert_equal('<AREA>',cgi.area('bar'){'foo'}) 260 assert_equal('<LINK>',cgi.link) 261 assert_equal('<LINK>',cgi.link('bar')) 262 assert_equal('<LINK>',cgi.link{'foo'}) 263 assert_equal('<LINK>',cgi.link('bar'){'foo'}) 264 assert_equal('<PARAM>',cgi.param) 265 assert_equal('<PARAM>',cgi.param('bar')) 266 assert_equal('<PARAM>',cgi.param{'foo'}) 267 assert_equal('<PARAM>',cgi.param('bar'){'foo'}) 268 assert_equal('<HR>',cgi.hr) 269 assert_equal('<HR>',cgi.hr('bar')) 270 assert_equal('<HR>',cgi.hr{'foo'}) 271 assert_equal('<HR>',cgi.hr('bar'){'foo'}) 272 assert_equal('<INPUT>',cgi.input) 273 assert_equal('<INPUT>',cgi.input('bar')) 274 assert_equal('<INPUT>',cgi.input{'foo'}) 275 assert_equal('<INPUT>',cgi.input('bar'){'foo'}) 276 assert_equal('<ISINDEX>',cgi.isindex) 277 assert_equal('<ISINDEX>',cgi.isindex('bar')) 278 assert_equal('<ISINDEX>',cgi.isindex{'foo'}) 279 assert_equal('<ISINDEX>',cgi.isindex('bar'){'foo'}) 280 assert_equal('<META>',cgi.meta) 281 assert_equal('<META>',cgi.meta('bar')) 282 assert_equal('<META>',cgi.meta{'foo'}) 283 assert_equal('<META>',cgi.meta('bar'){'foo'}) 284 assert_equal('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML>',cgi.html) 285 assert_equal('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML>foo</HTML>',cgi.html{'foo'}) 286 assert_equal('<HEAD>',cgi.head) 287 assert_equal('<HEAD>foo</HEAD>',cgi.head{'foo'}) 288 assert_equal('<BODY>',cgi.body) 289 assert_equal('<BODY>foo</BODY>',cgi.body{'foo'}) 290 assert_equal('<P>',cgi.p) 291 assert_equal('<P>foo</P>',cgi.p{'foo'}) 292 assert_equal('<PLAINTEXT>',cgi.plaintext) 293 assert_equal('<PLAINTEXT>foo</PLAINTEXT>',cgi.plaintext{'foo'}) 294 assert_equal('<DT>',cgi.dt) 295 assert_equal('<DT>foo</DT>',cgi.dt{'foo'}) 296 assert_equal('<DD>',cgi.dd) 297 assert_equal('<DD>foo</DD>',cgi.dd{'foo'}) 298 assert_equal('<LI>',cgi.li) 299 assert_equal('<LI>foo</LI>',cgi.li{'foo'}) 300 assert_equal('<OPTION>',cgi.option) 301 assert_equal('<OPTION>foo</OPTION>',cgi.option{'foo'}) 302 assert_equal('<TR>',cgi.tr) 303 assert_equal('<TR>foo</TR>',cgi.tr{'foo'}) 304 assert_equal('<TH>',cgi.th) 305 assert_equal('<TH>foo</TH>',cgi.th{'foo'}) 306 assert_equal('<TD>',cgi.td) 307 assert_equal('<TD>foo</TD>',cgi.td{'foo'}) 308 str=cgi.checkbox_group("foo",["aa","bb"],["cc","dd"]) 309 assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) 310 assert_match(/^<INPUT .*TYPE="checkbox".*>bb<INPUT .*TYPE="checkbox".*>dd$/,str) 311 assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) 312 str=cgi.radio_group("foo",["aa","bb"],["cc","dd"]) 313 assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) 314 assert_match(/^<INPUT .*TYPE="radio".*>bb<INPUT .*TYPE="radio".*>dd$/,str) 315 assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) 316 str=cgi.checkbox_group("foo",["aa","bb"],["cc","dd",true]) 317 assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) 318 assert_match(/^<INPUT .*TYPE="checkbox".*>bb<INPUT .*TYPE="checkbox".*>dd$/,str) 319 assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) 320 assert_match(/^<INPUT .*>bb<INPUT .*CHECKED.*>dd$/,str) 321 assert_match(/<INPUT .*TYPE="text".*>/,cgi.text_field(:name=>"name",:value=>"value")) if RUBY_VERSION>="1.9" 322 if RUBY_VERSION>="1.9" 323 str=cgi.radio_group("foo",["aa","bb"],["cc","dd",false]) 324 assert_match(/^<INPUT .*VALUE="aa".*>bb<INPUT .*VALUE="cc".*>dd$/,str) 325 assert_match(/^<INPUT .*TYPE="radio".*>bb<INPUT .*TYPE="radio".*>dd$/,str) 326 assert_match(/^<INPUT .*NAME="foo".*>bb<INPUT .*NAME="foo".*>dd$/,str) 327 end 328 end 329 330=begin 331 def test_cgi_tag_helper_html4 332 ## html4 333 cgi = CGI.new('html4') 334 ## html4 transitional 335 cgi = CGI.new('html4Tr') 336 ## html4 frameset 337 cgi = CGI.new('html4Fr') 338 end 339=end 340 341 def test_cgi_tag_helper_html5 342 @environ = { 343 'REQUEST_METHOD' => 'GET', 344 } 345 ENV.update(@environ) 346 ## html5 347 cgi = CGI.new('html5') 348 assert_equal('<HEADER></HEADER>',cgi.header) 349 assert_equal('<FOOTER></FOOTER>',cgi.footer) 350 assert_equal('<ARTICLE></ARTICLE>',cgi.article) 351 assert_equal('<SECTION></SECTION>',cgi.section) 352 end 353 354end 355