Steve Howell
0e4ba368e0
node tests: Remove tooltips logic in subs test.
...
The zjquery setup here isn't worth the complexity here.
The function being tested just does a simple jQuery
loop.
2021-02-16 13:11:10 -08:00
Steve Howell
62e272ce27
stream settings: Remove obsolete scrolling code.
...
We just want to reset the scrollbar here, which
we still do via ui.reset_scrollbar.
You don't want to preserve scroll position if
you are filtering or re-sorting.
2021-02-16 13:11:10 -08:00
Steve Howell
9862156158
stream settings: Clean up functions to redraw left panel.
...
We have long had this annoying two-pass way of building the
DOM that I am trying to eliminate.
The function names that I introduce here describe the current
situation more accurately.
In passing I make it so that we only throttle redraws when
users are actually typing. Using a throttled redraw when
you click on the sort icons is at best unnecessary, and it
may actually aggravate double clicks.
2021-02-16 13:11:10 -08:00
Abhijeet Prasad Bodas
674a5fef54
node tests: Split draft_model for add/edit/delete cases.
...
This splits the one big `run_test` block into
add/edit/delete parts, for better clarity.
This also removes the `with_field` calls and
uses the override style instead, which is
preferred because it makes sure the stubbed
function is actually called.
2021-02-14 09:13:24 -05:00
Abhijeet Prasad Bodas
8cc0b435e5
node tests: Remove unecessary with_field call in pm_list.
...
After eeee6edf41
, `is_all_privates`
isn't called from the `update_private_messages`
path, and doesn't need to be stubbed.
2021-02-14 09:13:24 -05:00
Abhijeet Prasad Bodas
6c6def2dcc
node tests: Prefer override over with_field.
...
This commit replaces `with_field` calls to
use the override style instead.
`override` is preferred since it makes sure
the stubbed function is actually called,
while `with_field` doesn't, which makes it
hard to spot dead code.
2021-02-14 09:13:24 -05:00
Steve Howell
2ad879cdda
node tests: Use override in echo.js.
2021-02-13 12:48:15 -08:00
Steve Howell
9698fec008
node tests: Use override for snapshot_message.
...
Using override ensures that the real code actually
calls the stubs here.
The one-line map() helper avoids some ugliness
from "prettify".
2021-02-13 08:50:10 -05:00
Abhijeet Prasad Bodas
c183076a91
minor: Suggest with_field instead of override for non-functions.
2021-02-13 07:28:26 -05:00
Abhijeet Prasad Bodas
a24d8272e8
zjsunit: Remove with_stub helper.
...
This doesn't add much clarity to the tests.
Using scoped stub objects is preferred instead.
2021-02-13 06:48:59 -05:00
Abhijeet Prasad Bodas
0d770c32cc
node tests: Explicitly call make_stub.
...
This commit replaces all `with_stub` calls and
explicitly calls `make_stub` instead.
The `with_stub` helper does not add much clarity
hence we now use scoped stub objects instead.
This de-indents some blocks where scoping isn't
required, for example when there is a single
stub object inside a `run_test` function.
With this change, we also need to explicitly
assert `num_calls`.
2021-02-13 06:48:59 -05:00
Steve Howell
183c51ba51
node tutorial: Add make_stub example.
2021-02-12 12:11:23 -05:00
Steve Howell
a5a5863bde
node tutorial: Use override in helpers.
2021-02-12 12:11:23 -05:00
Steve Howell
69ddf68f4d
node tutorial: Inline setup.
...
This code didn't make sense to run inside its own
run_test wrapper.
2021-02-12 12:11:23 -05:00
Steve Howell
118a212af8
node tutorial: Add with_field example.
2021-02-12 12:11:23 -05:00
Steve Howell
7672e7dd7b
node tutorial: Use override() more.
...
This is just a better practice.
2021-02-12 12:11:23 -05:00
Steve Howell
ba7e49c20e
node tutorial: Use set_global for overlays.
2021-02-12 12:11:23 -05:00
Steve Howell
70fb1c225b
minor: Clarify that message_store is a deep test.
...
I believe the original message_store example used
to stub some things here, but the part of the tutorial
that pertains to stubbing is further down.
2021-02-12 12:11:23 -05:00
Steve Howell
c0874462dc
node tests: Rename general.js to tutorial.js.
2021-02-12 12:11:23 -05:00
Steve Howell
1598344fa7
zjsunit: Rename `module` argument to `obj`.
...
Due to recent changes, `with_overrides` is no longer
constrained to overriding module methods. You can
override methods on any type of object.
2021-02-12 12:11:23 -05:00
Steve Howell
21cb0d1547
minor: Suggest using with_field instead of override.
2021-02-12 12:11:23 -05:00
Steve Howell
16ad65dd66
zjsunit: Restrict overrides to once-per-function.
...
We can relax this restriction in the future, but
basically every time it came up for me, the test
code was just disorganized, or it had an easy
workaround.
2021-02-11 11:29:21 -05:00
Steve Howell
90730a18d9
node tests: Simplify stream_events.
...
These are still kind of a mess.
The old code combined the worst of both worlds:
- we had one monolithic test
- we called the events multiple times,
verifying a different stub each time
Now I make the tests more granular.
We could actually re-combine the tests, but
in a nicer way, so that we just set
up multiple stubs and verify that all stubs
get correctly invoked.
2021-02-11 11:29:21 -05:00
Steve Howell
fcf5a66aeb
node tests: Move streams tests to dispatch_subs.
...
There is also some code cleanup here--in dispatch_subs,
we don't stub stream_data, so it's easier to write
deeper tests that actually validate the data changes.
2021-02-11 11:29:21 -05:00
Steve Howell
90ca1ded13
node tests: Split up dispatch tests.
2021-02-11 11:29:21 -05:00
Steve Howell
6f25a372ab
node tests: Reuse message_list stubs.
...
We now just override these functions to close
on local variables.
2021-02-11 11:29:21 -05:00
Anders Kaseorg
741c0ac8ca
node_tests: Change stub/events pattern to work with non-global modules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-11 07:35:28 -05:00
Anders Kaseorg
2f6c9b8d0e
zjsunit: Change override API to work with non-global modules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-11 07:35:28 -05:00
Steve Howell
d67cc2d080
slugs: Fix regex for legacy stream slugs.
...
This prevents a bug where we interpret "2something"
as a modern slug instead of a legacy stream name.
The bug was probably somewhat unlikely to happen in
practice, since it only manifests if 2 is an actual
stream_id.
2021-02-10 14:37:34 -08:00
Anders Kaseorg
1ec9304eee
js: Convert static/js/spoilers.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
4360a13dd6
js: Convert static/js/stream_ui_updates.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
8a6fdb662a
js: Convert static/js/search_pill.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
e16687af83
js: Convert static/js/settings_ui.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
63ce32b36e
js: Convert static/js/typing.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
881d6c437b
js: Convert static/js/tutorial.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
f3fb01a430
js: Convert static/js/colorspace.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
4c37748712
js: Convert static/js/user_status_ui.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
583febeffd
js: Convert static/js/user_status.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
229aacb819
js: Convert static/js/user_search.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
6775715b9f
js: Convert static/js/server_events_dispatch.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
5655e326c9
js: Convert static/js/alert_words.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
f3af16db3f
js: Convert static/js/invite.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
a935af9243
js: Convert static/js/pill_typeahead.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
118edf8982
js: Convert static/js/copy_and_paste.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
9dd03998f8
js: Convert static/js/zcommand.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
1a45d53f3a
js: Convert static/js/echo.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
f66441adb2
js: Convert static/js/zform.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
4513ef8861
js: Convert static/js/todo_widget.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
a1dc8e37a2
js: Convert static/js/topic_zoom.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00
Anders Kaseorg
2771434aad
js: Convert static/js/stream_sort.js to ES6 module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-10 10:27:14 -08:00