<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>16744</bug_id>
          
          <creation_ts>2008-01-05 14:01:13 -0800</creation_ts>
          <short_desc>Acid3 expects different exception handling in NodeIterator</short_desc>
          <delta_ts>2008-01-08 13:02:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>4714</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>16743</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>66296</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 14:01:13 -0800</bug_when>
    <thetext>This might be a dup of bug 16743.

We fail Acid3 test 6:

    function () {
      // test 6: Removing nodes during iteration
      var count = 0;
      var expect = function(n, node1, node2) {
        count += 1;
        assert(n == count, &quot;reached expectation &quot; + n + &quot; when expecting expectation &quot; + count);
        assert(node1 == node2, &quot;expectation &quot; + count + &quot; failed&quot;);
      };
      var doc = getTestDocument();
      var t1 = doc.body.appendChild(doc.createElement(&apos;t1&apos;));
      var t2 = doc.body.appendChild(doc.createElement(&apos;t2&apos;));
      var t3 = doc.body.appendChild(doc.createElement(&apos;t3&apos;));
      var t4 = doc.body.appendChild(doc.createElement(&apos;t4&apos;));
      var callCount = 0;
      var filterFunctions = [
        function (node) { expect(1, node, doc.body); return true; }, // filter 0
        function (node) { expect(3, node, t1); return true; }, // filter 1
        function (node) { expect(5, node, t2); return true; }, // filter 2
        function (node) { expect(7, node, t3); doc.body.removeChild(t4); return true; }, // filter 3
        function (node) { expect(9, node, t3); doc.body.appendChild(t4); return true; }, // filter 4
        function (node) { expect(11, node, t4); return true; }, // filter 5
        function (node) { expect(13, node, t4); doc.body.removeChild(t4); return false; }, // filter 6
        function (node) { expect(14, node, t3); return true; }, // filter 7
        function (node) { expect(16, node, t2); doc.body.removeChild(t2); return true; }, // filter 8
        function (node) { expect(18, node, t1); return true; }, // filter 9
      ];
      var i = doc.createNodeIterator(doc.documentElement.lastChild, 0xFFFFFFFF, function (node) { return filterFunctions[callCount++](node); }, true);
      // * B 1 2 3 4
      expect(2, i.nextNode(), doc.body); // filter 0
      // [B] * 1 2 3 4     
      expect(4, i.nextNode(), t1); // filter 1
      // B [1] * 2 3 4
      expect(6, i.nextNode(), t2); // filter 2
      // B 1 [2] * 3 4
      expect(8, i.nextNode(), t3); // filter 3
      // B 1 2 [3] *
      expect(10, i.nextNode(), t3); // filter 4
      // B 1 2 [3] * 4
      expect(12, i.nextNode(), t4); // filter 5
      // B 1 2 3 [4] *
      expect(15, i.previousNode(), t4); // filters 6, 7
        // B 1 2 3 * (4) // filter 6
        // B 1 2 [3] *   // between 6 and 7
        // B 1 2 * (3)   // filter 7
      // B 1 2 * [3]
      expect(17, i.previousNode(), t2); // filter 8
        // B 1 * (2) 3
      // B * [1] 3
      expect(19, i.previousNode(), t1); // filter 9
      return 1;
    },</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66338</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 20:04:23 -0800</bug_when>
    <thetext>The printed failure:
Test 6: FAIL (reached expectation 10 when expecting expectation 9)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66574</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-08 13:02:43 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of 4714 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>