Commit Graph

363 Commits

Author SHA1 Message Date
Nathan Sobo
acf996fc14 Speed up cursor blink test 2017-05-05 09:29:28 +02:00
Nathan Sobo
eb22b58756 Add smoke test for cursor blink 2017-05-05 09:29:28 +02:00
Nathan Sobo
4da579ceff Unfocus test 2017-05-05 09:29:28 +02:00
Nathan Sobo
61583462cf Set the height of the line number gutter explicitly 2017-05-05 09:29:28 +02:00
Nathan Sobo
4e834da3e3 WIP: Render gutters before initial measurement
The shouldUpdate method is just returning true for now. We probably need
to find a new approach to representing line number decorations that's
easier to diff, perhaps a sparse array?
2017-05-05 09:29:28 +02:00
Nathan Sobo
d5d3cfc5a9 Adjust left position of scroll container when gutter container resizes 2017-05-05 09:29:28 +02:00
Nathan Sobo
1b1cffb32d ⬆️ etch to allow arbitrary objects as keys 2017-05-05 09:29:28 +02:00
Nathan Sobo
d8b22fb3bd Associate gutters with their elements and support showing/hiding gutters 2017-05-05 09:29:28 +02:00
Nathan Sobo
16694a2166 Start on custom gutters 2017-05-05 09:29:28 +02:00
Nathan Sobo
90452836fe Fix wrong variable name 2017-05-05 09:29:28 +02:00
Nathan Sobo
5297e7ab1a Add avoidOverflow: false option for overlays 2017-05-05 09:29:28 +02:00
Nathan Sobo
f2e2475c62 Use spies instead of monkey patching 2017-05-05 09:29:28 +02:00
Nathan Sobo
47761a455e Support class property on overlay decorations 2017-05-05 09:29:28 +02:00
Nathan Sobo
b6f71bc648 Render overlay decorations 2017-05-05 09:29:28 +02:00
Nathan Sobo
5f2d4c801b Handle mousedowns on dummy scrollbars that miss the actual scrollbars
Because the dummy scrollbar elements are potentially wider than the real
scrollbars rendered by the browser, we need to delegate some mousedown
events to the parent component.
2017-05-05 09:29:28 +02:00
Nathan Sobo
e6e5420f42 Correctly handle overflows caused by scrollbar for the opposite axis 2017-05-05 09:29:28 +02:00
Nathan Sobo
0999d0bf02 Handle scrolling of the dummy scrollbars directly 2017-05-05 09:29:28 +02:00
Nathan Sobo
8720dbc862 🎨 2017-05-05 09:29:28 +02:00
Nathan Sobo
5757d6de85 Group rendering tests 2017-05-05 09:29:28 +02:00
Nathan Sobo
2075f06404 WIP: Introduce dummy scrollbars
Still need tests on all of this
2017-05-05 09:29:28 +02:00
Nathan Sobo
5a47f179e3 Introduce synthetic scrolling
We previously thought scroll events had changed somehow to become
synchronous, but were wrong. This introduces synthetic scrolling where
we use GPU translation of the contents of the gutter and scroll
containers to simulate scrolling and explicitly capture mousewheel
events.

