Module: Web::Unit
- Includes:
- Utils
- Included in:
- TestCase
- Defined in:
- lib/web/unit/form.rb,
lib/web/unit/link.rb,
lib/web/unit/frame.rb,
lib/web/unit/image.rb,
lib/web/unit/table.rb,
lib/web/unit/utils.rb,
lib/web/unit/assert.rb,
lib/web/unit/cookie.rb,
lib/web/unit/params.rb,
lib/web/unit/parser.rb,
lib/web/unit/jscript.rb,
lib/web/unit/runtest.rb,
lib/web/unit/htmlelem.rb,
lib/web/unit/response.rb,
lib/web/unit/testcase.rb,
lib/web/unit/converter.rb,
lib/web/unit/converter.rb,
lib/web/unit/domwalker.rb,
lib/web/unit/exception.rb,
lib/web/unit/html-parser.rb,
lib/web/unit/sgml-parser.rb,
lib/web/unit/ui/cui/testrunner.rb
Overview
:nodoc: all
Defined Under Namespace
Modules: UI, Utils Classes: BadHtmlTags, BadOperation, BaseDomWalker, Cookies, DomWalkerError, ElemNotFound, Form, Frame, HTMLParser, HtmlElem, HttpNotFound, Image, Input, InputCheckbox, InputFile, InputImage, InputRadio, InputReset, InputSubmit, JSciriptOpenObject, Link, MemWriter, NilTableCell, Param, Parser, Response, SGMLParser, Select, SelectOption, Table, TableCell, TableRow, TestCase, Textarea
Constant Summary collapse
- BOUNDARY =
'--divider'- AVAILABLE_FRAMEWORKS =
[]
- AVAILABLE_XMLPARSERS =
[]
- USING_XMLPARSER =
'none'
Class Method Summary collapse
-
.dispatch(args) ⇒ Object
:nodoc: all.
-
.runtest(args) ⇒ Object
:nodoc: all.
Instance Method Summary collapse
-
#assert_attrs(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_attrs( expected, actual, message=“” ) check attribute of input field.
-
#assert_include(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_include( expected, actual, message=“” ) check ((|actual|)) has HtmlElems, which have ((|expected|)) as data.
-
#assert_input(name, type, value, actual, message = "") ⇒ Object
— Web::Unit#assert_input( name, type, value, actual, message=“” ) check attribute of input field.
-
#assert_select_option(value, data, selected, actual, message = "") ⇒ Object
— Web::Unit#assert_select_option( value, data, selected, actual, message=“” ).
-
#assert_title(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_title( expected, actual, message=“” ) check title of ((|actual|)) and ((|expected|)) as string, append formatted body to message, when both differ.
-
#assert_urls(expected, actual, message = '') ⇒ Object
— Web::Unit#assert_urls(expected,actual,message=”) compare two URLs.
Methods included from Utils
#complete_url, #orthop_url, #parse_url
Class Method Details
.dispatch(args) ⇒ Object
:nodoc: all
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/web/unit/runtest.rb', line 4 def Unit.dispatch(args) #:nodoc: all f_type = args.shift case f_type when '-fr' ['AVAILABLE_FRAMEWORKS', %w(RubyUnit runit/testcase)] when '-ft' ['AVAILABLE_FRAMEWORKS', %w(Test::Unit test/unit/testcase)] when '-xr' ['AVAILABLE_XMLPARSERS', %w(REXML rexml/document)] when '-xn' ['AVAILABLE_XMLPARSERS', %w(NQXML nqxml/treeparser)] else args.unshift(f_type) nil end end |
.runtest(args) ⇒ Object
:nodoc: all
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/web/unit/runtest.rb', line 21 def Unit.runtest(args) #:nodoc: all if args.size > 0 while res = dispatch(args) next if Web::Unit.const_defined?(res[0]) Web::Unit.const_set(res[0], [res[1]]) end require 'web/unit/ui/cui/testrunner' test_runner = Web::Unit::UI::CUI::TestRunner.new args.each {|f| require f} test_runner.run else puts "#{File.basename($0)} [-fr|-ft|-xr|-xn] testfile1 [, testfile2, ...]" puts "\t-fr : use RubyUnit as Testing Framework" puts "\t-ft : use Test::Unit as Testing Framework(default)" puts "\t-xr : use REXML as XML parser(default)" puts "\t-xn : use NQXML as XML parser" end end |
Instance Method Details
#assert_attrs(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_attrs( expected, actual, message=“” )
check attribute of input field.
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/web/unit/assert.rb', line 102 def assert_attrs( expected, actual, ="" ) setup_assert << " " unless == "" expected.each do |k,v| av = nil if actual.respond_to?( "#{k}" ) av = actual.send( "#{k}" ) else av = actual.attrs[k] if actual.attrs.key?( k ) end unless av == v << "expected:<#{k}:#{v}> but was:<#{k}:#{av}>" raise_assertion_error( ) end end end |
#assert_include(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_include( expected, actual, message=“” )
check ((|actual|)) has HtmlElems, which have ((|expected|)) as data
126 127 128 129 130 131 132 133 134 135 |
# File 'lib/web/unit/assert.rb', line 126 def assert_include( expected, actual, ="" ) setup_assert << " " unless == "" unless actual.has?( expected ) then if actual.search( expected ) == [] << "expected:<#{expected.inspect}> but not exist in <#{actual.inspect}>." raise_assertion_error( ) end end end |
#assert_input(name, type, value, actual, message = "") ⇒ Object
— Web::Unit#assert_input( name, type, value, actual, message=“” )
check attribute of input field.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/web/unit/assert.rb', line 49 def assert_input( name, type, value, actual, ="" ) setup_assert << " " unless == "" unless name == actual.name << "expected:<name:#{name}> but was:<name:#{actual.name}>" raise_assertion_error( ) end unless type == actual.type << "expected:<type:#{type}> but was:<type:#{actual.type}>" raise_assertion_error( ) end unless value == actual.value << "expected:<value:#{value}> but was:<value:#{actual.value}>" raise_assertion_error( ) end end |
#assert_select_option(value, data, selected, actual, message = "") ⇒ Object
— Web::Unit#assert_select_option( value, data, selected, actual, message=“” )
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/web/unit/assert.rb', line 72 def assert_select_option( value, data, selected, actual, ="" ) setup_assert << " " unless == "" unless value == actual.value << "expected:<value:#{value}> but was:<value:#{actual.value}>" raise_assertion_error( ) end data = value if data == nil unless data == actual.data << "expected:<data:#{data}> but was:<data:#{actual.data}>" raise_assertion_error( ) end unless selected == ( actual.stat == 'on' ) #unless selected == ( '' == actual.attrs['selected'] ) if selected << "expected:<selected> but was:<unselected>" else << "expected:<unselected> but was:<selected>" end raise_assertion_error( ) end end |
#assert_title(expected, actual, message = "") ⇒ Object
— Web::Unit#assert_title( expected, actual, message=“” )
check title of ((|actual|)) and ((|expected|)) as string,
append formatted body to , when both differ.
143 144 145 146 147 148 149 150 151 |
# File 'lib/web/unit/assert.rb', line 143 def assert_title( expected, actual, ="" ) setup_assert << " " unless == "" unless actual.title == expected then << "expected:<#{expected}> but not exist in <#{actual.title}>." << "\n#{'='*72}#{actual.format}\n#{'='*72}\n" raise_assertion_error( ) end end |
#assert_urls(expected, actual, message = '') ⇒ Object
— Web::Unit#assert_urls(expected,actual,message=”)
compare two URLs. raise AssertionFailedError, when these are diferent.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/web/unit/assert.rb', line 19 def assert_urls( expected, actual, ='' ) setup_assert << " " unless == "" if expected == nil || actual == nil << "expected:<nil> but was:<#{actual}>" if expected == nil << "expected:<#{expected}> but was:<nil>" if actual == nil raise_assertion_error( ) end some_expected = [expected, $URLBASE + expected] patterns = [actual, orthop_url(actual)] for exp in some_expected for e in [exp, orthop_url(exp)] for pattern in patterns return if e == pattern end end end << "expected:<#{expected}> but was:<#{actual}>" raise_assertion_error( ) end |