diff options
author | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-14 04:40:53 +0000 |
---|---|---|
committer | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-14 04:40:53 +0000 |
commit | 6ec0dc62d48de4d58cc6ea2993a3450390615c3b (patch) | |
tree | a837274b0ab3d3ba129868fb2352643a475e13be /test/DOMTSHandler.pm | |
parent | 0f44b5a8c07581232de4c676a00148c6b283c1c1 (diff) | |
download | libdom-6ec0dc62d48de4d58cc6ea2993a3450390615c3b.tar.gz libdom-6ec0dc62d48de4d58cc6ea2993a3450390615c3b.tar.bz2 |
1. Find there are indeed two testcases for Events module, so I add support for them.
2. Change DOMTSHandler to deal with more exceptions and types
3. Add a new test assertion.
svn path=/trunk/dom/; revision=9280
Diffstat (limited to 'test/DOMTSHandler.pm')
-rw-r--r-- | test/DOMTSHandler.pm | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 5f36d53..4e9d304 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -103,15 +103,21 @@ our %exceptions = ( DOM_INVALID_ACCESS_ERR => 15, DOM_VALIDATION_ERR => 16, DOM_TYPE_MISMATCH_ERR => 17, - DOM_NO_MEM_ERR => (1<<16) + + DOM_UNSPECIFIED_EVENT_TYPE_ERR => (1<<30)+0, + DOM_DISPATCH_REQUEST_ERR => (1<<30)+1, + + DOM_NO_MEM_ERR => (1<<31)+0, ); our @condition = qw(same equals notEquals less lessOrEquals greater greaterOrEquals isNull notNull and or xor not instanceOf isTrue isFalse hasSize contentType hasFeature implementationAttribute); -our @exception = qw(INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR NAMESPACE_ERR); +our @exception = qw(INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR NAMESPACE_ERR UNSPECIFIED_EVENT_TYPE_ERR DISPATCH_REQUEST_ERR); our @assertion = qw(assertTrue assertFalse assertNull assertNotNull assertEquals assertNotEquals assertSame assertInstanceOf assertSize assertEventCount assertURIEquals); +our @assertexception = qw(assertDOMException assertEventException assertImplementationException); + our @control = qw(if while for-each else); our @framework_statement = qw(assign increment decrement append plus subtract mult divide load implementation comment hasFeature implementationAttribute EventMonitor.setUserObj EventMonitor.getAtEvents EventMonitor.getCaptureEvents EventMonitor.getBubbleEvents EventMonitor.getAllEvents wait); @@ -220,7 +226,7 @@ sub start_element { $self->generate_assertion($en, $element->{Attributes}); } - case "assertDOMException" { + case [@assertexception] { # Indeed, nothing to do here! } @@ -1316,6 +1322,10 @@ sub type_to_ctype { # The core module comes here $type =~ s/[A-Z]/_$&/g; $type = lc $type; + + # For events module + $type =~ s/_u_i_/_ui_/g; + return "dom".$type." *"; } @@ -1335,6 +1345,10 @@ sub to_cmethod { $ret =~ s/h_t_m_l/html/; $ret =~ s/c_d_a_t_a/cdata/; $ret =~ s/_n_s$/_ns/; + # For DOMUIEvent + $ret =~ s/_u_i_/_ui_/; + # For initEvent + $ret =~ s/init_event/init/; return $ret; } |