18e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
28e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block/*
38e32145b4e03a65dfedc686a281d7a7f78d57a72Steve BlockCopyright © 2001-2004 World Wide Web Consortium,
48e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block(Massachusetts Institute of Technology, European Research Consortium
58e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfor Informatics and Mathematics, Keio University). All
68e32145b4e03a65dfedc686a281d7a7f78d57a72Steve BlockRights Reserved. This work is distributed under the W3C® Software License [1] in the
78e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockhope that it will be useful, but WITHOUT ANY WARRANTY; without even
88e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
98e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
108e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
118e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block*/
128e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
138e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
148e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
158e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   /**
168e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    *  Gets URI that identifies the test.
178e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    *  @return uri identifier of test
188e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    */
198e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfunction getTargetURI() {
208e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor03";
218e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   }
228e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
238e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockvar docsLoaded = -1000000;
248e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockvar builder = null;
258e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
268e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//
278e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//   This function is called by the testing framework before
288e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//      running the test suite.
298e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//
308e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//   If there are no configuration exceptions, asynchronous
318e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//        document loading is started.  Otherwise, the status
328e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//        is set to complete and the exception is immediately
338e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//        raised when entering the body of the test.
348e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//
358e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfunction setUpPage() {
368e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   setUpPageStatus = 'running';
378e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   try {
388e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block     //
398e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block     //   creates test document builder, may throw exception
408e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block     //
418e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block     builder = createConfiguredBuilder();
428e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
438e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      docsLoaded = 0;
448e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
458e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      var docRef = null;
468e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      if (typeof(this.doc) != 'undefined') {
478e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block        docRef = this.doc;
488e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      }
498e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      docsLoaded += preload(docRef, "doc", "anchor");
508e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
518e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block       if (docsLoaded == 1) {
528e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block          setUpPageStatus = 'complete';
538e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block       }
548e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    } catch(ex) {
558e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    	catchInitializationError(builder, ex);
568e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block        setUpPageStatus = 'complete';
578e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    }
588e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block}
598e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
608e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
618e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
628e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//
638e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//   This method is called on the completion of
648e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//      each asychronous load started in setUpTests.
658e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//
668e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//   When every synchronous loaded document has completed,
678e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//      the page status is changed which allows the
688e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block//      body of the test to be executed.
698e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfunction loadComplete() {
708e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    if (++docsLoaded == 1) {
718e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block        setUpPageStatus = 'complete';
728e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    }
738e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block}
748e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
758e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
768e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block/**
778e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block*
788e32145b4e03a65dfedc686a281d7a7f78d57a72Steve BlockComma-separated list of lengths, defining an active region geometry.
798e32145b4e03a65dfedc686a281d7a7f78d57a72Steve BlockThe value of attribute coords of the anchor element is read and checked against the expected value.
808e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
818e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block* @author Netscape
828e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block* @author Sivakiran Tummala
838e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539
848e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block*/
858e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfunction anchor03() {
868e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   var success;
878e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    if(checkInitialization(builder, "anchor03") != null) return;
888e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block    var nodeList;
898e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      var testNode;
908e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      var vcoords;
918e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      var doc;
928e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
938e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      var docRef = null;
948e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      if (typeof(this.doc) != 'undefined') {
958e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block        docRef = this.doc;
968e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      }
978e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      doc = load(docRef, "doc", "anchor");
988e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      nodeList = doc.getElementsByTagName("a");
998e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      assertSize("Asize",1,nodeList);
1008e32145b4e03a65dfedc686a281d7a7f78d57a72Steve BlocktestNode = nodeList.item(0);
1018e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      vcoords = testNode.coords;
1028e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1038e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block      assertEquals("coordsLink","0,0,100,100",vcoords);
1048e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1058e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block}
1068e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1078e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1088e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1098e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block
1108e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Blockfunction runTest() {
1118e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block   anchor03();
1128e32145b4e03a65dfedc686a281d7a7f78d57a72Steve Block}
113