From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../shared/test/browser_inplace-editor-02.js | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 devtools/client/shared/test/browser_inplace-editor-02.js (limited to 'devtools/client/shared/test/browser_inplace-editor-02.js') diff --git a/devtools/client/shared/test/browser_inplace-editor-02.js b/devtools/client/shared/test/browser_inplace-editor-02.js new file mode 100644 index 0000000000..9ecb0bca02 --- /dev/null +++ b/devtools/client/shared/test/browser_inplace-editor-02.js @@ -0,0 +1,80 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +/* import-globals-from helper_inplace_editor.js */ + +"use strict"; + +loadHelperScript("helper_inplace_editor.js"); + +// Test that the trimOutput option for the inplace editor works correctly. + +add_task(async function () { + await addTab("data:text/html;charset=utf-8,inline editor tests"); + const { host, doc } = await createHost(); + + await testNonTrimmed(doc); + await testTrimmed(doc); + + host.destroy(); + gBrowser.removeCurrentTab(); +}); + +function testNonTrimmed(doc) { + info("Testing the trimOutput=false option"); + return new Promise(resolve => { + const initial = "\nMultiple\nLines\n"; + const changed = " \nMultiple\nLines\n with more whitespace "; + createInplaceEditorAndClick( + { + trimOutput: false, + multiline: true, + initial, + start(editor) { + is( + editor.input.value, + initial, + "Explicit initial value should be used." + ); + editor.input.value = changed; + EventUtils.sendKey("return"); + }, + done: onDone(changed, true, resolve), + }, + doc + ); + }); +} + +function testTrimmed(doc) { + info("Testing the trimOutput=true option (default value)"); + return new Promise(resolve => { + const initial = "\nMultiple\nLines\n"; + const changed = " \nMultiple\nLines\n with more whitespace "; + createInplaceEditorAndClick( + { + initial, + multiline: true, + start(editor) { + is( + editor.input.value, + initial, + "Explicit initial value should be used." + ); + editor.input.value = changed; + EventUtils.sendKey("return"); + }, + done: onDone(changed.trim(), true, resolve), + }, + doc + ); + }); +} + +function onDone(value, isCommit, resolve) { + return function (actualValue, actualCommit) { + info("Inplace-editor's done callback executed, checking its state"); + is(actualValue, value, "The value is correct"); + is(actualCommit, isCommit, "The commit boolean is correct"); + resolve(); + }; +} -- cgit v1.2.3