Repository: ambari Updated Branches: refs/heads/trunk a5c6834d6 -> 753029ff5
AMBARI-8556. Sorting by non-string values is broken (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/753029ff Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/753029ff Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/753029ff Branch: refs/heads/trunk Commit: 753029ff55c07cda1fbe20108cd6e0000f08bee5 Parents: a5c6834 Author: Oleg Nechiporenko <onechipore...@apache.org> Authored: Fri Dec 5 14:13:09 2014 +0200 Committer: Oleg Nechiporenko <onechipore...@apache.org> Committed: Fri Dec 5 14:13:09 2014 +0200 ---------------------------------------------------------------------- ambari-web/app/views/common/sort_view.js | 8 ++++---- ambari-web/test/views/common/sort_view_test.js | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/753029ff/ambari-web/app/views/common/sort_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/sort_view.js b/ambari-web/app/views/common/sort_view.js index 880d74e..3615af1 100644 --- a/ambari-web/app/views/common/sort_view.js +++ b/ambari-web/app/views/common/sort_view.js @@ -171,12 +171,12 @@ var wrapperView = Em.View.extend({ }; break; case 'alert_status': - func = function(a, b) { + func = function (a, b) { var a_summary = a.get('summary'), b_summary = b.get('summary'), st_order = a.get('severityOrder'), ret = 0; - for(var i = 0; i < st_order.length; i++) { + for (var i = 0; i < st_order.length; i++) { var a_v = Em.isNone(a_summary[st_order[i]]) ? 0 : a_summary[st_order[i]], b_v = Em.isNone(b_summary[st_order[i]]) ? 0 : b_summary[st_order[i]]; ret = b_v - a_v; @@ -196,8 +196,8 @@ var wrapperView = Em.View.extend({ func = function (a, b) { var a_p = a.get(property.get('name')); var b_p = b.get(property.get('name')); - a_p = Em.isNone(a_p) ? '' : a_p; - b_p = Em.isNone(b_p) ? '' : b_p; + a_p = Em.isNone(a_p) ? '' : '' + a_p; + b_p = Em.isNone(b_p) ? '' : '' + b_p; return order ? a_p.localeCompare(b_p) : b_p.localeCompare(a_p) }; } http://git-wip-us.apache.org/repos/asf/ambari/blob/753029ff/ambari-web/test/views/common/sort_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/common/sort_view_test.js b/ambari-web/test/views/common/sort_view_test.js index ef61551..f03fb52 100644 --- a/ambari-web/test/views/common/sort_view_test.js +++ b/ambari-web/test/views/common/sort_view_test.js @@ -143,6 +143,14 @@ describe('#wrapperView', function () { }); }); + it('test non-string values', function () { + property = Em.Object.create({type: 'string', name: 'enabled'}); + var func = sort.wrapperView.create().getSortFunc(property, true), + a = Em.Object.create({enabled: false}), + b = Em.Object.create({enabled: true}); + expect(func(a, b)).to.equal(-1); + }); + }); });