From 99f07fe2e29e7dcb192f6cd98c1d9f42ef20316b Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Tue, 17 Apr 2018 23:48:31 -0700 Subject: [PATCH] tests: Fully cover top_left_corner.js. --- frontend_tests/node_tests/top_left_corner.js | 23 +++++++++++++++++--- tools/test-js-with-node | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/frontend_tests/node_tests/top_left_corner.js b/frontend_tests/node_tests/top_left_corner.js index c4e204fef5..c652da5622 100644 --- a/frontend_tests/node_tests/top_left_corner.js +++ b/frontend_tests/node_tests/top_left_corner.js @@ -5,13 +5,14 @@ zrequire('unread_ui'); zrequire('top_left_corner'); -var noop = function () {}; - (function test_narrowing() { + // activating narrow + var pm_expanded; + var pm_closed; set_global('pm_list', { - close: noop, + close: function () { pm_closed = true; }, expand: function () { pm_expanded = true; }, }); @@ -33,6 +34,17 @@ var noop = function () {}; ]); top_left_corner.handle_narrow_activated(filter); assert(top_left_corner.get_global_filter_li('home').hasClass('active-filter')); + + // deactivating narrow + + pm_closed = false; + top_left_corner.handle_narrow_deactivated(); + + assert(top_left_corner.get_global_filter_li('home').hasClass('active-filter')); + assert(!top_left_corner.get_global_filter_li('mentioned').hasClass('active-filter')); + assert(!top_left_corner.get_global_filter_li('private').hasClass('active-filter')); + assert(!top_left_corner.get_global_filter_li('starred').hasClass('active-filter')); + assert(pm_closed); }()); (function test_update_count_in_dom() { @@ -69,4 +81,9 @@ var noop = function () {}; assert.equal($('').text(), '222'); assert.equal($('').text(), '333'); + counts.mentioned_message_count = 0; + top_left_corner.update_dom_with_unread_counts(counts); + + assert(!$('').visible()); + assert.equal($('').text(), ''); }()); diff --git a/tools/test-js-with-node b/tools/test-js-with-node index fca92a210a..8306d70e8c 100755 --- a/tools/test-js-with-node +++ b/tools/test-js-with-node @@ -60,6 +60,7 @@ enforce_fully_covered = { 'static/js/stream_data.js', 'static/js/stream_events.js', 'static/js/stream_sort.js', + 'static/js/top_left_corner.js', 'static/js/topic_data.js', 'static/js/topic_generator.js', 'static/js/transmit.js',