mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
script: Add initial implementation of strikethrough command (#44410)
Part of #25005 Testing: WPT Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
committed by
GitHub
parent
7007dc4346
commit
6de7311014
@@ -21,6 +21,7 @@ use crate::dom::execcommand::commands::delete::execute_delete_command;
|
||||
use crate::dom::execcommand::commands::fontsize::{
|
||||
execute_fontsize_command, font_size_loosely_equivalent, value_for_fontsize_command,
|
||||
};
|
||||
use crate::dom::execcommand::commands::strikethrough::execute_strikethrough_command;
|
||||
use crate::dom::execcommand::commands::stylewithcss::execute_style_with_css_command;
|
||||
use crate::dom::execcommand::commands::underline::execute_underline_command;
|
||||
use crate::dom::html::htmlelement::HTMLElement;
|
||||
@@ -372,6 +373,7 @@ impl CommandName {
|
||||
},
|
||||
CommandName::Delete => execute_delete_command(cx, document, selection),
|
||||
CommandName::FontSize => execute_fontsize_command(cx, document, selection, value),
|
||||
CommandName::Strikethrough => execute_strikethrough_command(cx, document, selection),
|
||||
CommandName::StyleWithCss => execute_style_with_css_command(document, value),
|
||||
CommandName::Underline => execute_underline_command(cx, document, selection),
|
||||
_ => false,
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
pub(crate) mod defaultparagraphseparator;
|
||||
pub(crate) mod delete;
|
||||
pub(crate) mod fontsize;
|
||||
pub(crate) mod strikethrough;
|
||||
pub(crate) mod stylewithcss;
|
||||
pub(crate) mod underline;
|
||||
|
||||
25
components/script/dom/execcommand/commands/strikethrough.rs
Normal file
25
components/script/dom/execcommand/commands/strikethrough.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use js::context::JSContext;
|
||||
|
||||
use crate::dom::document::Document;
|
||||
use crate::dom::execcommand::basecommand::CommandName;
|
||||
use crate::dom::execcommand::execcommands::DocumentExecCommandSupport;
|
||||
use crate::dom::selection::Selection;
|
||||
|
||||
/// <https://w3c.github.io/editing/docs/execCommand/#the-strikethrough-command>
|
||||
pub(crate) fn execute_strikethrough_command(
|
||||
cx: &mut JSContext,
|
||||
document: &Document,
|
||||
selection: &Selection,
|
||||
) -> bool {
|
||||
// > If queryCommandState("strikethrough") returns true, set the selection's value to null.
|
||||
// > Otherwise set the selection's value to "line-through". Either way, return true.
|
||||
let value = Some("line-through".into())
|
||||
.filter(|_| !document.command_state_for_command(cx, "strikethrough".into()));
|
||||
selection.set_the_selection_value(cx, value, CommandName::Strikethrough, document);
|
||||
|
||||
true
|
||||
}
|
||||
@@ -43,9 +43,15 @@ impl Element {
|
||||
},
|
||||
CommandName::Strikethrough => {
|
||||
// Step 4. If command is "strikethrough", and element has a style attribute set, and that attribute sets "text-decoration":
|
||||
// TODO
|
||||
if let Some(value) = CssPropertyName::TextDecorationLine.value_set_for_style(self) {
|
||||
// Step 4.1. If element's style attribute sets "text-decoration" to a value containing "line-through", return "line-through".
|
||||
// Step 4.2. Return null.
|
||||
return Some("line-through".into()).filter(|_| value.contains("line-through"));
|
||||
}
|
||||
// Step 5. If command is "strikethrough" and element is an s or strike element, return "line-through".
|
||||
// TODO
|
||||
if matches!(*self.local_name(), local_name!("s") | local_name!("strike")) {
|
||||
return Some("line-through".into());
|
||||
}
|
||||
},
|
||||
CommandName::Underline => {
|
||||
// Step 6. If command is "underline", and element has a style attribute set, and that attribute sets "text-decoration":
|
||||
|
||||
@@ -1322,7 +1322,18 @@ impl Node {
|
||||
// and the effective command value of "strikethrough" for new parent is not "line-through",
|
||||
// set the "text-decoration" property of new parent to "line-through".
|
||||
CommandName::Strikethrough => {
|
||||
// TODO
|
||||
if new_value == "line-through" &&
|
||||
new_parent
|
||||
.upcast::<Node>()
|
||||
.effective_command_value(&CommandName::Strikethrough)
|
||||
.is_none_or(|value| value != "line-through")
|
||||
{
|
||||
CssPropertyName::TextDecoration.set_for_element(
|
||||
cx,
|
||||
new_parent_html_element,
|
||||
new_value.clone(),
|
||||
);
|
||||
}
|
||||
},
|
||||
// Step 19. If command is "underline", and new value is "underline",
|
||||
// and the effective command value of "underline" for new parent is not "underline",
|
||||
@@ -2085,8 +2096,15 @@ impl Node {
|
||||
// Step 6. If command is "strikethrough",
|
||||
// and the "text-decoration" property of node or any of its ancestors has resolved value containing "line-through",
|
||||
// return "line-through". Otherwise, return null.
|
||||
// TODO
|
||||
CommandName::Strikethrough => None,
|
||||
CommandName::Strikethrough => Some("line-through".into()).filter(|_| {
|
||||
self.inclusive_ancestors(ShadowIncluding::No).any(|node| {
|
||||
node.downcast::<Element>()
|
||||
.and_then(|element| {
|
||||
CssPropertyName::TextDecorationLine.resolved_value_for_node(element)
|
||||
})
|
||||
.is_some_and(|property| property.contains("line-through"))
|
||||
})
|
||||
}),
|
||||
// Step 7. If command is "underline",
|
||||
// and the "text-decoration" property of node or any of its ancestors has resolved value containing "underline",
|
||||
// return "underline". Otherwise, return null.
|
||||
|
||||
@@ -120,6 +120,7 @@ impl Document {
|
||||
"delete" => CommandName::Delete,
|
||||
"defaultparagraphseparator" => CommandName::DefaultParagraphSeparator,
|
||||
"fontsize" => CommandName::FontSize,
|
||||
"strikethrough" => CommandName::Strikethrough,
|
||||
"stylewithcss" => CommandName::StyleWithCss,
|
||||
"underline" => CommandName::Underline,
|
||||
_ => return None,
|
||||
|
||||
6
tests/wpt/meta/editing/event.html.ini
vendored
6
tests/wpt/meta/editing/event.html.ini
vendored
@@ -77,12 +77,6 @@
|
||||
[Command removeFormat, value "quasit": input event]
|
||||
expected: FAIL
|
||||
|
||||
[Command strikeThrough, value "": input event]
|
||||
expected: FAIL
|
||||
|
||||
[Command strikeThrough, value "quasit": input event]
|
||||
expected: FAIL
|
||||
|
||||
[Command subscript, value "": input event]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
[In <input type="password">, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password">, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password">, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -161,9 +158,6 @@
|
||||
[In <input type="password"> in contenteditable, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -425,6 +419,21 @@
|
||||
[In <input type="password"> in contenteditable, execCommand("underline", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should not be enabled]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): execCommand() should return false]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): should not fire beforeinput event]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.inputType should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="password"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[exec-command-with-text-editor.tentative.html?type=text]
|
||||
[In <input type="text">, execCommand("bold", false, bold), a[b\]c): The command should be supported]
|
||||
@@ -433,9 +442,6 @@
|
||||
[In <input type="text">, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text">, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text">, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -589,9 +595,6 @@
|
||||
[In <input type="text"> in contenteditable, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -853,6 +856,21 @@
|
||||
[In <input type="text"> in contenteditable, execCommand("underline", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should not be enabled]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): execCommand() should return false]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): should not fire beforeinput event]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.inputType should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <input type="text"> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[exec-command-with-text-editor.tentative.html?type=textarea]
|
||||
[In <textarea>, execCommand("bold", false, bold), a[b\]c): The command should be supported]
|
||||
@@ -861,9 +879,6 @@
|
||||
[In <textarea>, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea>, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea>, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -1023,9 +1038,6 @@
|
||||
[In <textarea> in contenteditable, execCommand("italic", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("superscript", false, null), a[b\]c): The command should be supported]
|
||||
expected: FAIL
|
||||
|
||||
@@ -1292,3 +1304,18 @@
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("underline", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): The command should not be enabled]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): execCommand() should return false]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): should not fire beforeinput event]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.inputType should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
[In <textarea> in contenteditable, execCommand("strikethrough", false, null), a[b\]c): input.target should be undefined]
|
||||
expected: FAIL
|
||||
|
||||
24
tests/wpt/meta/editing/run/delete.html.ini
vendored
24
tests/wpt/meta/editing/run/delete.html.ini
vendored
@@ -1180,29 +1180,5 @@
|
||||
[[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p>foo<p style=color:brown>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["delete",""\]\] "<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["delete",""\]\] "<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","true"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","true"\],["defaultparagraphseparator","div"\],["delete",""\]\] "<p>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","false"\],["defaultparagraphseparator","div"\],["delete",""\]\] "<p>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","true"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","false"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p>foo<p style=text-decoration:line-through>[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["stylewithcss","true"\],["defaultparagraphseparator","p"\],["delete",""\]\] "<p style=color:blue>foo<p style=color:rgba(0,0,255,1)>[\]bar" queryCommandState("stylewithcss") before]
|
||||
expected: FAIL
|
||||
|
||||
192
tests/wpt/meta/editing/run/multitest.html.ini
vendored
192
tests/wpt/meta/editing/run/multitest.html.ini
vendored
@@ -1887,27 +1887,15 @@
|
||||
[[["italic",""\],["outdent",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("italic") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("inserttext", false, "a") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["delete",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["delete",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["delete",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["delete",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("inserttext", false, "a") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -1917,24 +1905,15 @@
|
||||
[[["strikethrough",""\],["delete",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\]\] "foo[\]bar": execCommand("formatblock", false, "<div>") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\]\] "foo[\]bar" queryCommandValue("formatblock") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\],["inserttext","a"\]\] "foo[\]bar": execCommand("formatblock", false, "<div>") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -1944,27 +1923,15 @@
|
||||
[[["strikethrough",""\],["formatblock","<div>"\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["formatblock","<div>"\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("formatblock") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\]\] "foo[\]bar": execCommand("forwarddelete", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("forwarddelete", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -1974,24 +1941,12 @@
|
||||
[[["strikethrough",""\],["forwarddelete",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["forwarddelete",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\]\] "foo[\]bar": execCommand("indent", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("indent", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2001,24 +1956,12 @@
|
||||
[[["strikethrough",""\],["indent",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["indent",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\]\] "foo[\]bar": execCommand("inserthorizontalrule", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("inserthorizontalrule", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2028,24 +1971,12 @@
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthorizontalrule",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\]\] "foo[\]bar": execCommand("inserthtml", false, "ab<b>c</b>d") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\],["inserttext","a"\]\] "foo[\]bar": execCommand("inserthtml", false, "ab<b>c</b>d") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2055,24 +1986,12 @@
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["inserthtml","ab<b>c</b>d"\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\]\] "foo[\]bar": execCommand("insertimage", false, "/img/lion.svg") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\],["inserttext","a"\]\] "foo[\]bar": execCommand("insertimage", false, "/img/lion.svg") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2082,24 +2001,12 @@
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertimage","/img/lion.svg"\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\]\] "foo[\]bar": execCommand("insertlinebreak", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("insertlinebreak", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2109,27 +2016,15 @@
|
||||
[[["strikethrough",""\],["insertlinebreak",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertlinebreak",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\]\] "foo[\]bar": execCommand("insertorderedlist", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\]\] "foo[\]bar" queryCommandState("insertorderedlist") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("insertorderedlist", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2139,27 +2034,15 @@
|
||||
[[["strikethrough",""\],["insertorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("insertorderedlist") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\]\] "foo[\]bar": execCommand("insertparagraph", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("insertparagraph", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2169,27 +2052,15 @@
|
||||
[[["strikethrough",""\],["insertparagraph",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertparagraph",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\]\] "foo[\]bar": execCommand("insertunorderedlist", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\]\] "foo[\]bar" queryCommandState("insertunorderedlist") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("insertunorderedlist", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2199,24 +2070,15 @@
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["insertunorderedlist",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("insertunorderedlist") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar": execCommand("justifycenter", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar" queryCommandValue("justifycenter") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2226,9 +2088,6 @@
|
||||
[[["strikethrough",""\],["justifycenter",""\]\] "foo[\]bar" queryCommandValue("justifycenter") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("justifycenter", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2238,9 +2097,6 @@
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifycenter") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2250,18 +2106,12 @@
|
||||
[[["strikethrough",""\],["justifycenter",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifycenter") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar": execCommand("justifyfull", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar" queryCommandValue("justifyfull") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2271,9 +2121,6 @@
|
||||
[[["strikethrough",""\],["justifyfull",""\]\] "foo[\]bar" queryCommandValue("justifyfull") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("justifyfull", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2283,9 +2130,6 @@
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifyfull") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2295,15 +2139,9 @@
|
||||
[[["strikethrough",""\],["justifyfull",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifyfull") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\]\] "foo[\]bar": execCommand("justifyleft", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\]\] "foo[\]bar" queryCommandState("justifyleft") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2316,9 +2154,6 @@
|
||||
[[["strikethrough",""\],["justifyleft",""\]\] "foo[\]bar" queryCommandValue("justifyleft") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("justifyleft", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2328,9 +2163,6 @@
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("justifyleft") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2343,18 +2175,12 @@
|
||||
[[["strikethrough",""\],["justifyleft",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifyleft") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar": execCommand("justifyright", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar" queryCommandValue("justifyright") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2364,9 +2190,6 @@
|
||||
[[["strikethrough",""\],["justifyright",""\]\] "foo[\]bar" queryCommandValue("justifyright") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("justifyright", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2376,9 +2199,6 @@
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifyright") before]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2388,18 +2208,9 @@
|
||||
[[["strikethrough",""\],["justifyright",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandValue("justifyright") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\]\] "foo[\]bar": execCommand("outdent", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("strikethrough", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("outdent", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
@@ -2409,9 +2220,6 @@
|
||||
[[["strikethrough",""\],["outdent",""\],["inserttext","a"\]\] "foo[\]bar" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["strikethrough",""\],["outdent",""\],["inserttext","a"\]\] "foo[\]bar" queryCommandState("strikethrough") after]
|
||||
expected: FAIL
|
||||
|
||||
[[["subscript",""\],["inserttext","a"\]\] "foo[\]bar": execCommand("subscript", false, "") return value]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
1131
tests/wpt/meta/editing/run/strikethrough.html.ini
vendored
1131
tests/wpt/meta/editing/run/strikethrough.html.ini
vendored
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user