Commit graph

10 commits

Author SHA1 Message Date
Evan Morikawa
eb3223580b fix(composer): list creation edge case fixes and tests
Fixes #1064
2016-01-22 10:36:15 -08:00
Juan Tejada
eacf7e751c fix(specs): Remove fdescribe 2015-12-30 15:24:50 -05:00
Juan Tejada
e9896039aa fix(contenteditable): Fix nested list behavior:
Summary:
- Fixes #862
- Makes it behave like hackpad -- adding nested lists will indent the
  current list item
- Fix lint errors

Test Plan: - Integration tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2402
2015-12-30 15:21:05 -05:00
Evan Morikawa
2aae075126 refactor(contenteditable): new ContenteditableExtension API
Summary:
This provides a new API for `ContenteditableExtension`s. Instead of
manually manipulating the raw DOM and `Selection` objects, there's a new
`Editor` interface that encapsulates it and provides helper methods.

You can now do:

      editor.select(someNode).createLink("foo").collapseToEnd()

Now raw methods like `execCommand` ONLY show up in the `Editor` interface
as well as most of the raw `Selection` APIs.

There are also more integration tests :)

Another major goal was cleaning up the contenteditable file itself. To
that end:

1. The DOMNormalizer got pulled out into its own extension
1. The TabManager is now its own extension
1. Url wrangling got moved into the FloatingToolbar control
1. There is now the concept of a `ContenteditableService`, which are
tightly-couple blocks of code separated out into logical units. These are
dependent on the core state, innerState, and props and are not full
extensions.
1. `MouseService` now handles all the click event logic
1. `ClipboardService` was modified to the new service architecture

Test Plan: script/grunt run-integration-tests

Reviewers: drew, juan, bengotow

Reviewed By: juan, bengotow

Differential Revision: https://phab.nylas.com/D2367
2015-12-21 19:58:01 -08:00
Evan Morikawa
35d94decd9 fix(tests): fix composer integration specs 2015-12-14 12:09:51 -08:00
Evan Morikawa
54f52a61d0 fix(tests): fix composer integration tests 2015-12-14 12:05:55 -08:00
Evan Morikawa
4014b4e187 feat(spec): add config dir to integration specs
Summary:
- You can now pass `--config-dir-path=/some/custom/path` to `./N1.sh`
- `main.coffee` cleaned up a bit. A lot of unused params from legacy Atom
  stuff were still being used
- Integration specs now set the config dir before booting.
- New spec to check for the autoupdater in the app and make sure it's
  pointing at the right place.

Test Plan: script/grunt run-integration-tests

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2331
2015-12-10 10:52:20 -05:00
Evan Morikawa
f508dd8683 refactor(spec): remove spectron from main app 2015-12-02 13:42:09 -08:00
Evan Morikawa
783d835100 test(contenteditable): add in contenteditable list specs 2015-12-02 13:41:47 -08:00
Evan Morikawa
21353031be test(contenteditable): add test harness 2015-12-02 13:41:29 -08:00