Commit Graph

104 Commits

Author SHA1 Message Date
Vladimir Timofeev
4d5312fec5 Restore test behaviour to check content of storage/application.json 2017-01-07 23:52:29 +03:00
=
1fb066ad68 Really fix tests on windows
Path names with backslashes was not quoted.
2017-01-07 23:11:31 +03:00
Vladimir Timofeev
94f28a3877 Another try to fix tests on Windows.
Wait for ipc.
2017-01-07 14:10:24 +03:00
Vladimir Timofeev
4ba6919d4d Try fix tests on Windows.
Only count AtomApplication#saveState calls, not saved content.
2017-01-07 13:04:05 +03:00
Vladimir Timofeev
bc77a79e86 Add test to ensure the state saved when project folders changed. 2017-01-07 10:59:22 +03:00
Damien Guard
4c4fa2b478
Integration tests now pass on Win32 2016-11-29 16:55:14 -08:00
Max Brunsfeld
b88fa984cf Wait for project folder to be added in main process tests 2016-09-21 11:37:37 -07:00
Max Brunsfeld
3039024d17 Go back to using promise based on window:loaded event in main process tests 2016-09-21 11:37:24 -07:00
Max Brunsfeld
cff4de5195 Wait for project directory to be added in main process test 2016-09-21 11:04:29 -07:00
Max Brunsfeld
d1a4fd2378 Wait for reused window's project paths to update in main process test
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-20 16:52:47 -07:00
Max Brunsfeld
833b3b0ab0 Save state when reloading AtomWindow
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-20 16:10:11 -07:00
Max Brunsfeld
c2c7241eda Destroy AtomEnvironment in beforeunload handler, not unload handler
See https://github.com/electron/electron/issues/7278

Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-20 16:10:05 -07:00
Max Brunsfeld
46eb861f84 Try manually tearing down atom env before reloading window in main process spec 2016-09-20 12:37:40 -07:00
Max Brunsfeld
cec2c87793 Assert about remote directories' types in main process test 2016-09-20 09:54:28 -07:00
Max Brunsfeld
ee1b8160e5 Wait for each window to save its state in main process test
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-19 12:06:37 -07:00
Max Brunsfeld
511fe1a576 Tweak test again for travis
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-19 11:02:48 -07:00
Nathan Sobo
7bba3e86b2 Try this on travis 2016-09-16 16:47:33 -06:00
Nathan Sobo
f62bf2c7e0 Focus test on for travis 2016-09-16 14:22:23 -06:00
Nathan Sobo
5fad2bdbf9 Return a promise from AtomWindow.reload that resolves on window:loaded 2016-09-16 14:10:34 -06:00
Max Brunsfeld
e444076a46 WIP - debug travis CI failures 2016-09-15 17:29:02 -07:00
Max Brunsfeld
0d2b7d12b7 Fix test description 2016-09-15 16:56:10 -07:00
Max Brunsfeld
3758fe5646 Use fake directory provider in integration test for remote dirs
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-15 16:33:04 -07:00
Antonio Scandurra
5c3bad077d Run platform-specific specs without mocking process.platform 2016-09-09 17:58:23 +02:00
Antonio Scandurra
6841babc4a Run main process tests on Linux 2016-09-09 17:58:23 +02:00
Antonio Scandurra
e2a3b75db2 Fix app not quitting on win32 and linux when closing the last window
This regression was caused by a nuance in the way we maintain state in
`AtomApplication` for open windows. Specifically, when closing the last
window on Windows and Linux, we were explicitly calling `app.quit`
*before* removing such window from the list of open ones. In turn, this
caused the new `before-quit` behavior introduced in #12619 to work
improperly because it made the application wait on saving the state of a
stale window before exiting.

