Drop legacy XPathException type
[WebKit.git] / LayoutTests / dom / svg / level3 / xpath / XPathEvaluator_evaluate_TYPE_ERR.js
1
2 /*
3 Copyright Â© 2001-2004 World Wide Web Consortium, 
4 (Massachusetts Institute of Technology, European Research Consortium 
5 for Informatics and Mathematics, Keio University). All 
6 Rights Reserved. This work is distributed under the W3C® Software License [1] in the 
7 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
9
10 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
11 */
12
13
14 // expose test function names
15 function exposeTestFunctionNames()
16 {
17 return ['XPathEvaluator_evaluate_TYPE_ERR'];
18 }
19
20 var docsLoaded = -1000000;
21 var builder = null;
22
23 //
24 //   This function is called by the testing framework before
25 //      running the test suite.
26 //
27 //   If there are no configuration exceptions, asynchronous
28 //        document loading is started.  Otherwise, the status
29 //        is set to complete and the exception is immediately
30 //        raised when entering the body of the test.
31 //
32 function setUpPage() {
33    setUpPageStatus = 'running';
34    try {
35      //
36      //   creates test document builder, may throw exception
37      //
38      builder = createConfiguredBuilder();
39
40       docsLoaded = 0;
41       
42       var docRef = null;
43       if (typeof(this.doc) != 'undefined') {
44         docRef = this.doc;
45       }
46       docsLoaded += preload(docRef, "doc", "staffNS");
47         
48        if (docsLoaded == 1) {
49           setUpPageStatus = 'complete';
50        }
51     } catch(ex) {
52         catchInitializationError(builder, ex);
53         setUpPageStatus = 'complete';
54     }
55 }
56
57
58
59 //
60 //   This method is called on the completion of 
61 //      each asychronous load started in setUpTests.
62 //
63 //   When every synchronous loaded document has completed,
64 //      the page status is changed which allows the
65 //      body of the test to be executed.
66 function loadComplete() {
67     if (++docsLoaded == 1) {
68         setUpPageStatus = 'complete';
69     }
70 }
71
72
73 /**
74 *       
75 Evaluate "string(/)" and request that the result be a FIRST_ORDERED_NODE_TYPE, should
76 result in a TYPE_ERR.
77     
78 * @author Curt Arnold
79 * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator-evaluate
80 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=508
81 */
82 function XPathEvaluator_evaluate_TYPE_ERR() {
83    var success;
84     if(checkInitialization(builder, "XPathEvaluator_evaluate_TYPE_ERR") != null) return;
85     var doc;
86       var xpEvaluator;
87       var result;
88       var nullNSResolver = null;
89
90       var nullResult = null;
91
92       
93       var docRef = null;
94       if (typeof(this.doc) != 'undefined') {
95         docRef = this.doc;
96       }
97       doc = load(docRef, "doc", "staffNS");
98       xpEvaluator = createXPathEvaluator(doc);
99
100         {
101                 success = false;
102                 try {
103             result = xpEvaluator.evaluate("string(/)",doc,nullNSResolver,9,nullResult);
104         }
105                 catch(ex) {            
106       success = (ex.name == "TypeError");
107                 }
108                 assertTrue("throw_TYPE_ERR",success);
109         }
110
111 }
112
113
114
115
116 function runTest() {
117    XPathEvaluator_evaluate_TYPE_ERR();
118 }