Commit Graph

83 Commits (f1288d85ba901aa7e0db5bf0f66dd88001ae1521)

Author SHA1 Message Date
David Baker 6f53b2de2c Merge pull request #663 from matrix-org/rav/fix_tests
Make tests pass on Chrome again
2017-02-01 10:20:30 +00:00
Richard van der Hoff cd1cf09dc9 Make tests pass on Chrome again
It seems that a number of the tests had started failing when run in
Chrome. They were fine under PhantomJS, but the MegolmExport tests only work
under Chrome, and I need them to work...

Mostly the problems were timing-related, where assumptions made about how
quickly the `then` handler on a promise would be called were no longer
valid. Possibly Chrome 55 has made some changes to the relative priorities of
setTimeout and sendMessage calls.

One of the TimelinePanel tests was failing because it was expecting the contents
of a div to take up more room than they actually were. It's possible this is
something very environment-specific; hopefully the new value will work on a
wider range of machines.

Also some logging tweaks.
2017-01-31 22:40:53 +00:00
Richard van der Hoff c5f447260a Megolm import: Fix handling of short files
Make sure we throw a sensible error when the body of the data is too short.
2017-01-31 12:30:30 +00:00
Luke Barnard 24e94787dd A lot of linting 2017-01-25 10:52:55 +00:00
Luke Barnard d5edf26371 Improve comment 2017-01-25 10:39:39 +00:00
Luke Barnard e9719b1766 Get rid of .only 2017-01-25 09:12:29 +00:00
Luke Barnard bd106968ce Merge branch 'develop' into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
David Baker 4d12a65529 Add mocha env for tests in eslint config 2017-01-23 14:16:25 +00:00
Richard van der Hoff bb7d589287 Merge pull request #617 from matrix-org/rav/megolm_backup
Megolm session import and export
2017-01-19 16:14:18 +00:00
Richard van der Hoff fdc213cbb8 Megolm export: fix test 2017-01-19 10:44:01 +00:00
Johannes Löthberg 14ead373e2 Add markdown test-cases
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 20:54:34 +01:00
Richard van der Hoff 31df78f946 Use text-encoding-utf-8 as a TextEncoder polyfill
Somebody else seems to have done a good job of polyfilling TextEncoder, so
let's use that.
2017-01-18 11:39:44 +00:00
lukebarnard 41d2697e28 Remove `done`, const instead of var for `requier`s 2017-01-18 12:03:38 +01:00
lukebarnard 867a532e5e Remove parentDiv from tests 2017-01-18 11:58:54 +01:00
lukebarnard 78e2c787e0 Refactor and document test helpers. 2017-01-18 11:53:17 +01:00
lukebarnard 5dd1512ff2 Move aggregation code to dedicated function 2017-01-18 10:59:19 +01:00
lukebarnard 3ba9f50873 Move functions around, remove redundancies, add docs 2017-01-17 19:07:45 +01:00
lukebarnard 49f2b9df88 Remove duplicate test 2017-01-17 18:53:38 +01:00
lukebarnard ade7c65617 Add test for MemberEventListSummary 2017-01-17 12:01:54 +01:00
Richard van der Hoff e37bf6b7be Skip crypto tests on PhantomJS 2017-01-14 01:41:48 +00:00
Richard van der Hoff f8e56778ea Encryption and decryption for megolm backups 2017-01-14 01:34:34 +00:00
Richard van der Hoff 1d5d44d63d TextEncoder polyfill
Apparently Safari doesn't sport a TextEncoder, so here's a polyfill for it.
2017-01-14 00:45:51 +00:00
David Baker e52907a462 Missed semicolon 2016-12-09 10:59:05 +00:00
David Baker 289f8ab439 Fix failing test
For some reason, update webpack causes the promise to no longer
complete by the next tick. Change the test to not depend on how
fast the promise goes through.
2016-12-08 18:44:38 +00:00
Luke Barnard 8a6ed1d7e9 Do not assume unpagination will occur during scroll test 2016-11-22 17:43:45 +00:00
Luke Barnard cf41155610 Test TimelinePanel canForwardPaginate (#561)
Fix scroll up, down pagination test

NB: this test may not fail on Travis, although it did fail locally without a fix: #563.

Once the test has scrolled the panel to the top, to the earliest events, it should be able to forward paginate, because some degree of unpagination occurs. This does assume that unpagination will occur when scrolling to the beginning of the events and that unpagination should allow pagination again in the same direction.

Instead of checking that the first event is no longer the first event (varies due to unpagination), check instead that the most recent event can be seen when scrolling all the way down to the bottom of the TimelinePanel.

Scrolling past the bottom of content seems to have strange behaviour, which isn't a useful part of the test. So now the test will scroll down until the last event instead.
2016-11-18 11:44:45 +00:00
Luke Barnard b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00:00
Richard van der Hoff 22757cfcd3 Inject MatrixClient into React context in tests
Now that EventTile expects MatrixClient in the context, we had better provide
it.
2016-11-14 18:22:56 +00:00
Richard van der Hoff 1a81397d31 InteractiveAuthDialog
A dialog which will take the user through an interactive-auth process
2016-10-12 08:23:28 +01:00
Richard van der Hoff 388839a094 PR feedback 2016-10-11 14:59:35 +01:00
Richard van der Hoff 24bc90f9cc Fix flaky TimelinePanel test
The 'should load new events even if you are scrolled up' test was sometimes
failing. It turned out that pagination *sometimes* wasn't starting soon enough
after setting the scrollTop, and awaitPaginationCompletion was incorrectly
believing it to have already been and gone.

Add an awaitScroll to make sure that we wait long enough for the pagination to
begin.
2016-10-11 14:20:40 +01:00
Richard van der Hoff 78c3d5943a Fix a load of warnings in the tests
Stub things out to make the tests not throw warnings, so we can see the actual
problems.
2016-10-11 14:20:40 +01:00
David Baker bbfc05b0c0 Fix name of text emote sending & fix tests 2016-09-26 10:20:56 +01:00
Aviral Dasgupta 9a991a4dfd Autocomplete fixes and improvements 2016-09-13 17:30:29 +05:30
Matthew Hodgson 92b4107174 fix tests 2016-09-12 17:19:58 +01:00
Matthew Hodgson 83209197f4 Merge branch 'develop' into matthew/notif-panel 2016-09-11 02:38:16 +01:00
Aviral Dasgupta fec1e4d4c1 Add some tests for the rich text editor 2016-09-09 18:07:42 +05:30
Matthew Hodgson 4aef352a5c update to use new API based on js-sdk PR input 2016-09-08 22:48:44 +01:00
Matthew Hodgson 334564c814 unbreak tests 2016-09-07 22:54:38 +01:00
Matthew Hodgson e22d0a53b6 WIP switch-over of TimePanel from taking Rooms to taking EventTimelineSets 2016-09-07 22:54:37 +01:00
Richard van der Hoff dd77cd74d1 Add text prefix to test event content 2016-08-25 15:13:28 +01:00
Richard van der Hoff 6bcf9cc9db TimelinePanel-test: Hackery to make it pass 2016-08-24 17:30:53 +01:00
Richard van der Hoff cdd2902b01 Update annoying TimelinePanel test
* Actually test what we were supposed to be testing (viz, that we can paginate
  back down after we hit the top of the room)

* Make the cap on the number of events we show in the timeline a configurable
  property, so that we can set it in the test

* Use a smaller cap in the test, so that we have to do less paginating to hit
  the cap, to make the test run quicker.

* add some more logging so that we can see how far it's got if it gets stuck.
2016-08-24 16:28:00 +01:00
Richard van der Hoff 70c0290aec Fix TimelinePanel test
https://github.com/matrix-org/matrix-react-sdk/pull/422 made events take up
less vertical space, so we now need more of them to allow us to scroll back.
2016-08-23 14:39:44 +01:00
Richard van der Hoff 5440fd7504 Fix tests
MatrixClientPeg no longer has a replaceUsingUrls method, so don't try to stub
it out.
2016-08-12 07:27:53 +01:00
Richard van der Hoff 24841cc5c4 Start to factor out session-loading magic
Take some of the magic out of MatrixChat.componentDidMount() into a new
component.

Also delete the MatrixChat test. It wasn't really doing much, is broken by the
change, and I am replacing it with (better) app-level tests in the vector
project.
2016-08-10 00:05:44 +01:00
David Baker cbfb0ad998 Merge pull request #377 from matrix-org/dbkr/use_logout_api
Call the logout API when we log out
2016-08-03 17:51:42 +01:00
Richard van der Hoff 8a57881618 Add more logging to TimelinePanel-test
In an attempt to figure out why this is timing out sometimes, add even more
debugging.
2016-08-03 15:24:56 +01:00
David Baker da03af6c1c Fix tests 2016-08-03 10:51:58 +01:00
David Baker a5272542ef Lengthen timelinepanel test timeout again
It's now hitting this timeout on the jenkins box instead of the browser disconnect timeout
2016-07-14 10:40:12 +01:00