Issue 21115 in dart: test-004_t0a is failing

5 views
Skip to first unread message

da...@googlecode.com

unread,
Sep 26, 2014, 12:46:18 PM9/26/14
to bu...@dartlang.org
Status: New
Owner: te...@google.com
CC: v...@google.com, Ilya.Vaz...@gmail.com, iefre...@unipro.ru
Labels: Type-Defect Priority-Unassigned Area-Infrastructure

New issue 21115 by te...@google.com: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115

Mail sent to Ilya Vazhev <Ilya....@gmail.com> and Ivan Efremov
<iefr...@unipro.ru>


test-004_t0a is failing in both Javascript and Dart

The Javascript Chromium test is located in:

src/third_party/WebKit/LayoutTests/w3c/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html

In Dart the test is located in:

dart/tests/co19/src/WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004_t01.dart

The failure has to do with the toString() method being called on the
selection object in the Shadow Root. The range is on the span over the the
text node 'Som' however it doesn't return the content in either Javascript
or Dart. I suspect either the test is bad (or needs to be changed) or
there's a bug with Range/Selection in WebKit.

There is a brief mention in the W3C Shadow DOM draft on ranges and
selections that might be the issue:
Accordingly, selections may only exist within one node tree, because they
are defined by a single range. The selection, returned by the
window.getSelection() method never returns a selection within a shadow tree.


--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

da...@googlecode.com

unread,
Sep 29, 2014, 1:57:28 AM9/29/14
to bu...@dartlang.org
Updates:
Status: Triaged

Comment #1 on issue 21115 by sgj...@google.com: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115

(No comment was entered for this change.)

da...@googlecode.com

unread,
Sep 30, 2014, 2:35:08 AM9/30/14
to bu...@dartlang.org

Comment #2 on issue 21115 by sgrek...@yandex.ru: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115

There's no bug in WebKit. Problem is that test uses invisible iframe to
play with. Because iframe is invisible getSelection() always returns "".
Below is the fixed version of the test. Please submit it (I have no
piveledges to submit into w3c branch)

<!DOCTYPE html>
<!--
Distributed under both the W3C Test Suite License [1] and the W3C
3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
policies and contribution forms [3].

[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
[3] http://www.w3.org/2004/10/27-testcases
-->
<html>
<head>
<title>Shadow DOM Test: A_10_01_02_04</title>
<link rel="author" title="Sergey G. Grekhov"
href="mailto:sgre...@unipro.ru">
<link rel="help"
href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#shadow-root-methods">
<meta name="assert" content="ShadowRoot Object: Selection? getSelection()
method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../../testcommon.js"></script>
<link rel="stylesheet" href="/resources/testharness.css">
</head>
<body>
<div id="log"></div>
<script>
test(function () {
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
this.add_cleanup(function () {
document.body.removeChild(iframe);
});
var d = iframe.contentWindow.document;

var host = d.createElement('div');
d.body.appendChild(host);
var s = host.createShadowRoot();

var span = d.createElement('span');
span.innerHTML = 'Some text';
s.appendChild(span);

var range = d.createRange();
range.setStart(span.firstChild, 0);
range.setEnd(span.firstChild, 3);

var selection = iframe.contentWindow.getSelection();
selection.removeAllRanges();
selection.addRange(range);

var sl = s.getSelection();
assert_equals(sl.toString(), 'Som', 'The getSelection() method of the
shadow root object must return ' +
'the current selection in this shadow tree');

}, 'A_10_01_02_04_T01');
</script>
</body>
</html>

da...@googlecode.com

unread,
Oct 8, 2014, 1:55:52 PM10/8/14
to bu...@dartlang.org

Comment #3 on issue 21115 by Ilya.Vaz...@gmail.com: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115

Dart test is removed because it relies on iframe ability to access
contentWindow.document

da...@googlecode.com

unread,
Jun 2, 2015, 4:42:12 AM6/2/15
to bu...@dartlang.org
Updates:
Status: Fixed

Comment #4 on issue 21115 by ri...@google.com: test-004_t0a is failing
https://code.google.com/p/dart/issues/detail?id=21115

(No comment was entered for this change.)

Reply all
Reply to author
Forward
0 new messages