Commit Graph

238 Commits

Author SHA1 Message Date
JC Brand
8c983ab2a3 Use different icon for adding a groupchat
Fixes #1072
2018-05-30 16:38:51 +02:00
JC Brand
bb95375f9c Support for roster versioning
fixes #1106
2018-05-28 13:59:11 +02:00
JC Brand
ec609a3883 Refetch VCards which we couldn't retrieve before 2018-05-25 16:25:02 +02:00
JC Brand
61dcebbbf6 When generating a device id, check whether it already exists
and if so, generate a new one.

To do so we have to change the order of events.

1. first we fetch our device list
2. then we generate our bundle info (if necessary)
3. then we update our device list (if necessary)
4. then we publish our bundle

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9645641505 Add own device to the server-stored devicelist
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
09eb1731b5 Add code to generate and publish our bundle and update the test
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
0c50808b65 Add missing declaration and don't run OTR tests
Add 3rd party dependencies

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9500900f22 Make sure bookmarks are cleared before re-initializing
Otherwise subtle, hard-to-reproduce bugs happen while testing.

Also, don't unnecessarily call `delegateEvents`, it also causes
heisen-breakage.
2018-05-22 21:59:17 +02:00
JC Brand
36fd859a88 Store presence info in a separate collection
So that we can cache roster data for longer and presence data for
shorter.
2018-05-22 21:09:43 +02:00
JC Brand
59535656b6 Add checkbox to indicate whether this is a trusted device 2018-05-18 15:44:42 +02:00
JC Brand
d0f490bbdc Start using Sass for the website CSS and rename 2018-05-15 09:38:20 +02:00
JC Brand
09db3eddb0 Add tests for contact removal via modal 2018-05-10 22:15:23 +02:00
JC Brand
8bd968a03b Also use the VCard cache for the user's own status 2018-05-08 19:24:50 +02:00
JC Brand
6c513ad4be Remove dependency on strophe's vcard plugin 2018-05-08 18:11:56 +02:00
JC Brand
3a37577252 Refactor to not have to rely on a spy 2018-04-30 15:37:37 +02:00
JC Brand
1873c43956 Move message-related tests into their own file 2018-04-30 15:37:37 +02:00
JC Brand
9c2a5bd3b8 Merge branch 'worlword-httpFileUpload' into http-file-upload 2018-04-14 07:50:29 +02:00
JC Brand
042c1947ed Add file-upload button 2018-04-14 07:40:07 +02:00
JC Brand
77a51cc2a6 Initial work on XEP-0363: HTTP File Upload 2018-04-14 07:36:24 +02:00
worlword
fa80749658 refactoring based on the review from jcbrand 06.Apr.2018 2018-04-11 15:29:41 +02:00
worlword
b23712aec3 added httpFileUpload to converse.js 2018-04-03 11:20:57 +02:00
JC Brand
2977643bf7 Fix failing tests 2018-03-18 03:35:34 +00:00
JC Brand
11f02f78fe Fix more failing tests 2018-03-17 18:54:19 +00:00
JC Brand
ca141401a0 Fix failing tests 2018-03-13 13:42:00 +01:00
JC Brand
0a28e7aae4 Fixes #1027 Backwards compatibility fix for IE11 2018-03-02 15:54:28 +01:00
JC Brand
ba09996998 Don't allow PEP bookmarks if #publish-options is not advertised 2018-02-08 09:49:05 +01:00
JC Brand
5f3761dc7f Only initialize bookmarks and show icon if PEP is supported
which we check by checking if the PEP identity is provided.
https://xmpp.org/extensions/xep-0163.html#support
2018-02-07 21:05:38 +01:00
JC Brand
4742e66b69 Fix linting errors and failing tests 2018-02-07 14:21:46 +01:00
JC Brand
e7aed050b4 Move test pages into the tests folder 2018-02-07 13:26:39 +01:00
JC Brand
ed33d4e53d Add spec for spoilers, clean up linting errors 2018-02-06 18:05:12 +01:00
JC Brand
f724f49087 Add ability to run tests for transpiled code 2018-01-29 14:14:56 +01:00
JC Brand
d7a113e081 Fix transcripts code. 2018-01-09 13:52:27 +00:00
JC Brand
4652385bb4 Remove jQuery from non-tests config 2018-01-04 12:11:03 +00:00
JC Brand
671691353a Use Backbone.NativeView instead of Backbone.View 2018-01-03 20:41:03 +00:00
JC Brand
7c782ed6a4 Fix failing test 2017-12-22 21:24:45 +00:00
JC Brand
b5e7bd5605 Move roster tests into their own module 2017-12-22 14:39:29 +00:00
JC Brand
1178badec8 Role was wrongly set to 'occupant' instead of 'participant' 2017-12-22 12:02:24 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
ce1954a9f7 Improved roster performance.
Don't sort the roster group for each `chat_status` change. Instead batch
every 500ms.
2017-12-20 16:59:17 +00:00
JC Brand
fc94127014 Fix failing tests 2017-12-03 18:49:53 +01:00
JC Brand
add3b8efb3 utils now no longer depends on jquery. 2017-08-16 09:05:15 +02:00
JC Brand
439e37feaa disco: Refactor service discovery and add tests.
* `disco#items` are now only fetched when advertised by the entity.
* `identity` information is now also stored on the `DiscoEntity` model.
2017-07-21 17:38:08 +02:00
JC Brand
cf1e8f2921 Fix failing test for emoji picker 2017-07-15 15:16:38 +02:00
JC Brand
397927b189 Fix broken tests and update changelog 2017-07-12 09:58:14 +02:00
JC Brand
16d62bf9e4 Fix broken tests due to using ES2015 promises 2017-07-11 17:05:02 +02:00
JC Brand
6ef0536e31 Some work on using es6 promises 2017-07-10 21:14:48 +02:00
JC Brand
02e5921415 Fix problem of stuck/hanging tests on TravisCI 2017-06-19 15:05:22 +02:00
JC Brand
6c262f7213 Various small changes to reduce (non-critical) errors during testing 2017-06-14 20:14:45 +02:00
JC Brand
3866ab7bac No need for run-jasmine2.js with chrome headless 2017-06-13 14:50:34 +02:00
JC Brand
e907bec4d8 Run tests using chromium headless. 2017-06-13 14:49:23 +02:00
JC Brand
4db2e7bacf Allow settings to be passed in first. 2017-05-23 18:16:07 +02:00
JC Brand
095606a824 roomslist: Add initial test spec for converse-roomslist. 2017-05-16 12:00:43 +02:00
JC Brand
f636fa4855 mock: Allow for settings to be passed in first 2017-05-16 11:56:33 +02:00
JC Brand
07dbf14a7d bookmarks: enable registration of spy on the mock connection during init
We need this because when the plugin listens to a promise, we can't trigger it
again later (after adding our spy), we instead need to add the spy beforehand.
2017-05-08 21:28:56 +02:00
Novokreshchenov Konstantin
7c057910a8 Inconsistent unread messages count updating #873 (#874)
* Consistent unread messages count updating on ChatBoxView, Minimized ChatBoxView, RosterView and page's title

