mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Implement base machinery of Range
The actual boundary points are behind a Rc<_> value to let nodes be able to store weak references to them in the future.
This commit is contained in:
parent
5386cb31d0
commit
184fb7bd86
19 changed files with 521 additions and 98593 deletions
|
@ -1166,7 +1166,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
|||
|
||||
// https://dom.spec.whatwg.org/#dom-document-createrange
|
||||
fn CreateRange(self) -> Temporary<Range> {
|
||||
Range::new(self)
|
||||
Range::new_with_doc(self)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-document-createtreewalker
|
||||
|
|
|
@ -2,44 +2,512 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use dom::bindings::codegen::Bindings::RangeBinding;
|
||||
use dom::bindings::codegen::Bindings::NodeBinding::NodeConstants;
|
||||
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
|
||||
use dom::bindings::codegen::Bindings::RangeBinding::{self, RangeConstants};
|
||||
use dom::bindings::codegen::Bindings::RangeBinding::RangeMethods;
|
||||
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
|
||||
use dom::bindings::error::Fallible;
|
||||
use dom::bindings::codegen::InheritTypes::NodeCast;
|
||||
use dom::bindings::error::{Error, ErrorResult, Fallible};
|
||||
use dom::bindings::global::GlobalRef;
|
||||
use dom::bindings::js::{JSRef, Rootable, Temporary};
|
||||
use dom::bindings::js::{JS, JSRef, MutHeap, Rootable, Temporary};
|
||||
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
||||
use dom::document::{Document, DocumentHelpers};
|
||||
use dom::node::{Node, NodeHelpers};
|
||||
|
||||
use std::cell::RefCell;
|
||||
use std::cmp::{Ord, Ordering, PartialEq, PartialOrd};
|
||||
use std::rc::Rc;
|
||||
|
||||
#[dom_struct]
|
||||
pub struct Range {
|
||||
reflector_: Reflector
|
||||
reflector_: Reflector,
|
||||
inner: Rc<RefCell<RangeInner>>,
|
||||
}
|
||||
|
||||
impl Range {
|
||||
fn new_inherited() -> Range {
|
||||
fn new_inherited(start_container: JSRef<Node>, start_offset: u32,
|
||||
end_container: JSRef<Node>, end_offset: u32) -> Range {
|
||||
Range {
|
||||
reflector_: Reflector::new()
|
||||
reflector_: Reflector::new(),
|
||||
inner: Rc::new(RefCell::new(RangeInner::new(
|
||||
BoundaryPoint::new(start_container, start_offset),
|
||||
BoundaryPoint::new(end_container, end_offset)))),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new(document: JSRef<Document>) -> Temporary<Range> {
|
||||
pub fn new_with_doc(document: JSRef<Document>) -> Temporary<Range> {
|
||||
let root = NodeCast::from_ref(document);
|
||||
Range::new(document, root, 0, root, 0)
|
||||
}
|
||||
|
||||
pub fn new(document: JSRef<Document>,
|
||||
start_container: JSRef<Node>, start_offset: u32,
|
||||
end_container: JSRef<Node>, end_offset: u32)
|
||||
-> Temporary<Range> {
|
||||
let window = document.window().root();
|
||||
reflect_dom_object(box Range::new_inherited(),
|
||||
reflect_dom_object(box Range::new_inherited(start_container, start_offset,
|
||||
end_container, end_offset),
|
||||
GlobalRef::Window(window.r()),
|
||||
RangeBinding::Wrap)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range
|
||||
pub fn Constructor(global: GlobalRef) -> Fallible<Temporary<Range>> {
|
||||
let document = global.as_window().Document().root();
|
||||
Ok(Range::new(document.r()))
|
||||
Ok(Range::new_with_doc(document.r()))
|
||||
}
|
||||
}
|
||||
|
||||
pub trait RangeHelpers<'a> {
|
||||
fn inner(self) -> &'a Rc<RefCell<RangeInner>>;
|
||||
}
|
||||
|
||||
impl<'a> RangeHelpers<'a> for JSRef<'a, Range> {
|
||||
fn inner(self) -> &'a Rc<RefCell<RangeInner>> {
|
||||
&self.extended_deref().inner
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> RangeMethods for JSRef<'a, Range> {
|
||||
/// https://dom.spec.whatwg.org/#dom-range-detach
|
||||
// http://dom.spec.whatwg.org/#dom-range-startcontainer
|
||||
fn StartContainer(self) -> Temporary<Node> {
|
||||
self.inner().borrow().start.node()
|
||||
}
|
||||
|
||||
/// http://dom.spec.whatwg.org/#dom-range-startoffset
|
||||
fn StartOffset(self) -> u32 {
|
||||
self.inner().borrow().start.offset
|
||||
}
|
||||
|
||||
/// http://dom.spec.whatwg.org/#dom-range-endcontainer
|
||||
fn EndContainer(self) -> Temporary<Node> {
|
||||
self.inner().borrow().end.node()
|
||||
}
|
||||
|
||||
/// http://dom.spec.whatwg.org/#dom-range-endoffset
|
||||
fn EndOffset(self) -> u32 {
|
||||
self.inner().borrow().end.offset
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-collapsed
|
||||
fn Collapsed(self) -> bool {
|
||||
let inner = self.inner().borrow();
|
||||
inner.start == inner.end
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-commonancestorcontainer
|
||||
fn CommonAncestorContainer(self) -> Temporary<Node> {
|
||||
self.inner().borrow().common_ancestor_container()
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setstartnode-offset
|
||||
fn SetStart(self, node: JSRef<Node>, offset: u32) -> ErrorResult {
|
||||
if node.is_doctype() {
|
||||
// Step 1.
|
||||
Err(Error::InvalidNodeType)
|
||||
} else if offset > node.len() {
|
||||
// Step 2.
|
||||
Err(Error::IndexSize)
|
||||
} else {
|
||||
// Step 3-4.
|
||||
self.inner().borrow_mut().set_start(node, offset);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setendnode-offset
|
||||
fn SetEnd(self, node: JSRef<Node>, offset: u32) -> ErrorResult {
|
||||
if node.is_doctype() {
|
||||
// Step 1.
|
||||
Err(Error::InvalidNodeType)
|
||||
} else if offset > node.len() {
|
||||
// Step 2.
|
||||
Err(Error::IndexSize)
|
||||
} else {
|
||||
// Step 3-4.
|
||||
self.inner().borrow_mut().set_end(node, offset);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setstartbeforenode
|
||||
fn SetStartBefore(self, node: JSRef<Node>) -> ErrorResult {
|
||||
let parent = try!(node.parent_node().ok_or(Error::InvalidNodeType)).root();
|
||||
self.SetStart(parent.r(), node.index())
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setstartafternode
|
||||
fn SetStartAfter(self, node: JSRef<Node>) -> ErrorResult {
|
||||
let parent = try!(node.parent_node().ok_or(Error::InvalidNodeType)).root();
|
||||
self.SetStart(parent.r(), node.index() + 1)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setendbeforenode
|
||||
fn SetEndBefore(self, node: JSRef<Node>) -> ErrorResult {
|
||||
let parent = try!(node.parent_node().ok_or(Error::InvalidNodeType)).root();
|
||||
self.SetEnd(parent.r(), node.index())
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-setendafternode
|
||||
fn SetEndAfter(self, node: JSRef<Node>) -> ErrorResult {
|
||||
let parent = try!(node.parent_node().ok_or(Error::InvalidNodeType)).root();
|
||||
self.SetEnd(parent.r(), node.index() + 1)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-collapsetostart
|
||||
fn Collapse(self, to_start: bool) {
|
||||
self.inner().borrow_mut().collapse(to_start);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-selectnodenode
|
||||
fn SelectNode(self, node: JSRef<Node>) -> ErrorResult {
|
||||
self.inner().borrow_mut().select_node(node)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-selectnodecontentsnode
|
||||
fn SelectNodeContents(self, node: JSRef<Node>) -> ErrorResult {
|
||||
self.inner().borrow_mut().select_node_contents(node)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-compareboundarypointshow-sourcerange
|
||||
fn CompareBoundaryPoints(self, how: u16, source_range: JSRef<Range>)
|
||||
-> Fallible<i16> {
|
||||
if how > RangeConstants::END_TO_START {
|
||||
// Step 1.
|
||||
return Err(Error::NotSupported);
|
||||
}
|
||||
let this_inner = self.inner().borrow();
|
||||
let other_inner = source_range.inner().borrow();
|
||||
let this_start_node = this_inner.start.node().root();
|
||||
let other_start_node = other_inner.start.node().root();
|
||||
let this_root = this_start_node.r().inclusive_ancestors().last().unwrap();
|
||||
let other_root = other_start_node.r().inclusive_ancestors().last().unwrap();
|
||||
if this_root != other_root {
|
||||
// Step 2.
|
||||
return Err(Error::WrongDocument);
|
||||
}
|
||||
// Step 3.
|
||||
let (this_point, other_point) = match how {
|
||||
RangeConstants::START_TO_START => {
|
||||
(&this_inner.start, &other_inner.start)
|
||||
},
|
||||
RangeConstants::START_TO_END => {
|
||||
(&this_inner.end, &other_inner.start)
|
||||
},
|
||||
RangeConstants::END_TO_END => {
|
||||
(&this_inner.end, &other_inner.end)
|
||||
},
|
||||
RangeConstants::END_TO_START => {
|
||||
(&this_inner.start, &other_inner.end)
|
||||
},
|
||||
_ => unreachable!(),
|
||||
};
|
||||
// step 4.
|
||||
match this_point.partial_cmp(other_point).unwrap() {
|
||||
Ordering::Less => Ok(-1),
|
||||
Ordering::Equal => Ok(0),
|
||||
Ordering::Greater => Ok(1),
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-clonerange
|
||||
fn CloneRange(self) -> Temporary<Range> {
|
||||
let inner = self.inner().borrow();
|
||||
let start = &inner.start;
|
||||
let end = &inner.end;
|
||||
let start_node = start.node().root();
|
||||
let owner_doc = NodeCast::from_ref(start_node.r()).owner_doc().root();
|
||||
Range::new(owner_doc.r(), start_node.r(), start.offset,
|
||||
end.node().root().r(), end.offset)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-ispointinrangenode-offset
|
||||
fn IsPointInRange(self, node: JSRef<Node>, offset: u32) -> Fallible<bool> {
|
||||
match self.inner().borrow().compare_point(node, offset) {
|
||||
Ok(Ordering::Less) => Ok(false),
|
||||
Ok(Ordering::Equal) => Ok(true),
|
||||
Ok(Ordering::Greater) => Ok(false),
|
||||
Err(Error::WrongDocument) => {
|
||||
// Step 2.
|
||||
Ok(false)
|
||||
}
|
||||
Err(error) => Err(error),
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-comparepointnode-offset
|
||||
fn ComparePoint(self, node: JSRef<Node>, offset: u32) -> Fallible<i16> {
|
||||
self.inner().borrow().compare_point(node, offset).map(|order| {
|
||||
match order {
|
||||
Ordering::Less => -1,
|
||||
Ordering::Equal => 0,
|
||||
Ordering::Greater => 1,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-intersectsnodenode
|
||||
fn IntersectsNode(self, node: JSRef<Node>) -> bool {
|
||||
let inner = self.inner().borrow();
|
||||
let start = &inner.start;
|
||||
let start_node = start.node().root();
|
||||
let start_offset = start.offset;
|
||||
let start_node_root = start_node.r().inclusive_ancestors().last().unwrap().root();
|
||||
let node_root = node.inclusive_ancestors().last().unwrap().root();
|
||||
if start_node_root.r() != node_root.r() {
|
||||
// Step 1.
|
||||
return false;
|
||||
}
|
||||
let parent = match node.parent_node() {
|
||||
Some(parent) => parent,
|
||||
None => {
|
||||
// Step 3.
|
||||
return true;
|
||||
},
|
||||
}.root();
|
||||
// Step 4.
|
||||
let offset = node.index();
|
||||
let end = &inner.end;
|
||||
let end_node = end.node().root();
|
||||
let end_offset = end.offset;
|
||||
match (bp_position(parent.r(), offset + 1, start_node.r(), start_offset).unwrap(),
|
||||
bp_position(parent.r(), offset, end_node.r(), end_offset).unwrap()) {
|
||||
(Ordering::Greater, Ordering::Less) => {
|
||||
// Step 5.
|
||||
true
|
||||
},
|
||||
_ => {
|
||||
// Step 6.
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// http://dom.spec.whatwg.org/#dom-range-detach
|
||||
fn Detach(self) {
|
||||
// This method intentionally left blank.
|
||||
}
|
||||
}
|
||||
|
||||
#[jstraceable]
|
||||
#[must_root]
|
||||
#[privatize]
|
||||
pub struct RangeInner {
|
||||
start: BoundaryPoint,
|
||||
end: BoundaryPoint,
|
||||
}
|
||||
|
||||
impl RangeInner {
|
||||
fn new(start: BoundaryPoint, end: BoundaryPoint) -> RangeInner {
|
||||
RangeInner { start: start, end: end }
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-commonancestorcontainer
|
||||
fn common_ancestor_container(&self) -> Temporary<Node> {
|
||||
let start_container = self.start.node().root();
|
||||
let end_container = self.end.node().root();
|
||||
// Step 1.
|
||||
for container in start_container.r().inclusive_ancestors() {
|
||||
// Step 2.
|
||||
if container.root().r().is_inclusive_ancestor_of(end_container.r()) {
|
||||
// Step 3.
|
||||
return container;
|
||||
}
|
||||
}
|
||||
unreachable!();
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-range-bp-set
|
||||
pub fn set_start(&mut self, bp_node: JSRef<Node>, bp_offset: u32) {
|
||||
// Steps 1-3 handled in Range caller.
|
||||
let end_node = self.end.node().root();
|
||||
let end_offset = self.end.offset;
|
||||
match bp_position(bp_node, bp_offset, end_node.r(), end_offset) {
|
||||
None | Some(Ordering::Greater) => {
|
||||
// Step 4-1.
|
||||
self.end.set(bp_node, bp_offset);
|
||||
},
|
||||
_ => {},
|
||||
};
|
||||
// Step 4-2.
|
||||
self.start.set(bp_node, bp_offset);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-range-bp-set
|
||||
pub fn set_end(&mut self, bp_node: JSRef<Node>, bp_offset: u32) {
|
||||
// Steps 1-3 handled in Range caller.
|
||||
let start_node = self.start.node().root();
|
||||
let start_offset = self.start.offset;
|
||||
match bp_position(bp_node, bp_offset, start_node.r(), start_offset) {
|
||||
None | Some(Ordering::Less) => {
|
||||
// Step 4-1.
|
||||
self.start.set(bp_node, bp_offset);
|
||||
},
|
||||
_ => {},
|
||||
};
|
||||
// Step 4-2.
|
||||
self.end.set(bp_node, bp_offset);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-collapsetostart
|
||||
fn collapse(&mut self, to_start: bool) {
|
||||
if to_start {
|
||||
let start_node = self.start.node().root();
|
||||
self.end.set(start_node.r(), self.start.offset);
|
||||
} else {
|
||||
let end_node = self.end.node().root();
|
||||
self.start.set(end_node.r(), self.end.offset);
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-selectnodenode
|
||||
fn select_node(&mut self, node: JSRef<Node>) -> ErrorResult {
|
||||
// Steps 1, 2.
|
||||
let parent = try!(node.parent_node().ok_or(Error::InvalidNodeType)).root();
|
||||
// Step 3.
|
||||
let index = node.index();
|
||||
// Step 4.
|
||||
self.start.set(parent.r(), index);
|
||||
// Step 5.
|
||||
self.end.set(parent.r(), index + 1);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-selectnodecontentsnode
|
||||
fn select_node_contents(&mut self, node: JSRef<Node>) -> ErrorResult {
|
||||
if node.is_doctype() {
|
||||
// Step 1.
|
||||
return Err(Error::InvalidNodeType);
|
||||
}
|
||||
// Step 2.
|
||||
let length = node.len();
|
||||
// Step 3.
|
||||
self.start.set(node, 0);
|
||||
// Step 4.
|
||||
self.end.set(node, length);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-range-comparepointnode-offset
|
||||
fn compare_point(&self, node: JSRef<Node>, offset: u32) -> Fallible<Ordering> {
|
||||
let start = &self.start;
|
||||
let start_node = start.node().root();
|
||||
let start_offset = start.offset;
|
||||
let start_node_root = start_node.r().inclusive_ancestors().last().unwrap().root();
|
||||
let node_root = node.inclusive_ancestors().last().unwrap().root();
|
||||
if start_node_root.r() != node_root.r() {
|
||||
// Step 1.
|
||||
return Err(Error::WrongDocument);
|
||||
}
|
||||
if node.is_doctype() {
|
||||
// Step 2.
|
||||
return Err(Error::InvalidNodeType);
|
||||
}
|
||||
if offset > node.len() {
|
||||
// Step 3.
|
||||
return Err(Error::IndexSize);
|
||||
}
|
||||
if let Ordering::Less = bp_position(node, offset, start_node.r(), start_offset).unwrap() {
|
||||
// Step 4.
|
||||
return Ok(Ordering::Less);
|
||||
}
|
||||
let end = &self.end;
|
||||
let end_node = end.node().root();
|
||||
let end_offset = end.offset;
|
||||
if let Ordering::Greater = bp_position(node, offset, end_node.r(), end_offset).unwrap() {
|
||||
// Step 5.
|
||||
return Ok(Ordering::Greater);
|
||||
}
|
||||
// Step 6.
|
||||
Ok(Ordering::Equal)
|
||||
}
|
||||
}
|
||||
|
||||
#[jstraceable]
|
||||
#[must_root]
|
||||
#[privatize]
|
||||
pub struct BoundaryPoint {
|
||||
node: MutHeap<JS<Node>>,
|
||||
offset: u32,
|
||||
}
|
||||
|
||||
impl BoundaryPoint {
|
||||
fn new(node: JSRef<Node>, offset: u32) -> BoundaryPoint {
|
||||
debug_assert!(!node.is_doctype());
|
||||
debug_assert!(offset <= node.len());
|
||||
BoundaryPoint {
|
||||
node: MutHeap::new(JS::from_rooted(node)),
|
||||
offset: offset,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn node(&self) -> Temporary<Node> {
|
||||
Temporary::from_rooted(self.node.get())
|
||||
}
|
||||
|
||||
pub fn offset(&self) -> u32 {
|
||||
self.offset
|
||||
}
|
||||
|
||||
fn set(&mut self, node: JSRef<Node>, offset: u32) {
|
||||
debug_assert!(!node.is_doctype());
|
||||
debug_assert!(offset <= node.len());
|
||||
self.node.set(JS::from_rooted(node));
|
||||
self.offset = offset;
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unrooted_must_root)]
|
||||
impl PartialOrd for BoundaryPoint {
|
||||
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
|
||||
bp_position(self.node().root().r(), self.offset,
|
||||
other.node().root().r(), other.offset)
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unrooted_must_root)]
|
||||
impl PartialEq for BoundaryPoint {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.node().root().r() == other.node().root().r() &&
|
||||
self.offset == other.offset
|
||||
}
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-range-bp-position
|
||||
fn bp_position(a_node: JSRef<Node>, a_offset: u32,
|
||||
b_node: JSRef<Node>, b_offset: u32)
|
||||
-> Option<Ordering> {
|
||||
if a_node == b_node {
|
||||
// Step 1.
|
||||
return Some(a_offset.cmp(&b_offset));
|
||||
}
|
||||
let position = b_node.CompareDocumentPosition(a_node);
|
||||
if position & NodeConstants::DOCUMENT_POSITION_DISCONNECTED != 0 {
|
||||
// No order is defined for nodes not in the same tree.
|
||||
None
|
||||
} else if position & NodeConstants::DOCUMENT_POSITION_FOLLOWING != 0 {
|
||||
// Step 2.
|
||||
match bp_position(b_node, b_offset, a_node, a_offset).unwrap() {
|
||||
Ordering::Less => Some(Ordering::Greater),
|
||||
Ordering::Greater => Some(Ordering::Less),
|
||||
Ordering::Equal => unreachable!(),
|
||||
}
|
||||
} else if position & NodeConstants::DOCUMENT_POSITION_CONTAINS != 0 {
|
||||
// Step 3-1, 3-2.
|
||||
let b_ancestors = b_node.inclusive_ancestors();
|
||||
let ref child = b_ancestors.map(|child| child.root()).find(|child| {
|
||||
child.r().parent_node().unwrap().root().r() == a_node
|
||||
}).unwrap();
|
||||
// Step 3-3.
|
||||
if child.r().index() < a_offset {
|
||||
Some(Ordering::Greater)
|
||||
} else {
|
||||
// Step 4.
|
||||
Some(Ordering::Less)
|
||||
}
|
||||
} else {
|
||||
// Step 4.
|
||||
Some(Ordering::Less)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,76 +9,71 @@
|
|||
* http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-view/Overview.html#extensions-to-the-range-interface
|
||||
*/
|
||||
|
||||
[Constructor]
|
||||
[Constructor /*, Exposed=Window */]
|
||||
interface Range {
|
||||
// [Throws]
|
||||
// readonly attribute Node startContainer;
|
||||
// [Throws]
|
||||
// readonly attribute unsigned long startOffset;
|
||||
// [Throws]
|
||||
// readonly attribute Node endContainer;
|
||||
// [Throws]
|
||||
// readonly attribute unsigned long endOffset;
|
||||
// readonly attribute boolean collapsed;
|
||||
// [Throws]
|
||||
// readonly attribute Node commonAncestorContainer;
|
||||
readonly attribute Node startContainer;
|
||||
readonly attribute unsigned long startOffset;
|
||||
readonly attribute Node endContainer;
|
||||
readonly attribute unsigned long endOffset;
|
||||
readonly attribute boolean collapsed;
|
||||
readonly attribute Node commonAncestorContainer;
|
||||
|
||||
// [Throws]
|
||||
// void setStart(Node refNode, unsigned long offset);
|
||||
// [Throws]
|
||||
// void setEnd(Node refNode, unsigned long offset);
|
||||
// [Throws]
|
||||
// void setStartBefore(Node refNode);
|
||||
// [Throws]
|
||||
// void setStartAfter(Node refNode);
|
||||
// [Throws]
|
||||
// void setEndBefore(Node refNode);
|
||||
// [Throws]
|
||||
// void setEndAfter(Node refNode);
|
||||
// void collapse(optional boolean toStart = false);
|
||||
// [Throws]
|
||||
// void selectNode(Node refNode);
|
||||
// [Throws]
|
||||
// void selectNodeContents(Node refNode);
|
||||
[Throws]
|
||||
void setStart(Node refNode, unsigned long offset);
|
||||
[Throws]
|
||||
void setEnd(Node refNode, unsigned long offset);
|
||||
[Throws]
|
||||
void setStartBefore(Node refNode);
|
||||
[Throws]
|
||||
void setStartAfter(Node refNode);
|
||||
[Throws]
|
||||
void setEndBefore(Node refNode);
|
||||
[Throws]
|
||||
void setEndAfter(Node refNode);
|
||||
void collapse(optional boolean toStart = false);
|
||||
[Throws]
|
||||
void selectNode(Node refNode);
|
||||
[Throws]
|
||||
void selectNodeContents(Node refNode);
|
||||
|
||||
// const unsigned short START_TO_START = 0;
|
||||
// const unsigned short START_TO_END = 1;
|
||||
// const unsigned short END_TO_END = 2;
|
||||
// const unsigned short END_TO_START = 3;
|
||||
// [Throws]
|
||||
// short compareBoundaryPoints(unsigned short how, Range sourceRange);
|
||||
const unsigned short START_TO_START = 0;
|
||||
const unsigned short START_TO_END = 1;
|
||||
const unsigned short END_TO_END = 2;
|
||||
const unsigned short END_TO_START = 3;
|
||||
[Throws]
|
||||
short compareBoundaryPoints(unsigned short how, Range sourceRange);
|
||||
// [Throws]
|
||||
// void deleteContents();
|
||||
// [Throws]
|
||||
// [NewObject, Throws]
|
||||
// DocumentFragment extractContents();
|
||||
// [Throws]
|
||||
// [NewObject, Throws]
|
||||
// DocumentFragment cloneContents();
|
||||
// [Throws]
|
||||
// void insertNode(Node node);
|
||||
// [Throws]
|
||||
// void surroundContents(Node newParent);
|
||||
|
||||
// Range cloneRange();
|
||||
[NewObject]
|
||||
Range cloneRange();
|
||||
void detach();
|
||||
|
||||
// [Throws]
|
||||
// boolean isPointInRange(Node node, unsigned long offset);
|
||||
// [Throws]
|
||||
// short comparePoint(Node node, unsigned long offset);
|
||||
[Throws]
|
||||
boolean isPointInRange(Node node, unsigned long offset);
|
||||
[Throws]
|
||||
short comparePoint(Node node, unsigned long offset);
|
||||
|
||||
// [Throws]
|
||||
// boolean intersectsNode(Node node);
|
||||
boolean intersectsNode(Node node);
|
||||
|
||||
// stringifier;
|
||||
};
|
||||
|
||||
// https://domparsing.spec.whatwg.org/#dom-range-createcontextualfragment
|
||||
// https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#extensions-to-the-range-interface
|
||||
partial interface Range {
|
||||
// [Throws]
|
||||
// [NewObject, Throws]
|
||||
// DocumentFragment createContextualFragment(DOMString fragment);
|
||||
};//
|
||||
|
||||
//// http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-view/Overview.html#extensions-to-the-range-interface
|
||||
// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-range-interface
|
||||
partial interface Range {
|
||||
// DOMRectList? getClientRects();
|
||||
// DOMRect getBoundingClientRect();
|
||||
|
|
|
@ -384,84 +384,9 @@
|
|||
[CharacterData interface: calling after([object Object\],[object Object\]) on document.createComment("abc") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[CharacterData interface: calling replaceWith([object Object\],[object Object\]) on document.createComment("abc") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute startContainer]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute startOffset]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute endContainer]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute endOffset]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute collapsed]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: attribute commonAncestorContainer]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setStart(Node,unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setEnd(Node,unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setStartBefore(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setStartAfter(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setEndBefore(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation setEndAfter(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation collapse(boolean)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation selectNode(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation selectNodeContents(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant START_TO_START on interface object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant START_TO_START on interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant START_TO_END on interface object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant START_TO_END on interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant END_TO_END on interface object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant END_TO_END on interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant END_TO_START on interface object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: constant END_TO_START on interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation compareBoundaryPoints(unsigned short,Range)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation deleteContents()]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -477,111 +402,9 @@
|
|||
[Range interface: operation surroundContents(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation cloneRange()]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation isPointInRange(Node,unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation comparePoint(Node,unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: operation intersectsNode(Node)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: stringifier]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "startContainer" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "startOffset" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "endContainer" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "endOffset" with the proper type (3)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "collapsed" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type (5)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setStart" with the proper type (6)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStart(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setEnd" with the proper type (7)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEnd(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setStartBefore" with the proper type (8)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setStartAfter" with the proper type (9)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStartAfter(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setEndBefore" with the proper type (10)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEndBefore(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "setEndAfter" with the proper type (11)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEndAfter(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "collapse" with the proper type (12)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling collapse(boolean) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "selectNode" with the proper type (13)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling selectNode(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "selectNodeContents" with the proper type (14)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling selectNodeContents(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "START_TO_START" with the proper type (15)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "START_TO_END" with the proper type (16)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "END_TO_END" with the proper type (17)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "END_TO_START" with the proper type (18)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "compareBoundaryPoints" with the proper type (19)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling compareBoundaryPoints(unsigned short,Range) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "deleteContents" with the proper type (20)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -603,117 +426,6 @@
|
|||
[Range interface: calling surroundContents(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "cloneRange" with the proper type (25)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "isPointInRange" with the proper type (27)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling isPointInRange(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "comparePoint" with the proper type (28)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling comparePoint(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: document.createRange() must inherit property "intersectsNode" with the proper type (29)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "startContainer" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "startOffset" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "endContainer" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "endOffset" with the proper type (3)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "collapsed" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type (5)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setStart" with the proper type (6)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setEnd" with the proper type (7)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setStartBefore" with the proper type (8)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setStartAfter" with the proper type (9)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setEndBefore" with the proper type (10)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "setEndAfter" with the proper type (11)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "collapse" with the proper type (12)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "selectNode" with the proper type (13)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "selectNodeContents" with the proper type (14)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "START_TO_START" with the proper type (15)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "START_TO_END" with the proper type (16)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "END_TO_END" with the proper type (17)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "END_TO_START" with the proper type (18)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "compareBoundaryPoints" with the proper type (19)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling compareBoundaryPoints(unsigned short,Range) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "deleteContents" with the proper type (20)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -735,30 +447,6 @@
|
|||
[Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "cloneRange" with the proper type (25)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "isPointInRange" with the proper type (27)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "comparePoint" with the proper type (28)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: detachedRange must inherit property "intersectsNode" with the proper type (29)]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[NodeIterator interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[NodeIterator interface: attribute root]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -42,27 +42,15 @@
|
|||
[characterData Comment: data mutations]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r70) is created]
|
||||
expected: FAIL
|
||||
|
||||
[characterData Range.deleteContents: child and data removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r71) is created]
|
||||
expected: FAIL
|
||||
|
||||
[characterData Range.deleteContents: child and data removal mutation (2)]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r80) is created]
|
||||
expected: FAIL
|
||||
|
||||
[characterData Range.extractContents: child and data removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r81) is created]
|
||||
expected: FAIL
|
||||
|
||||
[characterData Range.extractContents: child and data removal mutation (2)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -69,45 +69,24 @@
|
|||
[childList Node.removeChild: removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r70) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.deleteContents: child removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r71) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.deleteContents: child and data removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r80) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.extractContents: child removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r81) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.extractContents: child and data removal mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r90) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.insertNode: child insertion mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r91) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.insertNode: children insertion mutation]
|
||||
expected: FAIL
|
||||
|
||||
[Range (r100) is created]
|
||||
expected: FAIL
|
||||
|
||||
[childList Range.surroundContents: children removal and addition mutation]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[Range-attributes.html]
|
||||
type: testharness
|
||||
[Range attributes]
|
||||
expected: FAIL
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
[Range-cloneRange.html]
|
||||
type: testharness
|
||||
[Range 0 [paras[0\].firstChild, 0, paras[0\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 1 [paras[0\].firstChild, 0, paras[0\].firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 2 [paras[0\].firstChild, 2, paras[0\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 3 [paras[0\].firstChild, 2, paras[0\].firstChild, 9\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 4 [paras[1\].firstChild, 0, paras[1\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 5 [paras[1\].firstChild, 2, paras[1\].firstChild, 9\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 6 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 7 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 8 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 9 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 10 [document.documentElement, 0, document.documentElement, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 11 [document.documentElement, 0, document.documentElement, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 12 [document.documentElement, 1, document.documentElement, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 13 [document.head, 1, document.head, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 14 [document.body, 4, document.body, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 15 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 16 [paras[0\], 0, paras[0\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 17 [detachedPara1, 0, detachedPara1, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 18 [paras[0\].firstChild, 0, paras[1\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 19 [paras[0\].firstChild, 0, paras[1\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 20 [paras[0\].firstChild, 3, paras[3\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 21 [paras[0\], 0, paras[0\].firstChild, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 22 [testDiv, 2, paras[4\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 23 [document, 0, document, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 24 [document, 0, document, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 25 [comment, 2, comment, 3\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 26 [testDiv, 0, comment, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 27 [foreignDoc, 1, foreignComment, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 28 [foreignDoc.body, 0, foreignTextNode, 36\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 29 [xmlDoc, 1, xmlComment, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 30 [detachedTextNode, 0, detachedTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 31 [detachedForeignTextNode, 0, detachedForeignTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 32 [detachedXmlTextNode, 0, detachedXmlTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 33 [detachedComment, 3, detachedComment, 4\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 34 [detachedForeignComment, 0, detachedForeignComment, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 35 [detachedXmlComment, 2, detachedXmlComment, 6\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 36 [docfrag, 0, docfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 41 [foreignDoc.head, 1, foreignDoc.head, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 42 [foreignDoc.body, 0, foreignDoc.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 43 [paras[0\], 0, paras[0\], 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 44 [detachedPara1, 0, detachedPara1, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 45 [testDiv, 1, paras[2\].firstChild, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 46 [document.documentElement, 1, document.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 48 [document, 1, document, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 49 [paras[2\].firstChild, 4, comment, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 50 [paras[3\], 1, comment, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 51 [foreignDoc, 0, foreignDoc, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 52 [xmlDoc, 0, xmlDoc, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 55 [detachedComment, 5, detachedComment, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 56 [detachedForeignComment, 4, detachedForeignComment, 4\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 57 [foreignDocfrag, 0, foreignDocfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Range 58 [xmlDocfrag, 0, xmlDocfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
|
@ -1,533 +0,0 @@
|
|||
[Range-collapse.html]
|
||||
type: testharness
|
||||
[Range 0 [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 0 [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 0 [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 1 [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 1 [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 1 [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 2 [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 2 [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 2 [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 3 [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 3 [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 3 [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 4 [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 4 [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 4 [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 5 [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 5 [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 5 [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 6 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 6 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 6 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 7 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 7 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 7 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 8 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 8 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 8 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 9 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 9 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 9 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 10 [document.documentElement, 0, document.documentElement, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 10 [document.documentElement, 0, document.documentElement, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 10 [document.documentElement, 0, document.documentElement, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 11 [document.documentElement, 0, document.documentElement, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 11 [document.documentElement, 0, document.documentElement, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 11 [document.documentElement, 0, document.documentElement, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 12 [document.documentElement, 1, document.documentElement, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 12 [document.documentElement, 1, document.documentElement, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 12 [document.documentElement, 1, document.documentElement, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 13 [document.head, 1, document.head, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 13 [document.head, 1, document.head, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 13 [document.head, 1, document.head, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 14 [document.body, 4, document.body, 5\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 14 [document.body, 4, document.body, 5\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 14 [document.body, 4, document.body, 5\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 15 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 15 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 15 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 16 [paras[0\], 0, paras[0\], 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 16 [paras[0\], 0, paras[0\], 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 16 [paras[0\], 0, paras[0\], 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 17 [detachedPara1, 0, detachedPara1, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 17 [detachedPara1, 0, detachedPara1, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 17 [detachedPara1, 0, detachedPara1, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 18 [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 18 [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 18 [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 19 [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 19 [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 19 [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 20 [paras[0\].firstChild, 3, paras[3\], 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 20 [paras[0\].firstChild, 3, paras[3\], 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 20 [paras[0\].firstChild, 3, paras[3\], 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 21 [paras[0\], 0, paras[0\].firstChild, 7\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 21 [paras[0\], 0, paras[0\].firstChild, 7\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 21 [paras[0\], 0, paras[0\].firstChild, 7\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 22 [testDiv, 2, paras[4\], 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 22 [testDiv, 2, paras[4\], 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 22 [testDiv, 2, paras[4\], 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 23 [document, 0, document, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 23 [document, 0, document, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 23 [document, 0, document, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 24 [document, 0, document, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 24 [document, 0, document, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 24 [document, 0, document, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 25 [comment, 2, comment, 3\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 25 [comment, 2, comment, 3\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 25 [comment, 2, comment, 3\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 26 [testDiv, 0, comment, 5\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 26 [testDiv, 0, comment, 5\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 26 [testDiv, 0, comment, 5\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 27 [foreignDoc, 1, foreignComment, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 27 [foreignDoc, 1, foreignComment, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 27 [foreignDoc, 1, foreignComment, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 28 [foreignDoc.body, 0, foreignTextNode, 36\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 28 [foreignDoc.body, 0, foreignTextNode, 36\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 28 [foreignDoc.body, 0, foreignTextNode, 36\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 29 [xmlDoc, 1, xmlComment, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 29 [xmlDoc, 1, xmlComment, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 29 [xmlDoc, 1, xmlComment, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 30 [detachedTextNode, 0, detachedTextNode, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 30 [detachedTextNode, 0, detachedTextNode, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 30 [detachedTextNode, 0, detachedTextNode, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 31 [detachedForeignTextNode, 0, detachedForeignTextNode, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 31 [detachedForeignTextNode, 0, detachedForeignTextNode, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 31 [detachedForeignTextNode, 0, detachedForeignTextNode, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 32 [detachedXmlTextNode, 0, detachedXmlTextNode, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 32 [detachedXmlTextNode, 0, detachedXmlTextNode, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 32 [detachedXmlTextNode, 0, detachedXmlTextNode, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 33 [detachedComment, 3, detachedComment, 4\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 33 [detachedComment, 3, detachedComment, 4\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 33 [detachedComment, 3, detachedComment, 4\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 34 [detachedForeignComment, 0, detachedForeignComment, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 34 [detachedForeignComment, 0, detachedForeignComment, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 34 [detachedForeignComment, 0, detachedForeignComment, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 35 [detachedXmlComment, 2, detachedXmlComment, 6\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 35 [detachedXmlComment, 2, detachedXmlComment, 6\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 35 [detachedXmlComment, 2, detachedXmlComment, 6\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 36 [docfrag, 0, docfrag, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 36 [docfrag, 0, docfrag, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 36 [docfrag, 0, docfrag, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 41 [foreignDoc.head, 1, foreignDoc.head, 1\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 41 [foreignDoc.head, 1, foreignDoc.head, 1\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 41 [foreignDoc.head, 1, foreignDoc.head, 1\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 42 [foreignDoc.body, 0, foreignDoc.body, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 42 [foreignDoc.body, 0, foreignDoc.body, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 42 [foreignDoc.body, 0, foreignDoc.body, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 43 [paras[0\], 0, paras[0\], 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 43 [paras[0\], 0, paras[0\], 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 43 [paras[0\], 0, paras[0\], 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 44 [detachedPara1, 0, detachedPara1, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 44 [detachedPara1, 0, detachedPara1, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 44 [detachedPara1, 0, detachedPara1, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 45 [testDiv, 1, paras[2\].firstChild, 5\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 45 [testDiv, 1, paras[2\].firstChild, 5\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 45 [testDiv, 1, paras[2\].firstChild, 5\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 46 [document.documentElement, 1, document.body, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 46 [document.documentElement, 1, document.body, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 46 [document.documentElement, 1, document.body, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 48 [document, 1, document, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 48 [document, 1, document, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 48 [document, 1, document, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 49 [paras[2\].firstChild, 4, comment, 2\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 49 [paras[2\].firstChild, 4, comment, 2\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 49 [paras[2\].firstChild, 4, comment, 2\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 50 [paras[3\], 1, comment, 8\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 50 [paras[3\], 1, comment, 8\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 50 [paras[3\], 1, comment, 8\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 51 [foreignDoc, 0, foreignDoc, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 51 [foreignDoc, 0, foreignDoc, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 51 [foreignDoc, 0, foreignDoc, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 52 [xmlDoc, 0, xmlDoc, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 52 [xmlDoc, 0, xmlDoc, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 52 [xmlDoc, 0, xmlDoc, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 55 [detachedComment, 5, detachedComment, 5\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 55 [detachedComment, 5, detachedComment, 5\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 55 [detachedComment, 5, detachedComment, 5\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 56 [detachedForeignComment, 4, detachedForeignComment, 4\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 56 [detachedForeignComment, 4, detachedForeignComment, 4\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 56 [detachedForeignComment, 4, detachedForeignComment, 4\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 57 [foreignDocfrag, 0, foreignDocfrag, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 57 [foreignDocfrag, 0, foreignDocfrag, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 57 [foreignDocfrag, 0, foreignDocfrag, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
||||
[Range 58 [xmlDocfrag, 0, xmlDocfrag, 0\], toStart true]
|
||||
expected: FAIL
|
||||
|
||||
[Range 58 [xmlDocfrag, 0, xmlDocfrag, 0\], toStart false]
|
||||
expected: FAIL
|
||||
|
||||
[Range 58 [xmlDocfrag, 0, xmlDocfrag, 0\], toStart omitted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
[Range-commonAncestorContainer-2.html]
|
||||
type: testharness
|
||||
[Detached Range]
|
||||
expected: FAIL
|
||||
|
||||
[Range.commonAncestorContainer]
|
||||
expected: FAIL
|
||||
|
||||
[Range.commonAncestorContainer 1]
|
||||
expected: FAIL
|
||||
|
||||
[Range.commonAncestorContainer 2]
|
||||
expected: FAIL
|
||||
|
||||
[Range.commonAncestorContainer 3]
|
||||
expected: FAIL
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
[Range-commonAncestorContainer.html]
|
||||
type: testharness
|
||||
[1: range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[2: range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[3: range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[4: range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\]]
|
||||
expected: FAIL
|
||||
|
||||
[5: range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[6: range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\]]
|
||||
expected: FAIL
|
||||
|
||||
[7: range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[8: range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[9: range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[10: range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[11: range [document.documentElement, 0, document.documentElement, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[12: range [document.documentElement, 0, document.documentElement, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[13: range [document.documentElement, 1, document.documentElement, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[14: range [document.head, 1, document.head, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[15: range [document.body, 4, document.body, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[16: range [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[17: range [paras[0\], 0, paras[0\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[18: range [detachedPara1, 0, detachedPara1, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[19: range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[20: range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[21: range [paras[0\].firstChild, 3, paras[3\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[22: range [paras[0\], 0, paras[0\].firstChild, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[23: range [testDiv, 2, paras[4\], 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[24: range [document, 0, document, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[25: range [document, 0, document, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[26: range [comment, 2, comment, 3\]]
|
||||
expected: FAIL
|
||||
|
||||
[27: range [testDiv, 0, comment, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[28: range [foreignDoc, 1, foreignComment, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[29: range [foreignDoc.body, 0, foreignTextNode, 36\]]
|
||||
expected: FAIL
|
||||
|
||||
[30: range [xmlDoc, 1, xmlComment, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[31: range [detachedTextNode, 0, detachedTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[32: range [detachedForeignTextNode, 0, detachedForeignTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[33: range [detachedXmlTextNode, 0, detachedXmlTextNode, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[34: range [detachedComment, 3, detachedComment, 4\]]
|
||||
expected: FAIL
|
||||
|
||||
[35: range [detachedForeignComment, 0, detachedForeignComment, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[36: range [detachedXmlComment, 2, detachedXmlComment, 6\]]
|
||||
expected: FAIL
|
||||
|
||||
[37: range [docfrag, 0, docfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[38: range [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[39: range [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[40: range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[41: range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[42: range [foreignDoc.head, 1, foreignDoc.head, 1\]]
|
||||
expected: FAIL
|
||||
|
||||
[43: range [foreignDoc.body, 0, foreignDoc.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[44: range [paras[0\], 0, paras[0\], 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[45: range [detachedPara1, 0, detachedPara1, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[46: range [testDiv, 1, paras[2\].firstChild, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[47: range [document.documentElement, 1, document.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[48: range [foreignDoc.documentElement, 1, foreignDoc.body, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[49: range [document, 1, document, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[50: range [paras[2\].firstChild, 4, comment, 2\]]
|
||||
expected: FAIL
|
||||
|
||||
[51: range [paras[3\], 1, comment, 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[52: range [foreignDoc, 0, foreignDoc, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[53: range [xmlDoc, 0, xmlDoc, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[54: range [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[55: range [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]]
|
||||
expected: FAIL
|
||||
|
||||
[56: range [detachedComment, 5, detachedComment, 5\]]
|
||||
expected: FAIL
|
||||
|
||||
[57: range [detachedForeignComment, 4, detachedForeignComment, 4\]]
|
||||
expected: FAIL
|
||||
|
||||
[58: range [foreignDocfrag, 0, foreignDocfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[59: range [xmlDocfrag, 0, xmlDocfrag, 0\]]
|
||||
expected: FAIL
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +0,0 @@
|
|||
[Range-comparePoint-2.html]
|
||||
type: testharness
|
||||
[Range.comparePoint]
|
||||
expected: FAIL
|
||||
|
||||
[Range.comparePoint 2]
|
||||
expected: FAIL
|
||||
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,482 +0,0 @@
|
|||
[Range-selectNode.html]
|
||||
type: testharness
|
||||
[ current doc: #document node, current doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ current doc: #document node, foreign doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ current doc: #document node, XML doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ current doc: #document node, detached range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, current doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, foreign doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, XML doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, detached range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** current doc: html node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: head node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: head node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: head node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: head node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: title node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: title node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: title node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: title node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: link node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: link node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: link node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: link node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: meta node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: meta node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: meta node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: meta node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: body node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: body node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: body node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** current doc: body node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: div node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: div node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: div node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: div node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: p node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: p node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: p node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: p node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[********** current doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[********** current doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[********** current doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[********** current doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #comment node, current doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #comment node, foreign doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #comment node, XML doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[******** current doc: #comment node, detached range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: script node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: script node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: script node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** current doc: script node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ foreign doc: #document node, current doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ foreign doc: #document node, foreign doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ foreign doc: #document node, XML doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ foreign doc: #document node, detached range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, current doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, foreign doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, XML doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, detached range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: html node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: head node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: head node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: head node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: head node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: title node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: title node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: title node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: title node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[******** foreign doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** foreign doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** foreign doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[******** foreign doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: body node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: body node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: body node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** foreign doc: body node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: p node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: p node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: p node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: p node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[****** foreign doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: #comment node, current doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: #comment node, foreign doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: #comment node, XML doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** foreign doc: #comment node, detached range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ detached div in current doc: div node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ detached div in current doc: div node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ detached div in current doc: div node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ detached div in current doc: div node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** detached div in current doc: p node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** detached div in current doc: p node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** detached div in current doc: p node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** detached div in current doc: p node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** detached div in current doc: #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** detached div in current doc: #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** detached div in current doc: #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** detached div in current doc: #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ #document node, current doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ #document node, foreign doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ #document node, XML doc\'s range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[ #document node, detached range, type 9]
|
||||
expected: FAIL
|
||||
|
||||
[** qorflesnorf node, current doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** qorflesnorf node, foreign doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** qorflesnorf node, XML doc\'s range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** qorflesnorf node, detached range, type 10]
|
||||
expected: FAIL
|
||||
|
||||
[** igiveuponcreativenames node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** igiveuponcreativenames node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** igiveuponcreativenames node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** igiveuponcreativenames node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[**** #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[**** #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[** somepi node, current doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[** somepi node, foreign doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[** somepi node, XML doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[** somepi node, detached range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[** #comment node, current doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** #comment node, foreign doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** #comment node, XML doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[** #comment node, detached range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ igiveuponcreativenames node, current doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ igiveuponcreativenames node, foreign doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ igiveuponcreativenames node, XML doc\'s range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[ igiveuponcreativenames node, detached range, type 1]
|
||||
expected: FAIL
|
||||
|
||||
[** #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[** #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[** #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[** #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ #text node, current doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ #text node, foreign doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ #text node, XML doc\'s range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ #text node, detached range, type 3]
|
||||
expected: FAIL
|
||||
|
||||
[ somepi node, current doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[ somepi node, foreign doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[ somepi node, XML doc\'s range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[ somepi node, detached range, type 7]
|
||||
expected: FAIL
|
||||
|
||||
[ #comment node, current doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ #comment node, foreign doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ #comment node, XML doc\'s range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ #comment node, detached range, type 8]
|
||||
expected: FAIL
|
||||
|
||||
[ #document-fragment node, current doc\'s range, type 11]
|
||||
expected: FAIL
|
||||
|
||||
[ #document-fragment node, foreign doc\'s range, type 11]
|
||||
expected: FAIL
|
||||
|
||||
[ #document-fragment node, XML doc\'s range, type 11]
|
||||
expected: FAIL
|
||||
|
||||
[ #document-fragment node, detached range, type 11]
|
||||
expected: FAIL
|
||||
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue