Commit Graph

7944 Commits

Author SHA1 Message Date
Ash Wilson
99d6f911cf Rename the filesystem-manager-spec too 2017-08-01 15:08:06 -04:00
Ash Wilson
6cc3e4b6d2 Test case for consolidating child watchers during split 2017-08-01 15:08:06 -04:00
Ash Wilson
0c5674a56c Split subtrees into child watchers on parent watcher removal 2017-08-01 15:08:06 -04:00
Ash Wilson
a5f217fd51 WIP work on rewatching child directories 2017-08-01 15:08:05 -04:00
Ash Wilson
60e6da9097 Weird-ass concurrent mkdir() error 2017-08-01 15:08:05 -04:00
Ash Wilson
f75aa1ae03 Use onWillStop() instead of onDidStop()
This will prevent new Watchers from attaching to NativeWatchers that are
in the process of stopping.
2017-08-01 15:08:05 -04:00
Ash Wilson
b34a9d6972 Only resolve the waitForChanges promise once 2017-08-01 15:08:05 -04:00
Ash Wilson
6d17fc880d Opportunistic native watcher stopping 2017-08-01 15:08:05 -04:00
Ash Wilson
9c8ed35b26 Provide native watcher creation function to the NativeWatcherRegistry constructor 2017-08-01 15:08:05 -04:00
Ash Wilson
6e6c0a5ef9 Use getStartPromise() in specs 2017-08-01 15:08:05 -04:00
Ash Wilson
53dcc00bfc Don't cleanup temp between runs to prevent reused directory names 2017-08-01 15:08:05 -04:00
Ash Wilson
246e87b660 👕 keep standard happy 2017-08-01 15:08:04 -04:00
Ash Wilson
d858e37058 Support pending specs with an empty body 2017-08-01 15:08:04 -04:00
Ash Wilson
f3a4c74158 🔥 console.log 2017-08-01 15:08:04 -04:00
Ash Wilson
0325a77d59 Test NativeWatcher removal 2017-08-01 15:08:04 -04:00
Ash Wilson
882095eea6 Test child watcher adoption 2017-08-01 15:08:04 -04:00
Ash Wilson
be681d1324 Use a private utility function to wait for all native watchers to stop 2017-08-01 15:08:04 -04:00
Ash Wilson
39085ce3dc First few FileSystemManager specs 2017-08-01 15:08:03 -04:00
Ash Wilson
9c9625eb76 Helpers to promisify functions in specs 2017-08-01 15:08:03 -04:00
Ash Wilson
366ee19bd9 👕 make the linter happy 2017-08-01 15:08:03 -04:00
Ash Wilson
a1ccd49b8e Use a tree-backed registry to deduplicate and consolidate native watchers 2017-08-01 15:08:03 -04:00
Nathan Sobo
f33bca4fd9 Try always mocking Date.now in our global spec helper 2017-07-31 11:21:14 -06:00
Nathan Sobo
899e9d3f8a Explicitly request to use mock clock to get Date.now mocking 2017-07-31 11:21:14 -06:00
Nathan Sobo
4254825f3c Remove duplicate mocking
Since this was newly introduced, let's only set it up when clock mocking
is specifically requested to minimize breakage. We really need to
deprecate the global spec helper someday. It's bad news.

/cc @hansonw
2017-07-31 11:21:14 -06:00
Max Brunsfeld
48abb16edb Fix exception in screenPositionForPixelPosition when content updates are pending
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-07-18 14:31:47 -07:00
Wliu
368df9ce60 Merge pull request #15008 from atom/wl-update-languages
Update languages
2017-07-14 12:47:51 -04:00
Bryant Ung
c50f73e9f5 Merge pull request #15011 from mehcode/gutter-marker-layer-bug
Check if incoming element is non-null before attempting to append to it
2017-07-13 22:29:44 -07:00
Wliu
9b99c863e0 Add JSDoc to the mix 2017-07-14 00:14:04 -04:00
Nathan Sobo
dc73841673 Add test for null-guarding element during gutter decoration update 2017-07-13 14:37:58 -06:00
Nathan Sobo
1d42590a5b Force legacy scrollbars in text-editor-element-spec 2017-07-13 18:13:48 +02:00
Antonio Scandurra
c3f7edc104 Swap underlying editor correctly when calling setModel on editor element
Previously, when `setModel` was called, we forgot to update the pointer
to the component in the newly supplied editor. This was causing the
element to not update in response to model updates but only as a result
of focus or visibility changes. We suspect this regressed during the
rewrite of the editor rendering layer.

