diff --git a/dlls/mshtml/tests/elements.js b/dlls/mshtml/tests/elements.js new file mode 100644 index 00000000000..c307e504f5d --- /dev/null +++ b/dlls/mshtml/tests/elements.js @@ -0,0 +1,64 @@ +/* + * Copyright 2017 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +function test_input_selection() { + var input = document.createElement("input"); + input.type = "text"; + input.value = "test"; + document.body.appendChild(input); + + function test_range(start, end) { + ok(input.selectionStart === start, "input.selectionStart = " + input.selectionStart + " expected " + start); + ok(input.selectionEnd === end, "input.selectionEnd = " + input.selectionEnd + " expected " + end); + } + + test_range(0, 0); + + input.selectionStart = 2; + test_range(2, 2); + + input.selectionStart = -1; + test_range(0, 2); + + input.selectionStart = 10; + test_range(4, 4); + + input.selectionEnd = 2; + test_range(2, 2); + + input.selectionEnd = -1; + test_range(0, 0); + + input.selectionEnd = 10; + test_range(0, 4); + + input.setSelectionRange(2, 3); + test_range(2, 3); + + input.setSelectionRange(-1, 10); + test_range(0, 4); + + input.setSelectionRange(3, 3); + test_range(3, 3); + + next_test(); +} + +var tests = [ + test_input_selection +]; diff --git a/dlls/mshtml/tests/rsrc.rc b/dlls/mshtml/tests/rsrc.rc index 1e2bdd0f92c..2f90c00cb4c 100644 --- a/dlls/mshtml/tests/rsrc.rc +++ b/dlls/mshtml/tests/rsrc.rc @@ -43,6 +43,9 @@ navigation.js HTML "navigation.js" /* @makedep: xhr.js */ xhr.js HTML "xhr.js" +/* @makedep: elements.js */ +elements.js HTML "elements.js" + /* @makedep: documentmode.js */ documentmode.js HTML "documentmode.js" diff --git a/dlls/mshtml/tests/script.c b/dlls/mshtml/tests/script.c index 2753d7d5189..045835bb6cf 100644 --- a/dlls/mshtml/tests/script.c +++ b/dlls/mshtml/tests/script.c @@ -3459,6 +3459,7 @@ static void run_js_tests(void) init_protocol_handler(); run_script_as_http_with_mode("xhr.js", NULL, "11"); + run_script_as_http_with_mode("elements.js", NULL, "11"); run_script_as_http_with_mode("navigation.js", NULL, NULL); run_script_as_http_with_mode("navigation.js", NULL, "11");