* Add tests for checking unread messages count updates in different GUI parts

* Update docs/CHANGES.md

* document windowStateChanged event in events.rst
2017-05-03 09:06:28 +02:00
JC Brand
f0deac9ec5 Updates #849
Refactor locales code to store the currently chosen locale as
`_converse.locale` and use that in converse-notifications.js
2017-04-19 14:37:52 +02:00
JC Brand
b41d978d00 Update sinon to 2.1.0 and eslint to 3.19.0
Also update clean-css
2017-04-06 23:09:22 +02:00
JC Brand
0c43e4b87c Upgrade to Jasmine 2.5.3 2017-04-06 11:31:05 +02:00
JC Brand
f8d9368163 MUC: only render and listen to 'scroll' event...
after the cached messages have been fetched.
2017-02-27 21:09:17 +00:00
JC Brand
3aa5a83d02 Add a test case based on #785 2017-02-20 20:47:08 +01:00
JC Brand
1a0cb07098 Install sinon via npm. Bump version in package.json 2017-02-14 08:21:05 +01:00
JC Brand
e6f8648bf0 Install jasmine via npm 2017-02-14 07:47:15 +01:00
JC Brand
4dcb855562 Split API into public and private (plugin only) parts. 2017-02-02 18:30:59 +00:00
Richard Icke
343e5777d1 first attempt to replace underscore with lodash 2017-02-01 14:00:38 +01:00
JC Brand
25d9880f9e Add config setting allow_non_roster_messaging
- Add a test case.
- Don't allow passing of `attrs` to `chats.open`. Not sure yet of the
  implications of this.
