ruby-web 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +474 -0
- data/INSTALL.txt +9 -0
- data/InstalledFiles +180 -0
- data/LICENSE.txt +74 -0
- data/Rakefile +529 -0
- data/TODO +65 -0
- data/doc/additional.xml +149 -0
- data/doc/core.xml +652 -0
- data/doc/credits/index.xml +52 -0
- data/doc/credits/php.contributors.xml +118 -0
- data/doc/credits/php.language-snippets.ent +622 -0
- data/doc/install/index.xml +136 -0
- data/doc/install/mac/index.xml +21 -0
- data/doc/install/ruby-web.install.rb.instructions.xml +7 -0
- data/doc/install/unix/index.xml +46 -0
- data/doc/install/win/apache1.xml +166 -0
- data/doc/install/win/apache2.xml +141 -0
- data/doc/install/win/iis.xml +162 -0
- data/doc/install/win/index.xml +24 -0
- data/doc/install/win/installer.xml +31 -0
- data/doc/install/win/manual.xml +43 -0
- data/doc/manual.xml +69 -0
- data/doc/old/apache_cgi.txt +23 -0
- data/doc/old/fastcgi.txt +23 -0
- data/doc/old/mod_ruby.txt +21 -0
- data/doc/old/snippets.rdoc +183 -0
- data/doc/old/webrick.txt +23 -0
- data/doc/old/windows_cgi.txt +9 -0
- data/doc/tutorial.xml +14 -0
- data/doc/xsl/manual-multi.xsl +10 -0
- data/doc/xsl/manual-pdf.xsl +6 -0
- data/doc/xsl/manual-single.xsl +6 -0
- data/doc/xsl/manual.css +22 -0
- data/install.rb +1022 -0
- data/lib/formatter.rb +314 -0
- data/lib/html-parser.rb +429 -0
- data/lib/htmlrepair.rb +113 -0
- data/lib/htmlsplit.rb +842 -0
- data/lib/sgml-parser.rb +332 -0
- data/lib/web.rb +68 -0
- data/lib/web/assertinclude.rb +129 -0
- data/lib/web/config.rb +50 -0
- data/lib/web/connection.rb +1070 -0
- data/lib/web/convenience.rb +154 -0
- data/lib/web/formreader.rb +318 -0
- data/lib/web/htmlparser/html-parser.rb +429 -0
- data/lib/web/htmlparser/sgml-parser.rb +332 -0
- data/lib/web/htmltools/element.rb +296 -0
- data/lib/web/htmltools/stparser.rb +276 -0
- data/lib/web/htmltools/tags.rb +286 -0
- data/lib/web/htmltools/tree.rb +139 -0
- data/lib/web/htmltools/xmltree.rb +160 -0
- data/lib/web/htmltools/xpath.rb +71 -0
- data/lib/web/info.rb +63 -0
- data/lib/web/load.rb +210 -0
- data/lib/web/mime.rb +87 -0
- data/lib/web/phprb.rb +340 -0
- data/lib/web/resources/test/cookie.rb +33 -0
- data/lib/web/resources/test/counter.rb +20 -0
- data/lib/web/resources/test/multipart.rb +14 -0
- data/lib/web/resources/test/redirect.rb +8 -0
- data/lib/web/resources/test/stock.rb +33 -0
- data/lib/web/sapi/apache.rb +129 -0
- data/lib/web/sapi/fastcgi.rb +22 -0
- data/lib/web/sapi/install/apache.rb +180 -0
- data/lib/web/sapi/install/iis.rb +93 -0
- data/lib/web/sapi/install/macosx.rb +90 -0
- data/lib/web/sapi/webrick.rb +86 -0
- data/lib/web/session.rb +83 -0
- data/lib/web/shim/cgi.rb +129 -0
- data/lib/web/shim/rails.rb +175 -0
- data/lib/web/stringio.rb +78 -0
- data/lib/web/strscanparser.rb +24 -0
- data/lib/web/tagparser.rb +96 -0
- data/lib/web/testing.rb +666 -0
- data/lib/web/traceoutput.rb +75 -0
- data/lib/web/unit.rb +56 -0
- data/lib/web/upload.rb +59 -0
- data/lib/web/validate.rb +52 -0
- data/lib/web/wiki.rb +557 -0
- data/lib/web/wiki/linker.rb +72 -0
- data/lib/web/wiki/page.rb +201 -0
- data/lib/webunit.rb +27 -0
- data/lib/webunit/assert.rb +152 -0
- data/lib/webunit/converter.rb +154 -0
- data/lib/webunit/cookie.rb +118 -0
- data/lib/webunit/domwalker.rb +185 -0
- data/lib/webunit/exception.rb +14 -0
- data/lib/webunit/form.rb +116 -0
- data/lib/webunit/frame.rb +37 -0
- data/lib/webunit/htmlelem.rb +122 -0
- data/lib/webunit/image.rb +26 -0
- data/lib/webunit/jscript.rb +31 -0
- data/lib/webunit/link.rb +33 -0
- data/lib/webunit/params.rb +321 -0
- data/lib/webunit/parser.rb +229 -0
- data/lib/webunit/response.rb +464 -0
- data/lib/webunit/runtest.rb +41 -0
- data/lib/webunit/table.rb +148 -0
- data/lib/webunit/testcase.rb +45 -0
- data/lib/webunit/ui/cui/testrunner.rb +50 -0
- data/lib/webunit/utils.rb +68 -0
- data/lib/webunit/webunit.rb +28 -0
- data/test/dev/action.rb +83 -0
- data/test/dev/forms.rb +104 -0
- data/test/dev/forms2.rb +104 -0
- data/test/dev/parser.rb +17 -0
- data/test/dev/scripts/dump.rb +24 -0
- data/test/dev/scripts/makedist.rb +62 -0
- data/test/dev/scripts/uri.rb +41 -0
- data/test/dev/scripts/uri/common.rb +432 -0
- data/test/dev/scripts/uri/ftp.rb +149 -0
- data/test/dev/scripts/uri/generic.rb +1106 -0
- data/test/dev/scripts/uri/http.rb +76 -0
- data/test/dev/scripts/uri/https.rb +26 -0
- data/test/dev/scripts/uri/ldap.rb +238 -0
- data/test/dev/scripts/uri/mailto.rb +260 -0
- data/test/dev/scripts/urireg.rb +174 -0
- data/test/dev/simpledispatcher.rb +156 -0
- data/test/dev/test.action.rb +146 -0
- data/test/dev/test.formreader.rb +463 -0
- data/test/dev/test.simpledispatcher.rb +186 -0
- data/test/dev/webunit/conv/digit-0.rb +21 -0
- data/test/dev/webunit/conv/digit-1.rb +17 -0
- data/test/dev/webunit/conv/digit.rb +23 -0
- data/test/dev/webunit/conv/test_digit-0.rb +16 -0
- data/test/dev/webunit/conv/test_digit-1.rb +19 -0
- data/test/dev/webunit/conv/test_digit.rb +26 -0
- data/test/dev/webunit/conv/test_digit_view-0.rb +76 -0
- data/test/dev/webunit/conv/test_digit_view-1.rb +102 -0
- data/test/dev/webunit/conv/test_digit_view.rb +134 -0
- data/test/installation/htdocs/cgi_test.rb +296 -0
- data/test/installation/htdocs/test_install.rb +4 -0
- data/test/installation/runwebtest.rb +5 -0
- data/test/installation/test_cookie.rb +128 -0
- data/test/installation/test_form.rb +47 -0
- data/test/installation/test_multipart.rb +51 -0
- data/test/installation/test_request.rb +24 -0
- data/test/installation/test_response.rb +35 -0
- data/test/unit/htdocs/cookie.rb +32 -0
- data/test/unit/htdocs/multipart.rb +28 -0
- data/test/unit/htdocs/redirect.rb +12 -0
- data/test/unit/htdocs/simple.rb +13 -0
- data/test/unit/htdocs/stock.rb +33 -0
- data/test/unit/test_assert.rb +162 -0
- data/test/unit/test_cookie.rb +114 -0
- data/test/unit/test_domwalker.rb +77 -0
- data/test/unit/test_form.rb +42 -0
- data/test/unit/test_frame.rb +40 -0
- data/test/unit/test_htmlelem.rb +74 -0
- data/test/unit/test_image.rb +45 -0
- data/test/unit/test_jscript.rb +57 -0
- data/test/unit/test_link.rb +85 -0
- data/test/unit/test_multipart.rb +51 -0
- data/test/unit/test_params.rb +210 -0
- data/test/unit/test_parser.rb +53 -0
- data/test/unit/test_response.rb +150 -0
- data/test/unit/test_table.rb +70 -0
- data/test/unit/test_utils.rb +106 -0
- data/test/unit/test_webunit.rb +28 -0
- data/test/web/mod_ruby_stub.rb +39 -0
- data/test/web/test.assertinclude.rb +109 -0
- data/test/web/test.buffer.rb +182 -0
- data/test/web/test.code.loader.rb +78 -0
- data/test/web/test.config.rb +31 -0
- data/test/web/test.error.handling.rb +91 -0
- data/test/web/test.formreader-2.0.rb +352 -0
- data/test/web/test.load.rb +125 -0
- data/test/web/test.mime-type.rb +23 -0
- data/test/web/test.narf.cgi.rb +106 -0
- data/test/web/test.phprb.rb +239 -0
- data/test/web/test.request.rb +368 -0
- data/test/web/test.response.rb +637 -0
- data/test/web/test.ruby-web.rb +10 -0
- data/test/web/test.session.rb +50 -0
- data/test/web/test.shim.cgi.rb +96 -0
- data/test/web/test.tagparser.rb +65 -0
- data/test/web/test.template2.rb +297 -0
- data/test/web/test.testing2.rb +318 -0
- data/test/web/test.upload.rb +45 -0
- data/test/web/test.validate.rb +46 -0
- data/test/web/test.web.test.rb +495 -0
- data/test/wiki/test.history.rb +297 -0
- data/test/wiki/test.illustration_page.rb +287 -0
- data/test/wiki/test.linker.rb +197 -0
- data/test/wiki/test.tarpit.rb +56 -0
- data/test/wiki/test.wiki.rb +300 -0
- data/test/wikitestroot/admin.rb +7 -0
- data/test/wikitestroot/wiki.rb +6 -0
- metadata +234 -0
@@ -0,0 +1,114 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::Cookies
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_cookie.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
class TestCookies < Test::Unit::TestCase
|
8
|
+
include Web::Unit
|
9
|
+
|
10
|
+
def setup
|
11
|
+
setup_webunit
|
12
|
+
Cookies::clear
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_Cookies
|
16
|
+
do_request( "webunit/cookie.rb")
|
17
|
+
|
18
|
+
assert_equals( { }, Web::cookie )
|
19
|
+
|
20
|
+
do_submit( 'key' => 'name1', 'value' => 'value1' )
|
21
|
+
|
22
|
+
assert_title( 'WebUnit::Cookies' )
|
23
|
+
assert_equals( %w( name1 ), Web::cookie.keys )
|
24
|
+
|
25
|
+
do_submit
|
26
|
+
|
27
|
+
assert_title( 'WebUnit::Cookies' )
|
28
|
+
|
29
|
+
table = response.table
|
30
|
+
assert_equals( "name1", table.at(1,1).data )
|
31
|
+
assert_equals( "value1", table.at(1,2).data )
|
32
|
+
|
33
|
+
Web::cookie.clear
|
34
|
+
Web::cookie['NAME'] = 'AAA'
|
35
|
+
|
36
|
+
do_submit
|
37
|
+
|
38
|
+
assert_title( 'WebUnit::Cookies' )
|
39
|
+
|
40
|
+
table = response.table
|
41
|
+
assert_equals( "NAME", table.at(1,1).data )
|
42
|
+
assert_equals( "AAA", table.at(1,2).data )
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_s_clear # and instance method 'clear'
|
46
|
+
|
47
|
+
line = "name1=value1; path=/"
|
48
|
+
Web::cookie.update_by_addcookie( line )
|
49
|
+
assert_equals( %w( name1 ), Web::cookie.keys )
|
50
|
+
Web::cookie::clear
|
51
|
+
assert_equals( [], Web::cookie::keys )
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_s_add # and instance method 'add'
|
56
|
+
|
57
|
+
Web::cookie['name1'] = 'value1'
|
58
|
+
assert_equals( 'value1', Web::cookie['name1'] )
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_s_list # and instance method 'list'
|
63
|
+
|
64
|
+
line = "name1=value1; path=/"
|
65
|
+
Web::cookie::update_by_addcookie( line )
|
66
|
+
assert_equals( %w( name1 ), Web::cookie::keys )
|
67
|
+
|
68
|
+
line = "name2=value2; path=/aaa"
|
69
|
+
Web::cookie::update_by_addcookie( line )
|
70
|
+
assert_equals( [], %w( name1 name2 ) - Web::cookie::keys )
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_s_has? # and instance method 'has?'
|
75
|
+
|
76
|
+
line = "name1=value1; path=/"
|
77
|
+
Web::cookie::update_by_addcookie( line )
|
78
|
+
assert_equals( true, Web::cookie::key?( 'name1' ) )
|
79
|
+
assert_equals( false, Web::cookie::key?( 'name2' ) )
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_s_update # and instance method 'update'
|
84
|
+
|
85
|
+
line = "name1=value1; path=/"
|
86
|
+
Web::cookie::update_by_addcookie( line )
|
87
|
+
assert_equals( ['value1'], Web::cookie['name1'] )
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
# ooo, have to track this
|
92
|
+
def test_s_header_FIXME # and instance method 'header'
|
93
|
+
|
94
|
+
line = "name1=value1; path=/aaa"
|
95
|
+
Web::cookie::update_by_addcookie( line )
|
96
|
+
Cookies::update( line )
|
97
|
+
|
98
|
+
header = Cookies::header( '/aaa' )
|
99
|
+
assert_equals( {'Cookie'=>'name1=value1'}, header )
|
100
|
+
|
101
|
+
header = Cookies::header( '/' )
|
102
|
+
assert_equals( {}, header )
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
def test_accessor
|
107
|
+
assert_kind_of( Hash, Web::cookie )
|
108
|
+
Web::cookie = {}
|
109
|
+
assert_exception( ArgumentError ){
|
110
|
+
Web::cookie = nil
|
111
|
+
}
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_domwalker.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
class TestXml < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_doc
|
10
|
+
|
11
|
+
xml = <<-'EOF'
|
12
|
+
<?xml version="1.0"?>
|
13
|
+
<top>
|
14
|
+
<array>
|
15
|
+
<name id="1">name1</name>
|
16
|
+
<name id="2">name2</name>
|
17
|
+
</array>
|
18
|
+
<array>
|
19
|
+
<name id="1" append="x">name1x</name>
|
20
|
+
<name id="1" append="y">name1y</name>
|
21
|
+
<name id="2" append="x">name2x</name>
|
22
|
+
<name id="2" append="y" more="q">name2y</name>
|
23
|
+
</array>
|
24
|
+
<x></x>
|
25
|
+
</top>
|
26
|
+
EOF
|
27
|
+
|
28
|
+
doc = WebUnit::DomWalker::new( xml )
|
29
|
+
assert_equals( '/', doc.cur_path )
|
30
|
+
assert_equals( 'top', doc.cur_name )
|
31
|
+
assert_equals( 3, doc.size() )
|
32
|
+
assert_equals( 2, doc.size( "array" ) )
|
33
|
+
|
34
|
+
doc.change_node( 'array/name' )
|
35
|
+
assert_equals( '/array/name', doc.cur_path )
|
36
|
+
assert_equals( "name1", doc.cur_value )
|
37
|
+
assert_equals( "1", doc.cur_attrs['id'] )
|
38
|
+
|
39
|
+
doc.change_node( '/array/name[0]' )
|
40
|
+
assert_equals( '/array/name[0]', doc.cur_path )
|
41
|
+
assert_equals( "name1", doc.cur_value )
|
42
|
+
|
43
|
+
doc.change_node( '/array/name[1]' )
|
44
|
+
assert_equals( '/array/name[1]', doc.cur_path )
|
45
|
+
assert_equals( "name2", doc.cur_value )
|
46
|
+
assert_equals( "2", doc.cur_attrs['id'] )
|
47
|
+
|
48
|
+
assert_exception( WebUnit::DomWalkerError ){
|
49
|
+
doc.change_node( '/array/name[2]' )
|
50
|
+
}
|
51
|
+
|
52
|
+
doc.change_node( '/array/name[id="1"]' )
|
53
|
+
assert_equals( '/array/name[id="1"]', doc.cur_path )
|
54
|
+
assert_equals( "name1", doc.cur_value )
|
55
|
+
|
56
|
+
doc.change_node( '/array/name[id="2"]' )
|
57
|
+
assert_equals( '/array/name[id="2"]', doc.cur_path )
|
58
|
+
assert_equals( "name2", doc.cur_value )
|
59
|
+
|
60
|
+
assert_exception( WebUnit::DomWalkerError ){
|
61
|
+
doc.change_node( '/array/name[id="3"]' )
|
62
|
+
}
|
63
|
+
|
64
|
+
path = '/array[1]/name[id="1",append="y"]'
|
65
|
+
doc.change_node( path )
|
66
|
+
assert_equals( path, doc.cur_path )
|
67
|
+
assert_equals( "name1y", doc.cur_value )
|
68
|
+
|
69
|
+
path = '/array[1]/name[id="2",append="y"]'
|
70
|
+
doc.change_node( path )
|
71
|
+
assert_equals( path, doc.cur_path )
|
72
|
+
assert_equals( "name2y", doc.cur_value )
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::Form
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_form.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
class TestForm < Test::Unit::TestCase
|
8
|
+
include Web::Unit
|
9
|
+
|
10
|
+
def setup
|
11
|
+
setup_webunit
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_accessor
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_Form__store_test_data
|
18
|
+
url = 'webunit/stock.rb'
|
19
|
+
url_clear = url + '?clear'
|
20
|
+
|
21
|
+
do_request( url_clear )
|
22
|
+
assert_urls( url, response.form.action )
|
23
|
+
|
24
|
+
do_request( url )
|
25
|
+
form = response.form
|
26
|
+
form.store_test_data( %w( name title ), <<-EOF )
|
27
|
+
yuichi,leader
|
28
|
+
tadaya,member
|
29
|
+
EOF
|
30
|
+
|
31
|
+
do_request( url )
|
32
|
+
parameters = response.form.parameters
|
33
|
+
assert_equals( 'yuichi', parameters[3].value )
|
34
|
+
assert_equals( 'leader', parameters[4].value )
|
35
|
+
assert_equals( 'tadaya', parameters[5].value )
|
36
|
+
assert_equals( 'member', parameters[6].value )
|
37
|
+
|
38
|
+
do_request( url_clear )
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::Frame
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_frame.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
class TestFrame < Test::Unit::TestCase
|
8
|
+
include Web::Unit
|
9
|
+
def setup
|
10
|
+
setup_webunit
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_Response
|
14
|
+
|
15
|
+
url = @urlbase + "webunit/frame.html"
|
16
|
+
do_request( url )
|
17
|
+
assert_title( 'WebUnit:frame' )
|
18
|
+
assert_equals( response.frame, response.frames[0] )
|
19
|
+
|
20
|
+
frames = response.frames
|
21
|
+
assert_urls( 'webunit/frame-0.html', frames[0].src )
|
22
|
+
assert_equals( 'f0', frames[0].name )
|
23
|
+
assert_urls( 'webunit/frame-1.html', frames[1].src )
|
24
|
+
assert_equals( 'f1', frames[1].name )
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_accessor
|
29
|
+
frame = Frame::new( 'src'=>@urlbase + 'xxx.html', 'name'=>'fx' )
|
30
|
+
assert_urls( 'xxx.html', frame.src )
|
31
|
+
assert_equals( 'fx', frame.name )
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_read
|
35
|
+
url = @urlbase + 'webunit/frame-0.html'
|
36
|
+
frame = Frame::new( 'src'=>url, 'name'=>'fx' )
|
37
|
+
assert_title( 'WebUnit::frame-0', frame.read )
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::HtmlElem
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_htmlelem.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
require 'webunit/webunit'
|
8
|
+
require 'runit/cui/testrunner'
|
9
|
+
|
10
|
+
module WebUnit
|
11
|
+
|
12
|
+
class TestHtmlElem < WebUnit::TestCase
|
13
|
+
|
14
|
+
def test_accessor
|
15
|
+
|
16
|
+
attr_hash = { 'attr1' => '1', 'attr2' => '2', 'name'=>'x' }
|
17
|
+
h = HtmlElem::new( 'test', attr_hash )
|
18
|
+
|
19
|
+
assert_equals( 'test', h.tag )
|
20
|
+
assert_equals( '', h.data )
|
21
|
+
assert_equals( attr_hash, h.attrs )
|
22
|
+
assert_equals( [], h.children )
|
23
|
+
assert_equals( [], h.array )
|
24
|
+
assert_equals( 'x', h.name )
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_append # data, array, inspect, extract
|
29
|
+
|
30
|
+
attr_hash = { 'attr1' => '1', 'attr2' => '2' }
|
31
|
+
h = HtmlElem::new( 'test', attr_hash )
|
32
|
+
|
33
|
+
h.append 'data'
|
34
|
+
|
35
|
+
assert_equals( 'data', h.data )
|
36
|
+
assert_equals( ['data'], h.array )
|
37
|
+
|
38
|
+
child1 = HtmlElem::new( 'child', 'attr1' => '3' )
|
39
|
+
child1.append( 'data2' )
|
40
|
+
|
41
|
+
h.append child1
|
42
|
+
|
43
|
+
assert_equals( 'data', h.data )
|
44
|
+
assert_equals( ['data',child1], h.array )
|
45
|
+
|
46
|
+
h.append ' 1 '
|
47
|
+
assert_equals( 'data 1 ', h.data )
|
48
|
+
assert_equals( ['data',child1,' 1 '], h.array )
|
49
|
+
|
50
|
+
child2 = HtmlElem::new( 'child', 'attr1' => '4' )
|
51
|
+
child2.append 'data3'
|
52
|
+
h.append child2
|
53
|
+
|
54
|
+
assert_equals( [child1,child2], h.find( 'child' ) )
|
55
|
+
assert_equals( [h], h.search( 'data 1 ' ) )
|
56
|
+
assert_equals( [child2], h.search( 'data3' ) )
|
57
|
+
|
58
|
+
assert_equals( true, h.has?( 'data' ) )
|
59
|
+
assert_equals( false, h.has?( 'data2' ) )
|
60
|
+
assert_equals( true, h.has?( child1 ) )
|
61
|
+
assert_equals( false, child1.has?( child1 ) )
|
62
|
+
|
63
|
+
assert_equals( '<test attr1=1 attr2=2>:data 1 :', h.inspect )
|
64
|
+
|
65
|
+
assert_equals( 'data data2 1 data3', h.extract )
|
66
|
+
child1.append( 'xxx' )
|
67
|
+
assert_equals( 'data data2 xxx 1 data3', h.extract )
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::Image
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_image.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
require 'webunit/webunit'
|
8
|
+
require 'runit/cui/testrunner'
|
9
|
+
|
10
|
+
module WebUnit
|
11
|
+
|
12
|
+
class TestImage < WebUnit::TestCase
|
13
|
+
|
14
|
+
def test_Image
|
15
|
+
|
16
|
+
url = @urlbase + "webunit/image.html"
|
17
|
+
response = Response::get( url )
|
18
|
+
assert_title( 'WebUnit::image', response )
|
19
|
+
|
20
|
+
images = response.images
|
21
|
+
assert_equals( 2, images.size )
|
22
|
+
|
23
|
+
i = -1
|
24
|
+
|
25
|
+
image_edit = images[i+=1]
|
26
|
+
assert_equals( image_edit, response.image )
|
27
|
+
|
28
|
+
assert_equals( 'images/x.gif', image_edit.src )
|
29
|
+
assert_equals( nil, image_edit.alt )
|
30
|
+
assert_equals( nil, image_edit.width )
|
31
|
+
assert_equals( nil, image_edit.height )
|
32
|
+
assert_equals( nil, image_edit.border )
|
33
|
+
|
34
|
+
image_up = images[i+=1]
|
35
|
+
assert_equals( 'images/y.gif', image_up.src )
|
36
|
+
assert_equals( 'up', image_up.alt )
|
37
|
+
assert_equals( '64', image_up.width )
|
38
|
+
assert_equals( '64', image_up.height )
|
39
|
+
assert_equals( '0', image_up.border )
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
= test for WebUnit::JSciriptOpenObject
|
3
|
+
Copyright(C) 2001 yuichi TAKAHASHI
|
4
|
+
$Id: test_jscript.rb,v 1.1.1.1 2003/01/21 11:50:40 yuichi Exp $
|
5
|
+
=end
|
6
|
+
|
7
|
+
require 'webunit/webunit'
|
8
|
+
require 'runit/cui/testrunner'
|
9
|
+
|
10
|
+
module WebUnit
|
11
|
+
|
12
|
+
class TestJSciriptOpenObject < WebUnit::TestCase
|
13
|
+
|
14
|
+
def test_JSciriptOpenObject
|
15
|
+
|
16
|
+
url = @urlbase + "webunit/jscript.html"
|
17
|
+
response = Response::get( url )
|
18
|
+
assert_title( 'WebUnit::jscript', response )
|
19
|
+
assert_equals( response.open.inspect, response.opens[0].inspect )
|
20
|
+
|
21
|
+
opens = response.opens
|
22
|
+
|
23
|
+
assert_urls( 'webunit/jscript-0.html', opens[0].url )
|
24
|
+
assert_equals( 'jscript-0.html', opens[0].file )
|
25
|
+
assert_equals( 'j0', opens[0].target )
|
26
|
+
|
27
|
+
assert_urls( 'webunit/jscript-1.html', opens[1].url )
|
28
|
+
assert_equals( 'jscript-1.html', opens[1].file )
|
29
|
+
assert_equals( 'j1', opens[1].target )
|
30
|
+
|
31
|
+
response = opens[0].read
|
32
|
+
assert_title( 'WebUnit::jscript-0', response )
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_accessor
|
37
|
+
|
38
|
+
hash = { 'file'=>'jscript-1.html', 'target'=>'j1',
|
39
|
+
'url'=>complete_url( 'jscript-1.html', @urlbase + 'webunit/x' ) }
|
40
|
+
open = JSciriptOpenObject::new( hash )
|
41
|
+
|
42
|
+
assert_urls( 'webunit/jscript-1.html', open.url )
|
43
|
+
assert_equals( 'jscript-1.html', open.file )
|
44
|
+
assert_equals( 'j1', open.target )
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_read
|
49
|
+
hash = { 'file'=>'jscript-1.html', 'target'=>'j1',
|
50
|
+
'url'=>complete_url( 'jscript-1.html', @urlbase + 'webunit/x' ) }
|
51
|
+
open = JSciriptOpenObject::new( hash )
|
52
|
+
assert_title( 'WebUnit::jscript-1', open.read )
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|