mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
dict, lazy_set: Replace num_items method with size property.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
committed by
Tim Abbott
parent
da633e953e
commit
60fac80c8e
@@ -19,7 +19,7 @@ casper.then(function () {
|
|||||||
common.turn_off_press_enter_to_send();
|
common.turn_off_press_enter_to_send();
|
||||||
casper.test.info("Checking for all everyone warning");
|
casper.test.info("Checking for all everyone warning");
|
||||||
var stream_size = this.evaluate(function () {
|
var stream_size = this.evaluate(function () {
|
||||||
return stream_data.get_sub('Verona').subscribers.num_items();
|
return stream_data.get_sub('Verona').subscribers.size;
|
||||||
});
|
});
|
||||||
casper.test.info(stream_size);
|
casper.test.info(stream_size);
|
||||||
var threshold = this.evaluate(function () {
|
var threshold = this.evaluate(function () {
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ run_test('basic', () => {
|
|||||||
|
|
||||||
d.set('foo', 'baz');
|
d.set('foo', 'baz');
|
||||||
assert.equal(d.get('foo'), 'baz');
|
assert.equal(d.get('foo'), 'baz');
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
|
|
||||||
d.set('bar', 'qux');
|
d.set('bar', 'qux');
|
||||||
assert.equal(d.get('foo'), 'baz');
|
assert.equal(d.get('foo'), 'baz');
|
||||||
assert.equal(d.get('bar'), 'qux');
|
assert.equal(d.get('bar'), 'qux');
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
|
|
||||||
assert.equal(d.has('bar'), true);
|
assert.equal(d.has('bar'), true);
|
||||||
assert.equal(d.has('baz'), false);
|
assert.equal(d.has('baz'), false);
|
||||||
@@ -112,21 +112,21 @@ run_test('each', () => {
|
|||||||
|
|
||||||
run_test('num_items', () => {
|
run_test('num_items', () => {
|
||||||
const d = new Dict();
|
const d = new Dict();
|
||||||
assert.equal(d.num_items(), 0);
|
assert.equal(d.size, 0);
|
||||||
assert(d.is_empty());
|
assert(d.is_empty());
|
||||||
|
|
||||||
d.set('foo', 1);
|
d.set('foo', 1);
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.set('foo', 2);
|
d.set('foo', 2);
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.set('bar', 1);
|
d.set('bar', 1);
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
d.delete('foo');
|
d.delete('foo');
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -161,16 +161,16 @@ run_test('clear', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.clear();
|
d.clear();
|
||||||
assert.equal(d.get('foo'), undefined);
|
assert.equal(d.get('foo'), undefined);
|
||||||
assert.equal(d.get('bar'), undefined);
|
assert.equal(d.get('bar'), undefined);
|
||||||
assert.equal(d.num_items(), 0);
|
assert.equal(d.size, 0);
|
||||||
assert(d.is_empty());
|
assert(d.is_empty());
|
||||||
|
|
||||||
// make sure it still works after clearing
|
// make sure it still works after clearing
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ run_test('basic', () => {
|
|||||||
|
|
||||||
d.set('foo', 'baz');
|
d.set('foo', 'baz');
|
||||||
assert.equal(d.get('foo'), 'baz');
|
assert.equal(d.get('foo'), 'baz');
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
|
|
||||||
d.set('bar', 'qux');
|
d.set('bar', 'qux');
|
||||||
assert.equal(d.get('foo'), 'baz');
|
assert.equal(d.get('foo'), 'baz');
|
||||||
assert.equal(d.get('bar'), 'qux');
|
assert.equal(d.get('bar'), 'qux');
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
|
|
||||||
assert.equal(d.has('bar'), true);
|
assert.equal(d.has('bar'), true);
|
||||||
assert.equal(d.has('baz'), false);
|
assert.equal(d.has('baz'), false);
|
||||||
@@ -70,18 +70,18 @@ run_test('clear', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.clear();
|
d.clear();
|
||||||
assert.equal(d.get('fOO'), undefined);
|
assert.equal(d.get('fOO'), undefined);
|
||||||
assert.equal(d.get('bAR'), undefined);
|
assert.equal(d.get('bAR'), undefined);
|
||||||
assert.equal(d.num_items(), 0);
|
assert.equal(d.size, 0);
|
||||||
assert(d.is_empty());
|
assert(d.is_empty());
|
||||||
|
|
||||||
// make sure it still works after clearing
|
// make sure it still works after clearing
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test('undefined_keys', () => {
|
run_test('undefined_keys', () => {
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ run_test('basic', () => {
|
|||||||
|
|
||||||
d.set(101, 'baz');
|
d.set(101, 'baz');
|
||||||
assert.equal(d.get(101), 'baz');
|
assert.equal(d.get(101), 'baz');
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
|
|
||||||
d.set(102, 'qux');
|
d.set(102, 'qux');
|
||||||
assert.equal(d.get(101), 'baz');
|
assert.equal(d.get(101), 'baz');
|
||||||
assert.equal(d.get(102), 'qux');
|
assert.equal(d.get(102), 'qux');
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
|
|
||||||
assert.equal(d.has(102), true);
|
assert.equal(d.has(102), true);
|
||||||
assert.equal(d.has(999), false);
|
assert.equal(d.has(999), false);
|
||||||
@@ -130,21 +130,21 @@ run_test('non integers', () => {
|
|||||||
|
|
||||||
run_test('num_items', () => {
|
run_test('num_items', () => {
|
||||||
const d = new IntDict();
|
const d = new IntDict();
|
||||||
assert.equal(d.num_items(), 0);
|
assert.equal(d.size, 0);
|
||||||
assert(d.is_empty());
|
assert(d.is_empty());
|
||||||
|
|
||||||
d.set(101, 1);
|
d.set(101, 1);
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.set(101, 2);
|
d.set(101, 2);
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.set(102, 1);
|
d.set(102, 1);
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
d.delete(101);
|
d.delete(101);
|
||||||
assert.equal(d.num_items(), 1);
|
assert.equal(d.size, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test('clear', () => {
|
run_test('clear', () => {
|
||||||
@@ -158,16 +158,16 @@ run_test('clear', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
assert(!d.is_empty());
|
assert(!d.is_empty());
|
||||||
|
|
||||||
d.clear();
|
d.clear();
|
||||||
assert.equal(d.get(101), undefined);
|
assert.equal(d.get(101), undefined);
|
||||||
assert.equal(d.get(102), undefined);
|
assert.equal(d.get(102), undefined);
|
||||||
assert.equal(d.num_items(), 0);
|
assert.equal(d.size, 0);
|
||||||
assert(d.is_empty());
|
assert(d.is_empty());
|
||||||
|
|
||||||
// make sure it still works after clearing
|
// make sure it still works after clearing
|
||||||
populate();
|
populate();
|
||||||
assert.equal(d.num_items(), 2);
|
assert.equal(d.size, 2);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -361,33 +361,33 @@ run_test('filtered_users', () => {
|
|||||||
const search_term = 'a';
|
const search_term = 'a';
|
||||||
const users = people.get_people_for_stream_create();
|
const users = people.get_people_for_stream_create();
|
||||||
let filtered_people = people.filter_people_by_search_terms(users, [search_term]);
|
let filtered_people = people.filter_people_by_search_terms(users, [search_term]);
|
||||||
assert.equal(filtered_people.num_items(), 2);
|
assert.equal(filtered_people.size, 2);
|
||||||
assert(filtered_people.has(ashton.user_id));
|
assert(filtered_people.has(ashton.user_id));
|
||||||
assert(filtered_people.has(maria.user_id));
|
assert(filtered_people.has(maria.user_id));
|
||||||
assert(!filtered_people.has(charles.user_id));
|
assert(!filtered_people.has(charles.user_id));
|
||||||
|
|
||||||
filtered_people = people.filter_people_by_search_terms(users, []);
|
filtered_people = people.filter_people_by_search_terms(users, []);
|
||||||
assert.equal(filtered_people.num_items(), 0);
|
assert.equal(filtered_people.size, 0);
|
||||||
|
|
||||||
filtered_people = people.filter_people_by_search_terms(users, ['ltorv']);
|
filtered_people = people.filter_people_by_search_terms(users, ['ltorv']);
|
||||||
assert.equal(filtered_people.num_items(), 1);
|
assert.equal(filtered_people.size, 1);
|
||||||
assert(filtered_people.has(linus.user_id));
|
assert(filtered_people.has(linus.user_id));
|
||||||
|
|
||||||
filtered_people = people.filter_people_by_search_terms(users, ['ch di', 'maria']);
|
filtered_people = people.filter_people_by_search_terms(users, ['ch di', 'maria']);
|
||||||
assert.equal(filtered_people.num_items(), 2);
|
assert.equal(filtered_people.size, 2);
|
||||||
assert(filtered_people.has(charles.user_id));
|
assert(filtered_people.has(charles.user_id));
|
||||||
assert(filtered_people.has(maria.user_id));
|
assert(filtered_people.has(maria.user_id));
|
||||||
|
|
||||||
// Test filtering of names with diacritics
|
// Test filtering of names with diacritics
|
||||||
// This should match Nöôáàh by ignoring diacritics, and also match Nooaah
|
// This should match Nöôáàh by ignoring diacritics, and also match Nooaah
|
||||||
filtered_people = people.filter_people_by_search_terms(users, ['noOa']);
|
filtered_people = people.filter_people_by_search_terms(users, ['noOa']);
|
||||||
assert.equal(filtered_people.num_items(), 2);
|
assert.equal(filtered_people.size, 2);
|
||||||
assert(filtered_people.has(noah.user_id));
|
assert(filtered_people.has(noah.user_id));
|
||||||
assert(filtered_people.has(plain_noah.user_id));
|
assert(filtered_people.has(plain_noah.user_id));
|
||||||
|
|
||||||
// This should match ëmerson, but not emerson
|
// This should match ëmerson, but not emerson
|
||||||
filtered_people = people.filter_people_by_search_terms(users, ['ëm']);
|
filtered_people = people.filter_people_by_search_terms(users, ['ëm']);
|
||||||
assert.equal(filtered_people.num_items(), 1);
|
assert.equal(filtered_people.size, 1);
|
||||||
assert(filtered_people.has(noah.user_id));
|
assert(filtered_people.has(noah.user_id));
|
||||||
|
|
||||||
// Test filtering with undefined user
|
// Test filtering with undefined user
|
||||||
@@ -399,7 +399,7 @@ run_test('filtered_users', () => {
|
|||||||
users.push(foo);
|
users.push(foo);
|
||||||
|
|
||||||
filtered_people = people.filter_people_by_search_terms(users, ['ltorv']);
|
filtered_people = people.filter_people_by_search_terms(users, ['ltorv']);
|
||||||
assert.equal(filtered_people.num_items(), 1);
|
assert.equal(filtered_people.size, 1);
|
||||||
assert(filtered_people.has(linus.user_id));
|
assert(filtered_people.has(linus.user_id));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export class Dict<V> {
|
|||||||
return [...this._items];
|
return [...this._items];
|
||||||
}
|
}
|
||||||
|
|
||||||
num_items(): number {
|
get size(): number {
|
||||||
return this._items.size;
|
return this._items.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ export class FoldDict<V> {
|
|||||||
return [...this._items.values()].map(({k, v}) => [k, v]);
|
return [...this._items.values()].map(({k, v}) => [k, v]);
|
||||||
}
|
}
|
||||||
|
|
||||||
num_items(): number {
|
get size(): number {
|
||||||
return this._items.size;
|
return this._items.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ export class IntDict<V> {
|
|||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
num_items(): number {
|
get size(): number {
|
||||||
return this._map.size;
|
return this._map.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export class LazySet {
|
|||||||
this.arr = undefined;
|
this.arr = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
num_items() {
|
get size() {
|
||||||
if (this.set !== undefined) {
|
if (this.set !== undefined) {
|
||||||
return this.set.size;
|
return this.set.size;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ exports.get_by_email = function (email) {
|
|||||||
exports.get_realm_count = function () {
|
exports.get_realm_count = function () {
|
||||||
// This returns the number of active people in our realm. It should
|
// This returns the number of active people in our realm. It should
|
||||||
// exclude bots and deactivated users.
|
// exclude bots and deactivated users.
|
||||||
return active_user_dict.num_items();
|
return active_user_dict.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.id_matches_email_operand = function (user_id, email) {
|
exports.id_matches_email_operand = function (user_id, email) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ const BinaryDict = function (pred) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
self.num_true_items = function () {
|
self.num_true_items = function () {
|
||||||
return self.trues.num_items();
|
return self.trues.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
self.false_values = function () {
|
self.false_values = function () {
|
||||||
@@ -353,7 +353,7 @@ exports.get_colors = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
exports.update_subscribers_count = function (sub) {
|
exports.update_subscribers_count = function (sub) {
|
||||||
const count = sub.subscribers.num_items();
|
const count = sub.subscribers.size;
|
||||||
sub.subscriber_count = count;
|
sub.subscriber_count = count;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -370,7 +370,7 @@ exports.get_subscriber_count = function (stream_name) {
|
|||||||
if (!sub.subscribers) {
|
if (!sub.subscribers) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return sub.subscribers.num_items();
|
return sub.subscribers.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.update_stream_announcement_only = function (sub, is_announcement_only) {
|
exports.update_stream_announcement_only = function (sub, is_announcement_only) {
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ exports.widget = function (parent_elem, my_stream_id) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
self.num_items = function () {
|
self.num_items = function () {
|
||||||
return self.topic_items.num_items();
|
return self.topic_items.size;
|
||||||
};
|
};
|
||||||
|
|
||||||
self.set_count = function (topic, count) {
|
self.set_count = function (topic, count) {
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ exports.compare_by_activity = function (stream_a, stream_b) {
|
|||||||
if (diff !== 0) {
|
if (diff !== 0) {
|
||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
diff = stream_b.subscribers.num_items() - stream_a.subscribers.num_items();
|
diff = stream_b.subscribers.size - stream_a.subscribers.size;
|
||||||
if (diff !== 0) {
|
if (diff !== 0) {
|
||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user