Commit Graph

7924 Commits

Author SHA1 Message Date
Ash Wilson
a7105980a3 If TEST_JUNIT_XML_PATH is set, output JUnit XML format test results 2017-08-01 11:27:14 -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
Max Brunsfeld
2420d12e44 Merge pull request #14435 from atom/mb-use-native-text-buffer
Use new native text-buffer implementation
2017-06-08 16:50:53 -07:00
Matthew Dapena-Tretter
26d9579b0e 🐛 Fix PaneContainer::onDidStopChangingActivePaneItem()
We weren't ever dispatching this event! Oops XD
2017-06-08 16:42:32 -07:00
Matthew Dapena-Tretter
54d26c1223 Test that onDidChangeActivePane() works correctly 2017-06-08 16:42:32 -07:00
Jason Rudolph
5d7e9a622f Merge pull request #14640 from atom/jr-directional-pane-navigation-for-entire-workspace
Teach directional pane navigation commands to support docks
2017-06-08 19:15:33 -04:00
Jason Rudolph
1a60c450ca 👔 Remove trailing comma 2017-06-08 15:44:15 -04:00
Jason Rudolph
f62cb5d427 🐛 Don't attempt to copy items that aren't copyable 2017-06-08 15:42:39 -04:00
Matthew Dapena-Tretter
ca6254dd66 Add methods for observing dock visibility 2017-06-07 16:24:28 -07:00
Max Brunsfeld
f865a75c94 Fix exception on cancelling path selection when saving
Fixes #14722
2017-06-07 12:00:25 -07:00
Max Brunsfeld
8f106d2d44 Don't serialize undo/redo stacks when the user is idle 2017-06-07 11:21:39 -07:00
Jason Rudolph
296e407284 Check an item's allowed locations when moving/copying to pane 2017-06-07 12:59:54 -04:00
Max Brunsfeld
3b56ef8cbf Merge remote-tracking branch 'origin/master' into mb-use-native-text-buffer 2017-06-06 17:12:34 -07:00
Jason Rudolph
4fecbaf4f5 Merge master into jr-fix-observe-text-editor-methods 2017-06-06 13:59:35 -04:00
Jason Rudolph
268f94b89d Merge pull request #14695 from atom/jr-editors-live-in-workspace-center
Provide API for observing the active text editor
2017-06-06 10:09:52 -04:00
Jason Rudolph
5c5fb28da1 Add test for getVisiblePaneContainers() 2017-06-05 17:44:41 -04:00
Jason Rudolph
110bd6a16e Add test for Workspace::getVisiblePanes() 2017-06-05 17:29:46 -04:00
Jason Rudolph
0cadf7e888 Merge branch 'jr-editors-live-in-workspace-center' into jr-fix-observe-text-editor-methods 2017-06-05 17:07:31 -04:00
Jason Rudolph
2347c9bdaa Always invoke callback with current active text editor
This makes observeActiveTextEditor consistent with observers like
observeActivePaneItem, which always invoke the callback with the current
value, regardless of whether that value is undefined or not.
2017-06-02 15:55:00 -04:00
Jason Rudolph
44a2be7c9d Test deserialization in terms of user-observable functionality
- Rework serialization/deserialization test
- Move simulateReload function so that it can be used in multiple
describe blocks
2017-06-02 15:30:53 -04:00
Max Brunsfeld
a7736b81e3 Remove code for preserving cursor position on buffer reload
Updating the markers correctly is handled by TextBuffer. This
was actually breaking it.
2017-06-02 09:58:57 -07:00
Jason Rudolph
5b61c0a949 🐛 Initialize active editor state correctly after reload
Fixes the following bug:

1. Open Atom
2. Open a file
3. Observe the file's encoding in the status bar
4. Reload Atom
5. Close the file
6. Observe that the closed file's encoding is still present in the
status bar

This bug occured because the reload did not deserialize/serialze the
workspace's active text editor state. As a result, when closing the
text editor in step 5, we failed to notify observers that there is no
longer an active text editor.
2017-06-02 08:01:42 -04:00