With this commit we are fixing that by making sure the stale window is
removed before calling `app.quit` in `removeWindow`.
2016-09-09 10:51:40 +02:00
Antonio Scandurra
bb7ff6d535 🎨 2016-09-07 16:36:01 +02:00
Antonio Scandurra
34a99f9c82 Write tests to ensure quitting the application works as expected 2016-09-07 14:18:52 +02:00
Antonio Scandurra
5b57669859 Disable telemetry on AtomApplication tests and smoke-spec.coffee
Unless a choice has been made by the user, this tab always shows up as
the first one when opening Atom, thus breaking some of the assumptions
we make in the main process tests.
2016-08-26 15:13:37 +02:00
Nathan Sobo
b6ab5530b5 Fix focus issues on CircleCI 2016-08-12 13:35:08 -06:00
Nathan Sobo
c861abc2a9 Fix timing issues in atom-application-test
Signed-off-by: Antonio Scandurra <as-cii@github.com>
2016-08-12 11:46:12 -06:00
Antonio Scandurra
9847c4fc24 Wait until the window is focused before interacting with it in tests
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:46:13 +02:00
Antonio Scandurra
87d684132c Extract timeoutPromise into async-spec-helpers
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:46:12 +02:00
Antonio Scandurra
4bd644bea2 Bump timeout to 1 minute on AtomApplication tests
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:45:59 +02:00
Antonio Scandurra
336f6425da Discourage people from using temp directly
It's better if we fs.realpathSync the path returned by the temp module.

Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:45:56 +02:00
Antonio Scandurra
04d8b9bb86 Ensure we don't reuse the same window when testing the offset distance
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:45:50 +02:00
Antonio Scandurra
753db274fc Clear storage data after each AtomApplication test
This, along with using a temporary directory as the ATOM_HOME, will make
sure that tests won't share any state with one another, possibly
increasing the level of resiliency of the suite.
2016-08-12 15:20:58 +02:00
Antonio Scandurra
a817a354dc Use project paths instead of tree view directories to test remote paths 2016-08-12 14:35:40 +02:00
Antonio Scandurra
7fe0f6b455 Move another integration test 2016-08-12 11:29:34 +02:00
Antonio Scandurra
da7b951c07 Move another integration test 2016-08-12 11:22:32 +02:00
Antonio Scandurra
02bc4282d0 Move another integration test 2016-08-12 10:58:59 +02:00
Antonio Scandurra
fff2ecd162 Extract a AtomApplication.prototype.launch method
...so that we can exercise loading previously opened windows stored
state after the application is restarted. In addition, this resembles
more what we run in production, and therefore allows us to have a better
coverage of the code paths we run in the real application.
2016-08-12 10:44:09 +02:00
Antonio Scandurra
e8c7b27af4 Move another integration test 2016-08-12 10:10:20 +02:00
Nathan Sobo
3d99cde9e1 Move another integration spec to the main process tests 2016-08-11 16:43:26 -06:00
Nathan Sobo
a29db76073 Move another integration test 2016-08-11 16:33:36 -06:00
Nathan Sobo
b89c0cb415 Move another integration test 2016-08-11 16:33:25 -06:00
Nathan Sobo
29cf1025f1 Assert about tree view root directories rather than project directories
Since these are integration tests, making sure the user sees these
directories in their tree view seems like a good idea.
2016-08-11 16:20:29 -06:00
Nathan Sobo
f953588f91 Move opening multiple directories integration spec to main process tests
It was testing something that didn’t actually work, that opening a
directory that was already open in an existing window would recycle the
window. We explicitly don’t behave that way and the old test was passing
spuriously.
2016-08-11 16:12:41 -06:00
Nathan Sobo
dbfd0cc605 Move integration test of window persistence to main process tests 2016-08-11 15:28:11 -06:00
Nathan Sobo
5f414f4ea7 Move integration specs for reusing windows to main process tests 2016-08-11 15:10:38 -06:00
Nathan Sobo
15bb92f35e Move whitespace trimming integration spec to main process tests 2016-08-11 14:43:23 -06:00
Nathan Sobo
f80c800347 Move test for opening w/ a line:column from Chromedriver to main process 2016-08-11 14:36:47 -06:00
Nathan Sobo
4d4a2530ff Move test for opening w/ a line number from Chromedriver to main process 2016-08-11 14:33:54 -06:00
Nathan Sobo
52ea92803d Use parseCommandLine in atom-application-test.js 2016-08-11 12:45:54 -06:00
Nathan Sobo
502339b830 Replace chromedriver test of window offset with main process mocha test
Signed-off-by: Antonio Scandurra <as-cii@github.com>
2016-08-11 10:33:12 -06:00