Still need to add dummy scrollbars and deal with their footprint in
clientHeight and clientWidth.
2017-05-05 09:29:28 +02:00
Nathan Sobo
0e747a400d Pull from component's rendered lines in tests 2017-05-05 09:29:28 +02:00
Nathan Sobo
f58a249be1 Pull from compnoent's rendered screen lines in tests 2017-05-05 09:29:28 +02:00
Nathan Sobo
90c326b985 Fix clearing of marker-specific properties for layer decorations 2017-05-05 09:29:28 +02:00
Nathan Sobo
6023159819 Add highlight decoration flashing 2017-05-05 09:29:28 +02:00
Nathan Sobo
4e00139965 Support placeholderText parameter 2017-05-05 09:29:28 +02:00
Nathan Sobo
36f5262f40 Honor the isLineNumberGutterVisible option 2017-05-05 09:29:28 +02:00
Nathan Sobo
88b30bc4dc Support autoHeight and autoWidth settings 2017-05-05 09:29:28 +02:00
Nathan Sobo
369818b475 Emit editor blur events as if no hidden input existed 2017-05-05 09:29:28 +02:00
Nathan Sobo
b152bfd9c6 Guard against unfocused window in beforeEach 2017-05-05 09:29:28 +02:00
Nathan Sobo
401434858b Gracefully handle focus prior to detecting the editor has become visible 2017-05-05 09:29:28 +02:00
Nathan Sobo
82feef9f68 Don't render cursor line decorations in mini editors 2017-05-05 09:29:28 +02:00
Nathan Sobo
1427dbf540 Make lines extend across the entire width of the scroller
This ensures line decorations render properly, even when the content is
narrower than the editor.
2017-05-05 09:29:28 +02:00
Nathan Sobo
5c7208751f Correctly autoscroll if a horizontal scrollbar appears in the same frame 2017-05-05 09:29:28 +02:00
Nathan Sobo
5d82dcf87a Wait for content width to update before autoscrolling horizontally 2017-05-05 09:29:28 +02:00
Nathan Sobo
758466c9af Make various tweaks to improve mini editors
Still a ways to go, but this is a start toward getting the mini-editors
to play nice with our existing styling.
2017-05-05 09:29:28 +02:00
Nathan Sobo
c2206b88da Destroy folds on fold marker click 2017-05-05 09:29:27 +02:00
Nathan Sobo
68659d9698 When decorating a MarkerLayer, get its corresponding DisplayMarkerLayer
This fixes 'folded' line number decorations.
2017-05-05 09:29:27 +02:00
Nathan Sobo
a2f75c8337 Toggle folds when clicking the arrow icon in the line number gutter 2017-05-05 09:29:27 +02:00
Nathan Sobo
cf19d0efd5 Autoscroll vertically when click-dragging the line number gutter 2017-05-05 09:29:27 +02:00
Nathan Sobo
6e9a9ef43c Add spec structure 2017-05-05 09:29:27 +02:00
Nathan Sobo
ffc2025df5 Handle clicking, shift-clicking, cmd-clicking and dragging in gutter 2017-05-05 09:29:27 +02:00
Nathan Sobo
17d579f949 Only handle the left mouse button (and middle on Linux) 2017-05-05 09:29:27 +02:00
Nathan Sobo
35ae3fb08f Implement autoscroll when mouse is dragged on content 2017-05-05 09:29:27 +02:00
Nathan Sobo
5594c9d82f Expand selections on mouse drag 2017-05-05 09:29:27 +02:00
Nathan Sobo
4ef9d385f3 Add tests for shift-clicking in wordwise and linewise mode 2017-05-05 09:29:27 +02:00
Nathan Sobo
e92cf0fe70 Fix event handler method name in specs 2017-05-05 09:29:27 +02:00
Nathan Sobo
c410309827 Expand selections on shift-click 2017-05-05 09:29:27 +02:00
Nathan Sobo
35753c3a8d Add specs for single-, triple-, and cmd-clicking 2017-05-05 09:29:27 +02:00
Nathan Sobo
2996500d90 Handle double and triple click on lines 2017-05-05 09:29:27 +02:00
Nathan Sobo
fab5a93254 Set cursor position on single click 2017-05-05 09:29:27 +02:00
Nathan Sobo
9a38e8c0d1 Support scrollPastEnd option 2017-05-05 09:29:27 +02:00
Nathan Sobo
c80dbbce3c Add tests for highlight rendering 2017-05-05 09:29:27 +02:00
Nathan Sobo
003f6ff231 Add test for off-screen cursors of selections intersecting rendered rows
We should not attempt to render these cursors even though part of their
associated selection is visible.
2017-05-05 09:29:27 +02:00
Nathan Sobo
aade501040 Refactor to unify computations related to tiles 2017-05-05 09:29:27 +02:00
Nathan Sobo
09f8a52b9d Implement special options for line and line number decorations
* onlyEmpty
* onlyNonEmpty
* onlyHead
* omitEmptyLastLine
2017-05-05 09:29:27 +02:00
Nathan Sobo
ff325c0151 Render line and line number decorations 2017-05-05 09:29:27 +02:00
Nathan Sobo
e15e7e3c96 Assign width and character dimensions on editor to update soft wraps 2017-05-05 09:29:27 +02:00
Nathan Sobo
94294d1b92 Test autoscrolling via scrollToScreenPosition instead of cursor 2017-05-05 09:29:27 +02:00
Nathan Sobo
b9feddacbe Fail focus tests quickly and clearly if document isn't focused 2017-05-05 09:29:27 +02:00
Nathan Sobo
3e87f9f889 Add horizontal autoscroll 2017-05-05 09:29:27 +02:00
Nathan Sobo
192e7c6b63 Handle direct focus of hidden input and avoid redundant focus renders 2017-05-05 09:29:27 +02:00
Nathan Sobo
ec045d9333 Gracefully handle focus events that occur before the attachedCallback 2017-05-05 09:29:27 +02:00
Nathan Sobo
ff2f9b192a Implement vertical autoscroll; still need tests 2017-05-05 09:29:27 +02:00
Nathan Sobo
c52d66377f Render hidden input and handle focus and blur 2017-05-05 09:29:27 +02:00
Nathan Sobo
b362f746f8 Fix spurious selections marker layer update to avoid extra render 2017-05-05 09:29:27 +02:00
Nathan Sobo
be7f4a5ffd Add workaround in test, but we need to make MarkerLayer updates sync 2017-05-05 09:29:27 +02:00
Nathan Sobo
d780b15248 Add cursor rendering tests 2017-05-05 09:29:27 +02:00
Nathan Sobo
583c2c537d Iron out scheduling issues
* Ensure multiple calls to scheduleUpdate only result in a single call
to updateSync in the future.
* Explicit calls to update sync after scheduling an update fulfill the
scheduled update.
* Track whether we think the editor is visible or not to avoid redundant
didShow calls.
* Ensure we only update on resize events if the editor actually changed
size.
2017-05-05 09:29:27 +02:00
Nathan Sobo
19d1d148eb Measure the longest visible screen line on initial render 2017-05-05 09:29:27 +02:00
Nathan Sobo
ede5d5e5f4 Add coverage for gutter measurement and horizontal translation on scroll 2017-05-05 09:29:27 +02:00
Nathan Sobo
b863790390 Start on new TextEditorComponent specs; avoid excessive line numbers 2017-05-05 09:29:27 +02:00
Nathan Sobo
a0c84d592a Remove ViewRegistry.pollDocument
Supporting it via mutation observers has a bad impact on frame rate.
2017-05-03 14:21:24 +02:00
Dietmar Schabus
2c6b7973f9 adding spec pinpointing atom:atom#8648 which now passes 2017-03-26 19:44:43 +02:00
Nathan Sobo
28508d9a3f Make decorationsForScreenRowRange return all decorations
Even if they are for markers that aren't on the default marker layer
2017-02-14 11:44:38 -07:00
Andres Suarez
1ee9d7b0f9 Add showCursorOnSelection config 2017-01-20 08:53:28 -05:00
Christopher Chedeau
ef7ce7cd3a Always reserve two digits on the line number gutter
We are working on a feature that changes the content of the editor when you mouse over some things and it makes the UI jump when going from 1 line to > 10. This makes the UI feel really bad.

