Files
zulip/zerver/tests/frontend/node/narrow.js
Steve Howell d5f997eb58 Use the correct stream name in compose defaults.
If we have a stream named "Denmark" and we're narrowed to it,
then use "Denmark" as the default stream name in the compose box
even if the narrow operators are lowercase.

(imported from commit e9f06b7307c73231aa887dc95849e0307984e6f0)
2013-08-20 14:27:42 -04:00

58 lines
1.8 KiB
JavaScript

var assert = require('assert');
(function set_up_dependencies () {
global._ = require('third/underscore/underscore.js');
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
global.narrow = require('js/narrow.js');
global.stream_data = require('js/stream_data.js');
global.Filter = require('js/filter.js');
}());
var narrow = global.narrow;
var Filter = global.Filter;
var stream_data = global.stream_data;
(function test_parse_and_unparse() {
var string ='stream:Foo topic:Bar yo';
var operators = [['stream', 'Foo'], ['topic', 'Bar'], ['search', 'yo']];
assert.deepEqual(narrow.parse(string), operators);
string = 'stream:foo topic:bar yo';
assert.deepEqual(narrow.unparse(operators), string);
}());
(function test_stream() {
var operators = [['stream', 'Foo'], ['topic', 'Bar'], ['search', 'yo']];
narrow._set_current_filter(new Filter(operators));
assert.equal(narrow.stream(), 'foo');
}());
(function test_operators() {
var operators = [['stream', 'Foo'], ['topic', 'Bar'], ['search', 'yo']];
var canonical_operators = [['stream', 'foo'], ['topic', 'bar'], ['search', 'yo']];
narrow._set_current_filter(new Filter(operators));
assert.deepEqual(narrow.operators(), canonical_operators);
}());
(function test_set_compose_defaults() {
var operators = [['stream', 'Foo'], ['topic', 'Bar']];
narrow._set_current_filter(new Filter(operators));
var opts = {};
narrow.set_compose_defaults(opts);
assert.equal(opts.stream, 'foo');
assert.equal(opts.subject, 'bar');
stream_data.add_sub('ROME', {name: 'ROME'});
operators = [['stream', 'rome']];
narrow._set_current_filter(new Filter(operators));
opts = {};
narrow.set_compose_defaults(opts);
assert.equal(opts.stream, 'ROME');
}());