With this commit we will now correctly swap the element's underlying
editor by updating the component pointer on the newly supplied editor.
Also, if the element was already attached to another editor, we will
null out the component reference on it, because one instance of
`TextEditorElement` can only represent one instance of `TextEditor`.
2017-07-13 18:13:48 +02:00
Nathan Sobo
f6d2f966bf Fix middle-mouse-button paste on Linux
Chrome now synthesizes a textInput event on mouseup for middle mouse
button clicks, which rendered our custom JS for handling that case
redundant.
2017-07-10 15:53:23 -06:00
Nathan Sobo
960e515e77 Merge pull request #14948 from atom/ns-add-gutter-decoration-class
Always render 'decoration' class on custom decorations
2017-07-05 15:24:43 -06:00
Antonio Scandurra
bcaf655325 Update buffer-row and screen-row data fields on each line number node 2017-07-05 11:12:48 +02:00
Antonio Scandurra
942dd03bd0 Assign screen-row to each line number as a data field 2017-07-05 11:11:44 +02:00
Nathan Sobo
e7b4ad48f0 Always render 'decoration' class on custom decorations 2017-07-03 16:10:41 -06:00
Lukas Geiger
e686c4d7f8 Remove invalidateBlockDecorationDimensions from tests
This is now automatically called by the mutation observer.
2017-06-30 14:08:40 +02:00
Antonio Scandurra
e0c2509bf7 Merge pull request #14897 from atom/as-jr-fix-not-updating-custom-title-bar
Ensure custom title bar is always updated when document.title changes
2017-06-27 11:35:43 +02:00
Antonio Scandurra
a7b1996245 Convert spec/title-bar-spec.coffee to js
Signed-off-by: Jason Rudolph <jasonrudolph@github.com>
2017-06-26 16:32:14 +02:00
Antonio Scandurra
62ee913567 Ensure custom title bar is always updated when document.title changes
This commit uses a new private API on Workspace that emits an event
every time the window title gets updated (e.g. as a result of an active
pane item changing, the project paths changing, etc.).

This fixes a bug that left the custom title bar with a stale
document.title under some circumstances.

Signed-off-by: Jason Rudolph <jasonrudolph@github.com>
2017-06-26 16:29:31 +02:00
Antonio Scandurra
52ba6c7342 Fix measuring block dec. if adding them before updating element's width 2017-06-26 12:52:18 +02:00
Max Brunsfeld
c1c0e7e921 Merge pull request #14736 from atom/fb-mdt-observe-dock-visibility
Add methods for observing dock visibility
2017-06-22 14:11:52 -07:00
Paul Betts
1d15056f72 Fix test 2017-06-14 16:57:37 -07:00
Damien Guard
8b00368fa1 Merge pull request #14745 from atom/dg-disable-a-flakey-main-process-test-on-win
Disable flakey main process test on Windows
2017-06-13 14:23:01 -07:00
Antonio Scandurra
0a46c9ad7b Prevent block decorations from mistakenly wrapping during measurements
Before rendering block decorations, we read their heights by putting
them into a special div called `blockDecorationMeasurementsArea`.

Previously, this div was not explicitly sized, which was causing
decorations to wrap while being measured but not when actually rendering
them.

This commit fixes this inconsistency by explicitly styling the
measurement area so that it has the same width as the component scroll
width.
2017-06-13 12:31:27 +02:00
Antonio Scandurra
d978a0f2cd Merge pull request #14734 from atom/as-ns-clip-autoscroll
Don't try to measure lines that don't exist
2017-06-12 17:20:17 +02:00
Antonio Scandurra
a314deeff9 Unfocus test 2017-06-12 11:27:58 +02:00
Damien Guard
45037c950a Disable flakey main process test on Windows 2017-06-09 10:48:17 -07:00
Antonio Scandurra
9a0709e95e Don't try to measure lines that don't exist
By the time that the animation frame is delivered, the requested
autoscroll
position could not exist anymore. This could cause the editor component
to measure a non-existent line and, as a result, throw an exception.

With this commit we will always ignore measurements for screen lines
that do not exist.
2017-06-09 18:40:24 +02:00
Max Brunsfeld
c6bf86c9b4 Merge pull request #14375 from atom/fb-mdt-ondidstopchangingactivepaneitem
Fix `PaneContainer::onDidStopChangingActivePaneItem()`
2017-06-08 17:25:31 -07:00