2017-02-01 10:49:13 +00:00
JC Brand
6c725409c2 converse-muc: Only send the delta when setting the member list.
As required by XEP-0045.

This requires that we first fetch the existing member list, compute the delta
and then send that if there is one.
2016-12-06 15:18:33 +00:00
JC Brand
7ad39cfdb9 Fetch the room information before opening the room. 2016-12-05 06:07:01 +00:00
JC Brand
de07b6a529 No need for two AMD-load cycles. 2016-11-30 12:18:58 +00:00
JC Brand
a5f76abcf1 Updates #729. Minimized chat boxes don't stay hidden
Bug got introduced during fix for #677

Eventually had to do a significant refactoring, to more consistently use the
`hidden` class instead of `display: None`. (relevant for #695)
2016-11-22 17:42:58 +01:00
JC Brand
a2f4acdcee All tests suites now updated and isolated. 2016-11-03 13:59:05 +00:00
JC Brand
50275cce64 Remove shared state between tests
Only a small subset of tests currently working with this.
2016-11-03 13:59:05 +00:00
JC Brand
01c3a50cc2 Add code to generically and recursively update user settings.
Also moved chatview specific settings.
2016-10-26 14:14:49 +02:00
JC Brand
c3456eeede Test fixes.
- Call `_initialize` after tests have run
  Since the tests call `teardDown`, which removes all chatboxes.
- Open controlbox when navigating to panel
2016-10-06 09:00:57 +02:00
JC Brand
052dd19252 Initial work on adding chatroom bookmarks. 2016-10-05 23:15:42 +02:00
JC Brand
dcd1a847bd Fix failing tests.
We now need to mock some extra XMPP stanzas being received when a user enters a chat
room in tests.
2016-07-26 07:12:56 +00:00
JC Brand
454f8ef034 Let converse.initialize return a deferred
and use that in the tests, instead of a callback.
2016-06-10 08:26:38 +00:00
JC Brand
bd23a7751a Add processing hints to OTR messages
so that they're not stored in MAM and not forwarded.

updates #553
2016-05-30 16:52:26 +00:00
JC Brand
c738d085c4 Indicate to the user when there are unread messages
further down in the chat box.
2016-05-28 10:07:11 +00:00
JC Brand
ffcdd09cb7 Add info on using transcripts. 2016-05-24 08:00:07 +00:00
JC Brand
218000551d Add the ability to replay transcripts of chat logs. 2016-04-28 14:58:09 +00:00
JC Brand
d2ee62da71 Make sure that there is a valid connection when login API is called
In the process I had to refactor some methods which required the mock
connection of tests to be changed as well.
2016-04-13 15:11:50 +00:00
JC Brand
f353fe8611 Bugfix for headline messages.
Couldn't handle messages with no "from" attribute.
Some refactoring to add code that checks if a messages is a headline to the
utils module.
Updated tests. Add sinon so that we can test returned value of spy.
2016-03-28 10:51:32 +00:00
JC Brand
82aa9fec2c Support for showing headline messages. 2016-03-21 10:00:10 +00:00
JC Brand
0aa0c02124 Add tests for src/converse-notification.js. updates #443
In the process refactored the code being tested.

- Move notifications code in MUC to src/converse-notification.js
- Trigger the 'contactStatusChanged' event in RosterContact and not in
  ChatBoxView (which might not exist).
2016-03-08 10:44:27 +00:00
JC Brand
0db447a585 Add some tests for the ping feature. 2016-02-19 13:02:42 +00:00
JC Brand
dfcebeb621 Rename participants to occupants. 2015-10-31 16:48:50 +00:00
JC Brand
8b3ede9e56 Remove unused parts from Gruntfile
Wouldn't mind getting rid of grunt completely.
2015-10-27 09:11:36 +00:00
JC Brand
81391ff4a2 Ensure that tests execute with 'en' locale. refs #501 2015-10-12 14:43:20 +00:00
JC Brand
99c7b9cb95 Add a new emitted event: serviceDiscovered.
Gets thrown every time converse learns of a supported server service.
Useful when 3rd party code wants to use API methods that depend on the service
being discovered first.
2015-07-17 20:34:48 +02:00
JC Brand
eeeaddbe04 Add the ability to read and set MAM preferences. 2015-07-10 15:24:13 +02:00
JC Brand
c7bf1713d8 Add new spec protocol for testing the XMPP protocol.
Already testing the first 3 sections of RFC-3921 section 8.2 "User subscribes to contact".
2015-04-08 10:35:14 +02:00
JC Brand
6c31f76406 Refactor other tests. All tests pass now again. updates #307 2015-03-01 11:58:07 +01:00
JC Brand
95bc55c1c3 Merge branch 'master' into amd-strophe 2015-02-07 14:10:32 +01:00
JC Brand
f283f6bce5 Fix failing tests after introducing AMD version of Strophe 2015-02-01 16:15:34 +01:00
Guillermo Bonvehí
fc0a1d9dbd Added test case for #305 and updated CHANGES.rst 2015-01-23 12:06:10 -03:00
JC Brand
b4d53aaa94 Some refactoring of chat states work. updates #292
- Don't add a timeout for the GONE state.
- Change state to GONE when the user closes the chat box.
- Change the state to inactive when the user minimizes the chat box.
- Change the state to active when the users maximizes the chat box.
- Add more tests for chat states.
2015-01-09 09:09:49 +01:00
JC Brand
702cddd89b Add tests for account registration. 2014-11-27 11:16:06 +01:00
JC Brand
d690704f93 Fix tests and added a workaround...
so that we can use require config in main.js also in the tests.
2014-11-25 10:50:30 +01:00
JC Brand
682cc8471a Update main.js to work properly with mainConfigFile 2014-10-28 18:02:17 +01:00
JC Brand
5e4d6bd3b2 Initial work on adding profiling tests. 2014-10-24 18:58:42 +02:00
JC Brand
4a89d28e38 Fix tests by depending on jquery obj.
Also fixed groupchat test by getting and including correct msg id.
2014-10-15 19:16:02 +02:00
JC Brand
eefce8286e Fix tests but killing zombies. 2014-09-17 10:35:24 +02:00
JC Brand
5124c05f65 Fix (some) tests. 2014-09-16 10:26:24 +02:00
JC Brand
9e5dc21aa4 Refactor showing of chat room status messages.
onChatRoomPresence and showStatusMessages have been refactored to give more
detailed information and to also show the reasons given to actions taken by
moderators.
2014-09-06 12:25:37 +02:00
JC Brand
4a31978e5e Add disco methods to test mock 2014-08-31 14:19:20 +02:00
JC Brand
278c2c428d Add tests for the live filter functionality. updates #212 2014-08-18 22:39:24 +02:00
JC Brand
e7d563b34b Let tests pass again 2014-08-08 22:06:01 +02:00
JC Brand
9a3104cb21 "is_last" property no longer used. 2014-08-04 18:00:30 +02:00
JC Brand
33d84a0c8e Store roster on converse obj.
Storing it on the rosterview causes race conditions.
2014-08-03 23:05:36 +02:00
JC Brand
219d5c8a30 Major refactor.
The RosterView view is now an overview of RosterGroup objects.

RosterGroup objects each have their own collection of contacts which fall under that group.
Additionally, the RosterView has a collection of all contacts.

The comparator of RosterContacts is now used to correctly position roster
contacts and we therefore no longer need to explicitly sort them afterwards.

updates #83
updates #151
2014-08-02 19:31:53 +02:00
JC Brand
2b927f21be Big refactor. The RosterView is no longer an overview.
This is because we can no longer assume a one to one mapping between roster
contacts and their views. Roster contacts can belong to more than one group,
each group needs to show the contact, which means we need a view for each group
the contact belongs to.

updates #83
2014-08-01 21:31:21 +02:00
JC Brand
c25f33b181 Add proper separation between controlbox tests 2014-07-04 21:18:28 +02:00
JC Brand
5034ae33f2 Work on getting proper separation between tests. 2014-06-30 20:26:45 +02:00
JC Brand
718f75a464 Make sure sessionStorage is cleared 2014-06-30 19:55:26 +02:00
JC Brand
4950bb9120 Fixing tests after latest refactoring 2014-06-30 19:21:16 +02:00
JC Brand
4b8196cd7e Add more tests around minimized chats. 2014-06-21 23:01:56 +02:00
JC Brand
f0091c9c9c Control box toggle's class has been changed. 2014-06-21 11:32:05 +02:00
JC Brand
c9d7e17a10 Fix test failures due to previous commit 2014-06-14 22:03:04 +02:00
JC Brand
38e0668372 Fix tests. 2014-05-27 19:18:02 +02:00
JC Brand
ad51e1c0f7 More working on trimming chats. (still very buggy)
More flesh on the view and superview for trimmed chats.
Add event handlers.
Renamed some methods to make them shorter, more consistent.
2014-05-27 18:34:22 +02:00
JC Brand
364c340ab5 Stub trimChat for PhantomJS and move tests_main.js to tests/main.js 2014-05-06 09:56:04 +02:00
JC Brand
14d90bc99c Upgrade dependencies to their latest versions 2014-04-19 05:12:24 +02:00
JC Brand
9849daacf9 Merge branch 'master' into 0.8
Conflicts:
	bower.json
	converse.js
	docs/CHANGES.rst
	spec/chatbox.js
	tests/utils.js
	tests_main.js
2014-03-09 08:18:00 +02:00
JC Brand
74779afd66 Ensure that URLs in messages are properly escaped 2014-03-05 08:03:52 +02:00
JC Brand
25cc229019 Refactor message handling
- use the same method for both normal and OTR messages
- fix /me actions for OTR messages
- rename messaging methods to minimize ambiguity

Conflicts:
	converse.js
	tests/utils.js
2014-03-05 01:46:19 +02:00
JC Brand
317ab95cd8 Refactor message handling
- use the same method for both normal and OTR messages
- fix /me actions for OTR messages
- rename messaging methods to minimize ambiguity
2014-03-05 01:23:45 +02:00
JC Brand
b14538b441 Rename ChatBoxesView to ChatBoxViews 2014-03-04 15:54:36 +02:00
JC Brand
1567b212c3 Add closure get/set methods for rosteritem views 2014-03-04 15:49:02 +02:00
JC Brand
d20ca10638 Add closured get/set methods for views from chatboxesview 2014-03-04 15:09:16 +02:00
JC Brand
ac0042fdf9 Extend the "close chat" test with a normal chatbox usecase 2014-03-04 13:22:49 +02:00
JC Brand
11b59b31d3 Fix tests after all the refactoring... 2014-03-01 01:57:20 +02:00
JC Brand
d1bf5b8466 Add event emitter tests for chatrooms. Updates #48 2013-12-16 19:19:25 +02:00
JC Brand
00e0782576 Add a test that checks for delayed messages. Fixes #76
Messages older than one day do indicate it.
2013-11-03 13:24:18 +02:00
JC Brand
d7d8948eba Refactor ChatRoom tests (move code to utils.js) 2013-11-03 12:02:25 +02:00
JC Brand
13babe4fae Refactored chatbox tests to be run independently 2013-11-03 11:38:48 +02:00
JC Brand
d4fa43109f Don't use 'testing' attr override.
Can be used to get the unwrapper 'inner' converse object.

Instead, check that the bosh service value of the connection corresponds to the
mock object used for jasmine tests.
The value tested for is not usable in production, so we're sure we're only
running tests.
2013-11-03 11:38:36 +02:00
JC Brand
44fe406a34 Refactored tests.
Split MainSpec out into ChatBoxSpec and ControlBoxSpec.

Part of trying to have looser coupling between tests so that they can be run
independently.
2013-11-02 13:37:38 +02:00
JC Brand
ff345dcf51 Move mock.js to tests dir. Add utils.js
Both changes from tests-refactor branch
2013-11-02 11:32:52 +02:00