mirror of
https://github.com/zulip/zulip.git
synced 2025-11-17 20:41:46 +00:00
* In most cases, eslint --fix with the right comma-dangle settings was able to update the code correctly. * The exceptions were cases where the parser incorrectly treated the arguments to functions like `assert_equal` as arguments; we fixed these manually. Since this is test code, we can be reasonably confident that just fixing the failures suffices to correct any bugs introduced by making changes automatically.
105 lines
3.0 KiB
JavaScript
105 lines
3.0 KiB
JavaScript
add_dependencies({
|
|
stream_data: 'js/stream_data.js',
|
|
Filter: 'js/filter.js',
|
|
});
|
|
|
|
var narrow = require('js/narrow.js');
|
|
var Filter = global.Filter;
|
|
var stream_data = global.stream_data;
|
|
var _ = global._;
|
|
|
|
function set_filter(operators) {
|
|
operators = _.map(operators, function (op) {
|
|
return {operator: op[0], operand: op[1]};
|
|
});
|
|
narrow._set_current_filter(new Filter(operators));
|
|
}
|
|
|
|
(function test_stream() {
|
|
set_filter([['stream', 'Foo'], ['topic', 'Bar'], ['search', 'yo']]);
|
|
|
|
assert.equal(narrow.stream(), 'Foo');
|
|
assert.equal(narrow.topic(), 'Bar');
|
|
}());
|
|
|
|
|
|
(function test_narrowed() {
|
|
narrow._set_current_filter(undefined); // not narrowed, basically
|
|
assert(!narrow.narrowed_to_pms());
|
|
assert(!narrow.narrowed_by_reply());
|
|
assert(!narrow.narrowed_to_search());
|
|
assert(!narrow.narrowed_to_topic());
|
|
|
|
set_filter([['stream', 'Foo']]);
|
|
assert(!narrow.narrowed_to_pms());
|
|
assert(!narrow.narrowed_by_reply());
|
|
assert(!narrow.narrowed_to_search());
|
|
assert(!narrow.narrowed_to_topic());
|
|
|
|
set_filter([['pm-with', 'steve@zulip.com']]);
|
|
assert(narrow.narrowed_to_pms());
|
|
assert(narrow.narrowed_by_reply());
|
|
assert(!narrow.narrowed_to_search());
|
|
assert(!narrow.narrowed_to_topic());
|
|
|
|
set_filter([['stream', 'Foo'], ['topic', 'bar']]);
|
|
assert(!narrow.narrowed_to_pms());
|
|
assert(narrow.narrowed_by_reply());
|
|
assert(!narrow.narrowed_to_search());
|
|
assert(narrow.narrowed_to_topic());
|
|
|
|
set_filter([['search', 'grail']]);
|
|
assert(!narrow.narrowed_to_pms());
|
|
assert(!narrow.narrowed_by_reply());
|
|
assert(narrow.narrowed_to_search());
|
|
assert(!narrow.narrowed_to_topic());
|
|
}());
|
|
|
|
(function test_operators() {
|
|
set_filter([['stream', 'Foo'], ['topic', 'Bar'], ['search', 'Yo']]);
|
|
var result = narrow.operators();
|
|
assert.equal(result.length, 3);
|
|
assert.equal(result[0].operator, 'stream');
|
|
assert.equal(result[0].operand, 'Foo');
|
|
|
|
assert.equal(result[1].operator, 'topic');
|
|
assert.equal(result[1].operand, 'Bar');
|
|
|
|
assert.equal(result[2].operator, 'search');
|
|
assert.equal(result[2].operand, 'yo');
|
|
}());
|
|
|
|
(function test_muting_enabled() {
|
|
set_filter([['stream', 'devel']]);
|
|
assert(narrow.muting_enabled());
|
|
|
|
narrow._set_current_filter(undefined); // not narrowed, basically
|
|
assert(narrow.muting_enabled());
|
|
|
|
set_filter([['stream', 'devel'], ['topic', 'mac']]);
|
|
assert(!narrow.muting_enabled());
|
|
|
|
set_filter([['search', 'whatever']]);
|
|
assert(!narrow.muting_enabled());
|
|
|
|
set_filter([['is', 'private']]);
|
|
assert(!narrow.muting_enabled());
|
|
|
|
}());
|
|
|
|
(function test_set_compose_defaults() {
|
|
set_filter([['stream', 'Foo'], ['topic', 'Bar']]);
|
|
|
|
var opts = {};
|
|
narrow.set_compose_defaults(opts);
|
|
assert.equal(opts.stream, 'Foo');
|
|
assert.equal(opts.subject, 'Bar');
|
|
|
|
stream_data.add_sub('ROME', {name: 'ROME', stream_id: 99});
|
|
set_filter([['stream', 'rome']]);
|
|
|
|
opts = {};
|
|
narrow.set_compose_defaults(opts);
|
|
assert.equal(opts.stream, 'ROME');
|
|
}());
|