test contents: | "hello world" | <span> | style="font-weight: bold;" | "WebKit" | <em> | <script> | "var i=0;" | <b> | <code> | "This" | " is" | " a " | <tt> | "test " | <wbr> | "of " | <blockquote> | "Range's extractContents." | <q> | <dfn> | "This" | <!-- test --> | " " | <header> | <h3> | "test" | " also works in Firefox." PASS: Extracting empty contents yields: | PASS: Extracting entire contents yields: | "hello world" | <span> | style="font-weight: bold;" | "WebKit" | <em> | <script> | "var i=0;" | <b> | <code> | "This" | " is" | " a " | <tt> | "test " | <wbr> | "of " | <blockquote> | "Range's extractContents." | <q> | <dfn> | "This" | <!-- test --> | " " | <header> | <h3> | "test" | " also works in Firefox." PASS: Extracting single text node yields: | "hello world" PASS: Extracting substring of a text node (2, 5) yields: | "llo" PASS: Extracting single text node and start of span yields: | "hello world" | <span> | style="font-weight: bold;" PASS: Extracting single text node and a span yields: | "hello world" | <span> | style="font-weight: bold;" | "WebKit" PASS: Extracting span through first b yields: | <span> | style="font-weight: bold;" | "WebKit" | <em> | <script> | "var i=0;" | <b> PASS: Extracting code through blockquote yields: | <b> | <code> | "This" | " is" | " a " | <tt> | "test " | <wbr> | "of " | <blockquote> | "Range's extractContents." PASS: Extracting wbr through blockquote yields: | <wbr> | "of " | <blockquote> | "Range's extractContents." PASS: Extracting q through header yields: | <q> | <dfn> | "This" | <!-- test --> | " " | <header> | <h3> | "test" PASS: Extracting q through header using node index yields: | <q> | <dfn> | "This" | <!-- test --> | " " | <header> | <h3> | "test" PASS: Extracting dfn through header yields: | <q> | <dfn> | "This" | <!-- test --> | " " | <header> | <h3> | "test" PASS: Extracting script through dfn yields: | <em> | <script> | "var i=0;" | <b> | <code> | "This" | " is" | " a " | <tt> | "test " | <wbr> | "of " | <blockquote> | "Range's extractContents." | <q> | <dfn> | "This" PASS: Extracting blockquote through em yields: | <tt> | <blockquote> | "Range's extractContents." DONE