From c0898950ec9b9a7166450a1cc38ef712fb01f324 Mon Sep 17 00:00:00 2001 From: Tim Kang Date: Mon, 17 Oct 2016 11:55:58 -0700 Subject: [PATCH 1/3] Add failing tests See #3895 --- tests/selection/multiple-tests.js | 2 ++ tests/selection/single-tests.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tests/selection/multiple-tests.js b/tests/selection/multiple-tests.js index 0d0f9c2e63..5e996ea6bb 100644 --- a/tests/selection/multiple-tests.js +++ b/tests/selection/multiple-tests.js @@ -72,10 +72,12 @@ test('empty update clears the selection', function (assert) { var $rendered = $selection.find('.select2-selection__rendered'); $rendered.text('testing'); + $rendered.attr('title', 'testing'); selection.update([]); assert.equal($rendered.text(), ''); + assert.equal($rendered.attr('title'), undefined); }); test('escapeMarkup is being used', function (assert) { diff --git a/tests/selection/single-tests.js b/tests/selection/single-tests.js index 2731b2a5a1..9ab163672a 100644 --- a/tests/selection/single-tests.js +++ b/tests/selection/single-tests.js @@ -72,10 +72,12 @@ test('empty update clears the selection', function (assert) { var $rendered = $selection.find('.select2-selection__rendered'); $rendered.text('testing'); + $rendered.attr('title', 'testing'); selection.update([]); assert.equal($rendered.text(), ''); + assert.equal($rendered.attr('title'), undefined); }); test('update renders the data text', function (assert) { From b6c3148e0467ddd55804affd39cd343641280195 Mon Sep 17 00:00:00 2001 From: Tim Kang Date: Mon, 17 Oct 2016 11:56:51 -0700 Subject: [PATCH 2/3] Remove `title` on `.clear()` See #3895 --- src/js/select2/selection/multiple.js | 4 ++-- src/js/select2/selection/single.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/select2/selection/multiple.js b/src/js/select2/selection/multiple.js index ae0f7cce7e..c104e0970e 100644 --- a/src/js/select2/selection/multiple.js +++ b/src/js/select2/selection/multiple.js @@ -55,7 +55,7 @@ define([ }; MultipleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); + this.$selection.find('.select2-selection__rendered').empty().removeAttr('title'); }; MultipleSelection.prototype.display = function (data, container) { @@ -93,7 +93,7 @@ define([ var formatted = this.display(selection, $selection); $selection.append(formatted); - $selection.prop('title', selection.title || selection.text); + $selection.attr('title', selection.title || selection.text); $selection.data('data', selection); diff --git a/src/js/select2/selection/single.js b/src/js/select2/selection/single.js index 89c21dbbf0..2b29890d25 100644 --- a/src/js/select2/selection/single.js +++ b/src/js/select2/selection/single.js @@ -66,7 +66,7 @@ define([ }; SingleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); + this.$selection.find('.select2-selection__rendered').empty().removeAttr('title'); }; SingleSelection.prototype.display = function (data, container) { @@ -92,7 +92,7 @@ define([ var formatted = this.display(selection, $rendered); $rendered.empty().append(formatted); - $rendered.prop('title', selection.title || selection.text); + $rendered.attr('title', selection.title || selection.text); }; return SingleSelection; From 8877c02cc3959312bb81508e4292e25d1f2347a5 Mon Sep 17 00:00:00 2001 From: Tim Kang Date: Tue, 18 Oct 2016 10:25:00 -0700 Subject: [PATCH 3/3] Fix lines being too long --- src/js/select2/selection/multiple.js | 4 +++- src/js/select2/selection/single.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/js/select2/selection/multiple.js b/src/js/select2/selection/multiple.js index c104e0970e..f234a9664e 100644 --- a/src/js/select2/selection/multiple.js +++ b/src/js/select2/selection/multiple.js @@ -55,7 +55,9 @@ define([ }; MultipleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty().removeAttr('title'); + this.$selection.find('.select2-selection__rendered') + .empty() + .removeAttr('title'); }; MultipleSelection.prototype.display = function (data, container) { diff --git a/src/js/select2/selection/single.js b/src/js/select2/selection/single.js index 2b29890d25..d57de2fc38 100644 --- a/src/js/select2/selection/single.js +++ b/src/js/select2/selection/single.js @@ -66,7 +66,9 @@ define([ }; SingleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty().removeAttr('title'); + this.$selection.find('.select2-selection__rendered') + .empty() + .removeAttr('title'); }; SingleSelection.prototype.display = function (data, container) {