I've looked at Sublime and the 1-9 state is the same as 1-99, only when you reach 100 lines then it jumps. I think that it is a better behavior as you want to minimize jumps as much as possible and it is extremely likely that you are going to hit the 9-10 lines threshold.

![](http://g.recordit.co/ABIlZf5eTx.gif)

While this is being reviewed and until the new version shipped, we are going to monkeypatch Atom in order to get this feature.

```js
var presenter = atom.textEditors.editors.entries().next().value[0].presenter.__proto__;
var old_updateLineNumberGutterState = presenter.updateLineNumberGutterState;
presenter.updateLineNumberGutterState = function() {
  var res = old_updateLineNumberGutterState.apply(this, arguments);
  this.lineNumberGutter.maxLineNumberDigits = Math.max(2, this.lineNumberGutter.maxLineNumberDigits);
  return res;
};
```

Released under CC0
2017-01-10 18:14:50 -08:00
Max Brunsfeld
d7b86d9187 Merge remote-tracking branch 'origin/master' into mb-ns-integrate-new-display-layer 2016-12-14 12:16:50 -08:00
Max Brunsfeld
8afeae46b4 Adjust assertion now that paired characters aren't wrapped in spans
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-13 17:29:36 -08:00
Max Brunsfeld
4f7b9e03c8 Expect a single leading whitespace token w/ atomic soft tabs & indent guides disabled
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-13 17:28:54 -08:00
Damien Guard
e89c5efa9d
Text editor measures diff in one test on win32 2016-11-29 16:55:14 -08:00
Antonio Scandurra
83f3c296f3 Add test for clicking an SVG element 2016-11-24 10:12:39 +01:00
Antonio Scandurra
4df74beba7 Merge branch 'master' into as-deprecate-shadow-dom 2016-10-17 12:06:00 +02:00
Antonio Scandurra
3d2e18747f Prefer using new TextEditor to Workspace.prototype.buildTextEditor 2016-10-10 09:28:36 +02:00
Antonio Scandurra
91df848b8a Keep a backward compatible DOM structure for atom-text-editor contents 2016-10-07 10:40:41 +02:00
Antonio Scandurra
9c5bddaa69 Reimplement block decorations without the shadow DOM 2016-10-07 10:40:41 +02:00
Antonio Scandurra
b71b412ede Transform deprecated shadow DOM selectors 2016-10-07 10:40:41 +02:00
Antonio Scandurra
56a6510b25 Start on removing shadow DOM 2016-10-07 10:40:41 +02:00
Nathan Sobo
f723bccc29 Add test coverage for deprecated implicit disabling of autoHeight 2016-08-18 14:03:44 -06:00
Nathan Sobo
9f8f03b10f Add test coverage for TextEditor autoHeight 2016-08-18 13:45:00 -06:00
Nathan Sobo
106621e161 Deprecate automatic assignment of autoHeight for text editors
Previously, we attempted to automatically determine whether the editor’s
height should be based on the editor’s content or the height of its
container. Unfortunately, DOM APIs are insufficient to make this
determination in a complete way, leading to unpredictable behavior.

This PR deprecates the automatic determination of this behavior. By
default, editors base their height on their content. If an editor has
an explicit height assigned via its style or is positioned absolute with
an explicit top and bottom, we disable the content-based autoHeight and
log a deprecation warning telling the user to assign autoHeight
explicitly.

This paves the way to add an autoWidth setting, which will default to
false.
2016-08-17 15:52:51 -06:00
Antonio Scandurra
3642292302 🔥 debugger 2016-08-17 18:05:58 +02:00
Antonio Scandurra
e8f2e3a608 Size TextEditorElement according to the autoWidth property 2016-08-17 16:20:00 +02:00
Max Brunsfeld
4b0183d074 Remove extraneous TextEditor setter methods 2016-08-15 16:45:10 -07:00
Max Brunsfeld
1c99c399d1 Merge branch 'master' into ns-mb-detangle-editor 2016-08-15 11:17:07 -07:00
Nathan Sobo
ebb03f022b Merge branch 'master' into ns-mock-animation-frames-in-editor-spec 2016-08-12 16:16:09 -06:00
Nathan Sobo
ced2174b5a Mock clock and animation frames in TextEditorComponent specs 2016-08-12 15:21:46 -06:00
Max Brunsfeld
a11a235ef1 Don't reset display layer twice in TextEditor constructor 2016-08-12 13:36:50 -07: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
82f0003302 Extract conditionPromise into async-spec-helpers
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:46:11 +02:00
Max Brunsfeld
684952458f Remove new TextEditor setters; just use update 2016-08-11 15:34:54 -07:00
Max Brunsfeld
5d83874725 Merge branch 'master' into ns-mb-detangle-editor 2016-08-08 15:39:24 -07:00
Yuya Tanaka
1ce2f6ce87 🐛 Fix window size is not updated on resize 2016-08-05 11:56:01 +09:00
Nathan Sobo
43caead392 Avoid test failure due to timing
Signed-off-by: Antonio Scandurra <as-cii@github.com>
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-07-28 17:34:57 -06:00
Max Brunsfeld
63a730253b Don't use config for scrollSensitivity in TextEditorComponent
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 15:35:56 -07:00
Max Brunsfeld
1c38dce3b2 Don't use font config settings in TextEditorComponent
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 15:23:59 -07:00
Max Brunsfeld
3f8b6138dc Don't use config in TextEditorPresenter
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 14:56:36 -07:00
Max Brunsfeld
dfb48aa8da Get TextEditorComponent specs passing
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-26 16:04:09 -07:00
Max Brunsfeld
5167dbca6f Move handling of undoGroupingInterval to TextEditorRegistry 2016-07-11 17:47:40 -07:00
Antonio Scandurra
57442781ec Fix bug when positioning cursors after the fold-marker 2016-04-28 13:31:28 +02:00
Antonio Scandurra
7ba9cc6329
Unfold all the folds intersecting the row when clicking fold indicators 2016-04-26 13:24:21 +02:00
Antonio Scandurra
38bd120fb1
🎨 2016-04-26 12:11:13 +02:00
Antonio Scandurra
f81f54e08a
Apply 'folded' decoration only to 1st screen row of a wrapped buffer row 2016-04-26 12:11:05 +02:00
Antonio Scandurra
ebfd821237
Destroy folds corresponding to fold-markers and not the whole buffer row 2016-04-26 10:47:42 +02:00
Antonio Scandurra
754cbc2a67
Merge branch 'master' into ns-switch-to-display-layers
# Conflicts:
#	spec/tokenized-buffer-spec.coffee
2016-04-20 10:55:56 +02:00
Damien Guard
1500381ac9 Tweaks to the specs improvements from feedback 2016-04-19 14:25:44 -07:00
Damien Guard
99e716f9ed Fix specs failures on Windows including paths 2016-04-15 11:25:05 -07:00
Nathan Sobo
85ab86df10 Merge branch 'master' into ns-use-display-layers 2016-04-05 16:40:41 -06:00
Antonio Scandurra
bef7539e34 Refactor DisplayBuffer to DecorationManager
This commit moves all the remaining concerns not related to decorations
out of `DisplayBuffer` and into `TextEditor`. This means the
`DisplayBuffer` is now free to be renamed to `DecorationManager`.
2016-04-05 18:43:08 +02:00
Nathan Sobo
402a335eef Fix accented character menu spec 2016-04-04 19:50:39 -06:00
Nathan Sobo
a99ee14ac0 Make accented character menu detection work with left/right arrow keys 2016-04-04 17:47:36 -06:00
Nathan Sobo
bbef4c67c3 Get the TextEditorComponent specs green 2016-04-04 11:21:41 -06:00
Antonio Scandurra
fd960e9a37 Merge branch 'master' into ns-use-display-layers 2016-04-04 15:25:50 +02:00
Antonio Scandurra
34f9ad8710 Add top/bottom ruler before/after a block decoration 2016-03-22 11:20:55 +01:00
Antonio Scandurra
bf5a0d8c8c Adjust assertions based on the new soft-wrap logic 2016-03-17 15:11:27 +01:00
Antonio Scandurra
43f27780fd Fix specs related to the produced HTML line output
This verifies that with the new DisplayLayer the produced output is
cleaner when tags interleave.
2016-03-17 14:56:23 +01:00
Antonio Scandurra
5efb969a63 💚 Start fixing TextEditorComponent specs 2016-03-17 11:33:17 +01:00
Max Brunsfeld
8a24364e80 Import fit in text-editor-component-spec
So that you can focus a test while keeping it async
2016-02-18 15:10:16 -08:00
Max Brunsfeld
32f5149196 Wait for browser process to acknowledge window manipulation IPC requests
We need to avoid using the  module for synchronous IPC on startup, but
in some cases, we need to know when our asynchronous IPC messages have taken
effect. Now,  methods like  and
return Promises that indicate when the message has been processed.
2016-01-27 12:59:24 -08:00
Max Brunsfeld
f4be23049d Wait for window resize to take effect in text editor component spec 2016-01-26 13:26:12 -08:00
Wliu
7ee74ed4c7 Merge branch 'master' into wl-electron-35 2016-01-15 17:20:31 -05:00
Antonio Scandurra
f81843d465 Merge branch 'master' into as-block-decorations 2016-01-14 09:30:06 -07:00
Antonio Scandurra
e6a1763f8c 💚 Give specs a final touch 2016-01-13 09:45:14 -07:00
Antonio Scandurra
6e5c3e0212 Insert following block decorations into the DOM 2016-01-12 12:51:29 -07:00
Wliu
d855613340 Merge remote-tracking branch 'refs/remotes/origin/master' into wl-electron-35 2016-01-05 17:25:51 -05:00
Antonio Scandurra
0d28018127 🔥 Remove redundant setup in specs 2016-01-05 10:39:01 +01:00
Antonio Scandurra
4f0218c0a2 📝 Fix mistyped spec description 2016-01-05 10:35:33 +01:00
Nathan Sobo
6669703677 Force a sync render when measuring if we don’t have a DOM node for a row 2016-01-04 16:40:56 -07:00
Antonio Scandurra
5dfecf39ab Take margin top and margin bottom into account 2015-12-19 13:18:36 +01:00
Antonio Scandurra
dfb095b754 🔥 Remove TextEditor.prototype.addBlockDecorationForScreenRow 2015-12-19 13:00:47 +01:00
Antonio Scandurra
877eea3bd0 Finish integrating LineTopIndex 2015-12-18 11:07:10 +01:00
Antonio Scandurra
3256c8b503 💚 Adjust TextEditorComponent specs for block decorations 2015-12-18 10:06:04 +01:00
Cheng Zhao
c186d70bec Also use require('electron') in specs 2015-12-11 10:03:20 +08:00
Cheng Zhao
f6e889aeb2 Merge branch 'master' into wl-electron-35 2015-12-11 09:32:32 +08:00
Antonio Scandurra
c578f221bf Test ::invalidateBlockDecorationDimensions 2015-12-04 15:42:49 +01:00
Antonio Scandurra
b77c45859c Merge branch 'master' into as-block-decorations
# Conflicts:
#	spec/text-editor-presenter-spec.coffee
2015-12-04 14:44:19 +01:00
Antonio Scandurra
7554f71f74 Make sure screen row is set correctly on <content> 2015-12-04 14:21:23 +01:00
Antonio Scandurra
16525047f1 💚 Fix component and presenter specs 2015-12-04 12:49:59 +01:00
Antonio Scandurra
f2a0221519 Make sure block decorations are always in the right spot 2015-12-03 18:16:10 +01:00
Antonio Scandurra
cc4344735e 💚 Fix specs 2015-12-03 17:11:38 +01:00
Antonio Scandurra
36103a024a Make sure to add screen row to block decoration nodes 2015-12-03 16:26:15 +01:00
Wliu
ecd14f3390 💚 let and var are now storage.type.var.js
Refs atom/language-javascript#277
2015-12-02 20:47:27 -05:00
Antonio Scandurra
5228471bc5 Write failing spec for measuring invisible elements 2015-12-02 17:04:33 +01:00
Antonio Scandurra
f30e4ccc9d Use the new LineTopIndex in TextEditorPresenter 2015-12-02 16:01:55 +01:00
Antonio Scandurra
d24290357a Implement block decorations in the components land 2015-12-01 13:36:23 +01:00
Wliu
fec1507ff4 Require ipc-renderer where it belongs 2015-11-18 21:10:40 -05:00
Wliu
6cd480b37e Fix Electron deprecations 2015-11-17 21:16:09 -05:00
Nathan Sobo
a35e24658d Increase timeouts 2015-11-09 00:35:34 -07:00
Nathan Sobo
6dd18b348b Include more debug info when nextViewUpdatePromise times out 2015-11-09 00:35:34 -07:00
Nathan Sobo
21f8ad6958 Bump timeouts 2015-11-09 00:35:34 -07:00
Nathan Sobo
1a8adbb4e1 🎨 2015-11-09 00:35:33 -07:00
Nathan Sobo
ff681752f7 Add a nextViewUpdatePromise helper so we get stack traces from timeouts 2015-11-09 00:35:33 -07:00
Nathan Sobo
e9dfc080a3 Convert text-editor-component-spec to Babel for async/await
It's much easier to reason about async/await than Jasmine's
built-in queuing system, and using them made it easier to
debug flaky async tests.
2015-11-09 00:35:32 -07:00