Bug 1130891 part 5 - Add test for the copy behavior. r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D102099
This commit is contained in:
Xidorn Quan 2021-01-18 09:26:18 +00:00
Родитель 736a9e904d
Коммит c91cd9645e
2 изменённых файлов: 25 добавлений и 0 удалений

Просмотреть файл

@ -530,4 +530,27 @@ async function testCopyPaste(isXHTML) {
await new Promise(resolve => {
setTimeout(resolve, 0);
});
if (!isXHTML) {
// ============ copy from ruby
const ruby1 = $("ruby1");
const ruby1Container = ruby1.parentNode;
// Ruby annotation is included when selecting inside ruby.
await copyRangeToClipboard(ruby1, 0, ruby1, 6);
testClipboardValue("text/unicode", "aabb(AABB)");
// Ruby annotation is ignored when selecting across ruby.
await copyRangeToClipboard(ruby1Container, 0, ruby1Container, 3);
testClipboardValue("text/unicode", "XaabbY");
// ... unless converter.html2txt.always_include_ruby is set
await SpecialPowers.pushPrefEnv({
set: [["converter.html2txt.always_include_ruby", true]],
});
await copyRangeToClipboard(ruby1Container, 0, ruby1Container, 3);
testClipboardValue("text/unicode", "Xaabb(AABB)Y");
await SpecialPowers.popPrefEnv();
}
}

Просмотреть файл

@ -118,6 +118,8 @@ x.appendChild(document.createTextNode('10'))
<table><tr id=tr1><td>foo</td><td>bar</td></tr></table>
<table><tr id=tr2><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr><tr id=tr3><td>5</td><td>6</td></tr></table>
<div>X<ruby id="ruby1"><rb>aa</rb><rb>bb</rb><rp>(</rp><rt>AA</rt><rt>BB</rt><rp>)</rp></ruby>Y</div>
</div>
</body>
</html>