diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index de48b193490..d5fcec21399 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -881,6 +881,7 @@ var FieldDate = InputField.extend({ */ activate: function () { if (this.isFocusable() && this.datewidget) { + this.datewidget.$input.focus(); this.datewidget.$input.select(); return true; } diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index ba86b2896f4..125ab7f4d9c 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -4314,7 +4314,7 @@ QUnit.module('basic_fields', { }); QUnit.test('field date should select its content onclick when there is one', async function (assert) { - assert.expect(2); + assert.expect(3); var done = assert.async(); var form = await createView({ @@ -4332,7 +4332,10 @@ QUnit.module('basic_fields', { 'show.datetimepicker': function () { assert.ok($('.bootstrap-datetimepicker-widget').is(':visible'), 'bootstrap-datetimepicker is visible'); - assert.strictEqual(window.getSelection().toString(), "02/03/2017", + const active = document.activeElement; + assert.equal(active.tagName, 'INPUT', "The datepicker input should be focused"); + const sel = active.value.slice(active.selectionStart, active.selectionEnd); + assert.strictEqual(sel, "02/03/2017", 'The whole input of the date field should have been selected'); done(); }