blob: 940fc4f006f18d7dcac120dcac7189db3cdb4665 [file] [log] [blame]
/*
* Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* after LayoutTests/fast/xpath/4XPath/Core/test_predicate_list.html
* @description
*/
import "dart:html";
import "../../xpath-test-pre.dart";
import "test.dart";
void main() {
XPathEvaluator evaluator=new XPathEvaluator();
var result;
result = evaluator.evaluate("self::node()[true() and false()][true()]", ROOT, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
checkSnapshot("self::node()[true() and false()][true()]", result, []);
result = evaluator.evaluate("self::node()[true() or false()][true()]", ROOT, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
checkSnapshot("self::node()[true() or false()][true()]", result, [ROOT]);
var dom2 = (new DomParser()).parseFromString(
"<?xml version='1.0'?>" +
"<elementList>" +
" <element>" +
" <x>" +
" <y>a</y>" +
" </x>" +
" </element>" +
" <element>" +
" <x>" +
" <y>z</y>" +
" </x>" +
" </element>" +
"</elementList>",
"application/xml");
result = evaluator.evaluate("//element[descendant::y[.='z']]", dom2, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
checkSnapshot("//element[descendant::y[.='z']]", result, [dom2.getElementsByTagName("element")[1]]);
result = evaluator.evaluate("//element[descendant::y[.='z']][1]", dom2, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
checkSnapshot("//element[descendant::y[.='z']][1]", result, [dom2.getElementsByTagName("element")[1]]);
result = evaluator.evaluate("//element[descendant::y[.='z']][2]", dom2, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
checkSnapshot("//element[descendant::y[.='z']][2]", result, []);
checkTestFailures();
}