Commit graph

525 commits

Author SHA1 Message Date
jenkins-bot e49765d418 Merge "selenium: Content editable should insert a table" 2022-10-19 12:53:54 +00:00
daniel 92e52d0bad Remove AutoConfig setting
AutoConfig was used to set VE to call internal REST API endpoints exposed by the parsoid extension.
With DirectParsoidClient available, this is no longer needed.

NOTE: this causes all wikis that do not have a RESTbase backend
configured to start using DirectParsoidClient. This is true in
particular for officewiki and labswiki.

Bug: T320704
Change-Id: Ia4c6184dd75a653c3202ea160b6605335f36f6eb
2022-10-14 10:55:53 +02:00
daniel 07afdba500 Don't try to contact RESTbase directly when in PHP direct mode.
If VE is configured to call parsoid directly in PHP, the client
should not try to fetch HTML from restbase. Doing so will
lead to inconsistencies, and may cause edits to fail.

Bug: T320704
Bug: T320703
Change-Id: I98bfdd305dcd188d91db6a8fe5885156cdeca7db
2022-10-13 11:22:52 +00:00
jenkins-bot a87f9882c0 Merge "Local implementation of ParsoidClient (DirectParsoidClient)" 2022-10-12 20:50:20 +00:00
Željko Filipin e63bedb988 selenium: Content editable should insert a table
Bug: T296187
Change-Id: Ic0395637690a40a9b6f889072f80b56e5f02390c
2022-10-12 16:00:25 +02:00
daniel 35cb550747 Local implementation of ParsoidClient (DirectParsoidClient)
* DirectParsoidClient makes use of parsoid directly for performing
transformations on both wikitext and/or HTML contents.

* Also, it's used to fetch HTML from parsoid's parser cache. Before,
this operation was done via RESTBase but now it's being fetched in
core's parsoid parser cache.

* This patch also enables VE clients to transform HTML to
Wikitext when switching from HTML to source mode on. It
makes use of the HtmlInputTransformHelper to perform this
transformation.

* Now, VE client can make use of core code for switching
between HTML to source mode and back without RESTBase.

Change-Id: I5c7cfcc4086d8da7905897194d8601aa07418b59
2022-10-11 18:34:06 +01:00
Esther Akinloose 529f004fc6 selenium: Move code to beforeEach and afterEach hooks
Bug: T296187
Change-Id: Iad8482e432491895eac070692fd3448e6362e4ce
2022-10-10 14:36:33 +01:00
daniel 7f9573f994 api-testing: Add assertions to e2e tests
This adds assertions for the return values of the following pactions:
metadata, parse, parsefragment.

It also adds a test that asserts that edits are not possible with
an invalid token.

Change-Id: Idb453d3561a46930afb5366c1a96787895fc8e40
2022-10-04 19:36:39 +00:00
Derick Alangi 1746b76129 ApiVisualEditor: Remove parsedoc VE paction
This VE paction was removed in I90d775dd71d5f5a61d651b63d946ab60a27e2ca3
so this code can be deleted per Bartosz, so this patch removes the code.

NOTE: A merged API test that uses this is also removed along side.

Change-Id: I4ff75df57fd58f508ef7212486e52cb11a7cfb57
2022-10-03 14:12:35 +01:00
Emeka Chukwukere 2749611071
api-testing: Add more visualeditoredit e2e tests
This patch adds more tests covering the `visualeditoredit` action
API.

Change-Id: I3a20afdb4a146672e272a87eafe8203c384e3405
2022-09-30 00:16:28 +01:00
Emeka Chukwukere db6cc66749 api-testing: Add test for creating and saving a page
Testing the visualeditoredit action API for VisualEditor.

Change-Id: I951ecf1c71e2ee66e3d1fc15a29b312b8fe9956e
2022-09-29 21:23:59 +01:00
Emeka Chukwukere 5b5ed387c9 Add basic end-to-end tests for action=visualeditor
Bug: T318403
Change-Id: I7a607edc69d8fcf51a634ce0f536548979eef95b
2022-09-28 18:28:05 +02:00
daniel 1c7468191b Add api-testing script to package.json
The test file is just a placeholder for now, so we can enable the CI job.
Actual tests will follow in a separate patch.

Bug: T318403
Change-Id: I8105f49f8898c8ebfd80eb898d30a49e58db5b25
2022-09-27 13:15:39 +00:00
Bartosz Dziewoński 209aaf6943 ParsoidClient: Fix getPageHtml() $targetLanguage param inconsistencies
* DirectParsoidClient: Actually allow null to be provided.
  Previously we tried to call methods on it unconditionally.

* VRSParsoidClient: Require the param to be provided (even if null).
  No reason to diverge from the interface, which requires it.

Change-Id: Id9a450dc8b8eb3e82cf87718b96975e5a3c6180c
2022-09-26 22:52:31 +02:00
daniel 4c1ec8fc40 ParsoidClient: error should be array or null
This follows up the initial fix with additional sanitation and a
regression test. See I21c7a2b2541061a858a9791a2cb12866acd38dc5.

Bug: T318083
Change-Id: I4e433e711c068336a888f4aafa243455764fd710
2022-09-20 21:05:51 +02:00
daniel 0cd6c90d5a Extract RESTbase client code into VRSParsoidClient.
This makes the "direct" client and the VRS based client
implement the same interface, so the caller doesn't have to know
which one it is using.

It looks like ParsoidHelper will not be needed if we use this approach.

Change-Id: Ib1c1d7355951fc0765227dd01a9edfc554fc448d
2022-09-14 18:20:36 +01:00
Derick Alangi b029fd8ede Introduce VisualEditorParsoidClientFactory
This patch introduces a factory service for creating VE Parsoid
clients.

NOTE: This patch also injects a GlobalIdGenerator to the client
 and avoids usage of deprecated UIDGenerator class.

Change-Id: I787c0afb227308aab56770d14d62e08eb0084a6c
2022-09-06 12:47:43 +01:00
jenkins-bot 6b25a6b15a Merge "ApiVisualEditorTest: Set Database annotation and $tablesUsed" 2022-07-12 13:31:02 +00:00
Kosta Harlan 21de9f4728 ApiVisualEditorTest: Set Database annotation and $tablesUsed
Bug: T312849
Change-Id: Iacb1e7f3b66f93d54c2512718ea00f46a0b55c89
2022-07-12 13:07:31 +00:00
Esther Akinloose b69c89e378 selenium: Enable all tests
EditPage.activationComplete() was flaky.
We have replaced it with EditPage.toolbar.waitForDisplayed().
We have run all the tests 100 times in a row in CI and it works fine.

Bug: T310772
Change-Id: I321b4114ca03ebd02a79d8bd3863ea0e68494dc2
2022-07-04 12:22:38 +00:00
Kosta Harlan b736f35740 selenium: Disable flaky test
Bug: T310772
Change-Id: I19df39298129ac911ed79c1ba5731638ab0332d3
2022-06-22 17:24:59 +00:00
Esther Akinloose 9b9304b13f selenium: Do not retry tests
Bug: T296187
Change-Id: Iddfff777d783ad372eebf9ff285361fa129ebe02
2022-06-14 14:31:21 +01:00
Željko Filipin f91253b0ef WIP: selenium: Enable Content Editable should save an edit
Bug: T309712
Change-Id: I342bd53fb461d5194a1c8320c26125f54f6717e9
2022-06-13 14:00:51 +02:00
Esther Akinloose 3e93410e68 selenium: Add EditPage.saveComplete()
Add new check for page saving.

Bug: T296187
Change-Id: I07639c58377f6f285df1bfeccfb5e037a3e619d5
2022-06-09 14:42:02 +01:00
jenkins-bot bffaab97fb Merge "selenium: Better assertion after saving the page" 2022-06-08 14:32:52 +00:00
Željko Filipin 4b7d505891 selenium: Better assertion after saving the page
The 'should save an edit' test is skipped because saving an edit fails
in CI because of T309712.

Bug: T296187
Bug: T309712
Change-Id: Ie4f067ed9b49a993acadaa01c953a9fe46aaae81
2022-06-02 15:51:41 +02:00
Željko Filipin ba0b671fa9 selenium: Run only one test in Jenkins daily job
selenium-daily-beta-VisualEditor Jenkins daily job became really
unstable. Let's run just the simplest test for a few days to see if that
would help with job stability.

Bug: T296187
Change-Id: I858a3c5614277ea029fdabfd4468bb0d124e94d5
2022-06-02 15:43:43 +02:00
Esther Akinloose 9de7c6743d selenium: Improve debugging
Looks like Selenium tests are flaky. To improve debugging:

- Move code from beforeEach hook to specs.
  (Video recording happens only in specs, not in hooks.)

- Increase logLevel from error to info.

Bug: T296187
Change-Id: Iffcfae9a76085670eb8858fbcf622e596a4ff2f0
2022-05-20 16:44:23 +02:00
Željko Filipin e9ee23aace selenium: Content Editable should save an edit
Bug: T296187
Change-Id: I5a48662bb271fd49b6cfa0365e4775c8865dc5c7
2022-05-16 15:11:56 +01:00
jenkins-bot 6336e996b8 Merge "selenium: Check if content editable is editable" 2022-05-09 15:05:18 +00:00
Esther Akinloose 1e030bcde5 selenium: Check if content editable is editable
Bug: T296187
Change-Id: I7a7808bf5cabdccc3f0a01ccecfdadeb7fdc9b91
2022-05-02 13:11:57 +01:00
Ed Sanders c9046685fa eslint: Lint all files except those in .eslintignore
Fix resulting errors (mostly useless escape in i18n files).

Change-Id: Id29c6aecece75d4a462bddb7e547ca5b4eb5c2db
2022-04-13 15:44:49 +01:00
Bartosz Dziewoński 37bb0075db Add tests for the expected properties in API result and auto-save
The goal is to have some tests fail if a new property is added to the
API result, but it's not stored in auto-save data.

Bug: T305225
Change-Id: I9ac328c71c616a8f33e1cfb39431cd9a665adafc
2022-04-08 01:02:53 +02:00
jenkins-bot 39c350ae3e Merge "selenium: Check if editing toolbar is displayed" 2022-04-04 14:24:47 +00:00
Kosta Harlan 9241add01e Allow hook implementations to modify params
This is needed because the $params array is then passed on to
ApiEditPage, so if the hook implementer wants to alter the data used
with the edit, it needs to be able to modify the $params.

See I494d72a42d9103c28c4d44077cfe0f1269fc7b00 for an example where
GrowthExperiments would like to modify the 'tags' parameter for an
edit.

Depends-On: Idd052281898f99e4f13f241d5633294b59b29329
Bug: T304747
Change-Id: Ia4842a1593028f5fa145de167ccf9b72efa81351
2022-03-29 11:31:30 +00:00
Željko Filipin 636ffbbb98 selenium: Check if editing toolbar is displayed
A better assertion if the VisualEditor is opened would be to check for
editing toolbar instead of checking for a notices popup.

Bug: T296187
Change-Id: Ide816646254bc856b44725490c25b2b9962188c9
2022-03-21 15:54:47 +01:00
Reedy 239fbb64e4 Namespace rest of the extension
Change-Id: I4f3e2793099d81401035ea282f268a3afaa03067
2022-03-14 22:27:15 +00:00
Ed Sanders 131d940d99 ApiVisualEditorTest: Assert properties in result
Change-Id: Ibc63ec4c2fc9d3b002b016d01417f61f68b9dc54
2022-03-01 15:09:58 +00:00
Thalia b0c0917f19 ApiVisualEditor: Support Special:MyLanguage for preload param
This allows nonexistent translated pages to fall back to the
corresponding page in a suitable language.

Bug: T299544
Change-Id: I43f461e9f595c364ecdaf2faccbd580fc0df6799
2022-02-25 12:23:16 +00:00
Thalia 0c5ed2e772 ApiVisualEditorTest: Avoid using VirtualRESTServiceClient
Use paction 'metadata' instead of 'parse' by default, to avoid
accidentally using VirtualRESTServiceClient when testing cases
that don't require it.

Change-Id: I02492a2dc444cf531a5c8767b0dcfe0d20ac7339
2022-02-25 12:15:37 +00:00
Željko Filipin 09668285d6 selenium: Wait for VisualEditor to load
Bug: T296187
Change-Id: Iac98690dd49b6e82062973da05ce30c6f08ba8bc
2022-02-16 14:57:13 +01:00
osamaahmed17 40c5c4fe9e selenium: Refactor WebdriverIO tests from sync to async mode
WebdriverIO has dropped support of sync mode, hence changed to async.

Update npm packages: @wdio/*, wdio-mediawiki and webdriverio
because async mode needs at least webdriverio v7.9.

Remove npm package: @wdio/sync.

Bug: T299756
Change-Id: I4a09ccddd8049f84232b035b664b42a4e98d7ff0
2022-02-03 10:41:35 +11:00
jenkins-bot 4519fd5458 Merge "selenium: Rename load test to content editable" 2022-01-25 13:47:18 +00:00
Esther Akinloose 698075a6df selenium: Rename load test to content editable
Bug: T296187
Change-Id: I2e4f1f672bb3414444839013cc82897d56bf48b5
2022-01-24 16:24:56 +01:00
Thalia 8807b07d37 Add basic test for ApiVisualEditor::execute
Bug: T299791
Change-Id: I1217f065572565f076ecb24271c3b5af34e74121
2022-01-24 12:28:49 +00:00
Željko Filipin 0593278d05 selenium: The first test
The first test just opens the page for editing and checks if it opened.

Bug: T284165
Change-Id: Ifffaf3e5ab14811605d96fcdcfdc1f773880e52c
2021-11-09 16:11:22 +01:00
Thiemo Kreuz a3a738b4f9 Rewrite ApiVisualEditor::getAvailableNamespaceIds()
For readability. The current implementation is a sequence of
7 (!) array_…() function calls. It is also not free from bugs.
If one of the two inputs (ExtensionRegistry and Config) specifies
namespaces by e.g. canonical name, but the other by number,
the two are not properly merged. It should be possible to use
configuration to disable a namespace that would otherwise be
enabled. This currently works only if both use the same array
keys.

Bug: T291727
Change-Id: I2671f391cdc510da21eda8a1dc5ed4d2513a378a
2021-10-01 14:10:08 +02:00
DannyS712 492fcfbd9f Don't include null in the namespaces where VE can be enabled
Bug: T291728
Change-Id: I2cb168a21c559e61bf2c9e881d46f7f23110e826
2021-09-29 16:23:48 +00:00
Thiemo Kreuz 3484f1927d Add unit tests for static ApiVisualEditor methods
Done for I2cb168a.

Change-Id: I29f8c127ea19abd3449ee0e2742c3ddcc4db23ba
2021-09-28 10:49:47 +02:00
Thiemo Kreuz 61fac2fb44 Add a first PHPUnit test for SpecialCollabPad
Change-Id: I871f3d9616a40300ee306f58b4bae5a58b57b53f
2021-08-26 12:09:59 +02:00
Thiemo Kreuz d78af2c0e9 Add a first trivial PHPUnit test
This is more a proof of concept. The PHP code in this codebase
is rather small, but not trivial, and worth being covered by
tests.

Change-Id: I20c713c3c3be5d289947a343cd4fbf5256234a4a
2021-08-20 15:20:35 +00:00
Trevor Parscal 76bac7d152 Move test files
Change-Id: Id0a0bd5b4a91f702cad34e9f5e7f2121763abffd
2012-07-25 14:35:49 -07:00
Trevor Parscal a5b7d6d7c7 Merge "Parsoid: move tests/parser to modules/parser/test" 2012-07-25 21:14:13 +00:00
Catrope 13ba9b7de8 (bug 37980) Cutting all text and repasting it breaks the editor
This was caused by a bug in fixupInsertion that caused it to believe
that inserting something like "a</p><p>b</p><p>c" into the middle of an
empty paragraph was invalid.

This commit fixes the fixupInsertion bug, which fixes the
select-all-cut-paste behavior in Chrome. It's still broken in Firefox
because of selection-related issues, but I'll split that out into a
different bug report.

Change-Id: I767f5d37ec7e511778ae9ca8283ec4b26c728298
2012-07-25 12:29:19 -07:00
Carl Fürstenberg dca609e3f9 Parsoid: move tests/parser to modules/parser/test
In preparation for the big extraction of Parsoid out of VisualEditor,
we'll start by moving the tests into the parsoid location.

Change-Id: I4a926ee4aad1490d4f769d44e91af80842b881f0
2012-07-25 02:29:25 +02:00
Gabriel Wicke 305b5981fe Update test README
Change-Id: Icc4f26804295d48bcf244e61ef7654e31b05b306
2012-07-24 10:55:12 -07:00
GWicke 83730035be Merge "Added Jasmine specs to Parsoid." 2012-07-24 17:01:36 +00:00
Trevor Parscal ef0e4b4973 Moved summary functions into custom assertions
Also updated tests to use the new assert as an argument style

Change-Id: I3c82b4b068134bba755ae4a5c26f5bb98d400c43
2012-07-20 13:59:21 -07:00
Catrope 6703bfc265 Fix selectNodes bug where selecting </li><li> returned an empty result
* When ascending back up the stack, check for a start between two closings
* Also check for an end between two openings
* This introduces code duplication but selectNodes() is full of that
  already. I'll have to do a duplication cleanup soon
* Add test case for </li><li>
* Update existing test case that covered a </li>

Change-Id: Ifc80585ce0e0d6988bc54228602c69f0d519200a
2012-07-19 18:10:57 -07:00
Trevor Parscal a0f537712e Converted some instances of "var\t" to "var "
Change-Id: I02154e0381d5ae65b482bbcfc21ac93d0bf30d86
2012-07-19 17:24:54 -07:00
Trevor Parscal 6b34f09df2 Removed some whitespace
And added a license to some files that didn't have it yet

Change-Id: I3a7e60374d1198d369a0475b8f65f7415012a337
2012-07-19 14:25:16 -07:00
Trevor Parscal c40174b60c Changed to use MIT license per agreement with the VisualEditor team
This license change is aimed at maximizing the reusability of this code
in other projects. VisualEditor is more than just an awesome editor for
MediaWiki, it's the new editor for the entire internet.

Added license and author files, plus mentions of the license to all
VisualEditor PHP, JavaScript and CSS files. Parser files have not been
modified but are effectively re-licensed since there's no overriding
license information. 3rd party libraries are not changed, but are all
already MIT licensed.

Change-Id: I895b256325db7c8689756edab34523de4418b0f2
2012-07-19 13:25:45 -07:00
Krinkle ab47265c34 Merge "JSHint: Added dotfiles and fixed tons of linting warnings." 2012-07-19 17:09:03 +00:00
Trevor Parscal a564f81aa7 JSHint: Added dotfiles and fixed tons of linting warnings.
* "onevar" warning sometimes solved by just merging var statements
  other times solved by making it a function declaration instead
  of a function expression.
* Also fixed several '_this' variable names in ve.es.Surface to
  more descriptive names, and enabled warnings for dangling _
  in identifiers.

Change-Id: I7d411881e3e06cf9a7fe56d689c29375881a81de
2012-07-19 10:01:00 -07:00
Gabriel Wicke b91467e144 Document GPL license for Parsoid
This is just to avoid re-licensing along with VE. We want to be compatible
with MediaWiki core to make sure a closely-integrated C port is still
GPL-compatible. We could consider adding MIT to the JS implementation after
porting to C.

Change-Id: Ia83e8620e26c95625793438c4c5e8ddcf2702368
2012-07-18 20:14:13 -07:00
Gabriel Wicke 3172afb750 Rename data-mw into data-rt
This hopefully makes it clearer that data-rt contains private round-trip info
instead of semantically interesting data.

Change-Id: I03b476ed112a4b627c9871ee3677c450f943429a
2012-07-16 12:10:08 -07:00
Gabriel Wicke 2faba528aa Strip data-gen in parserTests
Change-Id: I1d3629b4d5487ff8735444069a4004fb74f926ef
2012-07-16 10:37:26 -07:00
Subramanya Sastry fc3bd58edd Added Jasmine specs to Parsoid.
* This is especially useful for running DOM -> wikitext tests.
* Run npm install to install dependencies.
* Add new specs in specs/ (see headings.spec.js for example).
* Run all specs with "node specs.js"
* With existing specs, this should fail one assertion.
  - The failing assertion is fixed in the bug-33089 branch.

Change-Id: I084868206a48ba6b69e6e3e85d94d0207a166ae0
2012-07-05 22:52:09 -05:00
Gabriel Wicke 7108ee985a Represent nowiki as span instead of meta
Change-Id: Idfa5d6a8ee7b2d17205779361ca69d075a79964d
2012-06-27 13:59:14 +02:00
Gabriel Wicke 0b9a420129 Round-trip html entities and introduce data-mw-gc attribute
297 round-trip tests are passing with this patch.

TODO:
* generalize data-mw-gc handling in the serializer for any tag
* use data-mw-gc="both" and data-mw.src: 'the wikitext' for round-tripping of
  wikitext structures, optionally with some presentational (but read-only)
  content
* use span and data-mw-gc="both" for nowiki

Change-Id: I700142a56818977c20c8c06e6a5f2e77a708d25e
2012-06-27 12:52:52 +02:00
Trevor Parscal 5aa3bbedc7 Fixed output of translateOffset when collapsing a range
Change-Id: Ifb40dd1f9de557d4237660f5fb7119d6aa940c65
2012-06-21 10:45:58 -07:00
Inez Korczynski bbaa17a6c4 * Replace spaces at the beginning and at the end of text node with &nbsp;
* Alternate double spaces with &nbsp, "  " -> " &nbsp;"

Change-Id: Ib4351ed6263e69f0d98957c2d0d8411e040fece7
2012-06-20 15:32:14 -07:00
Catrope 37600d020c Add ve.dm.Transaction.translateOffset() and translateRange()
Change-Id: I21bde38056862a1de167646f6cf3030e38d3497b
2012-06-20 14:52:44 -07:00
Catrope a22c1870ea Fix ve2 paths in RL modules and tests
Change-Id: I435b9902209348beba83f399ae165d179e954ccb
2012-06-20 10:57:23 -07:00
Catrope 748b34cc49 ve2 -> ve in the tests directory too
Change-Id: I30b56b1c43202d8cb6af397d2813b19b1a71d30e
2012-06-19 18:36:34 -07:00
Catrope fc4ba3019a Fix selectNodes() bug: empty range at the start of a node returned []
Because of the end>=left condition, the loop was exiting right before
hitting the startBefore case, so use end>=left-1 instead.

Fixing this exposed another bug that caused nodeRange and nodeOuterRange
to be off by one: we need to increment left after storing it in
startOffset, not before

Change-Id: I54e18fb2119c8caefb4f7a7f2be43c6129afc4c0
2012-06-19 17:12:36 -07:00
Catrope 61f4a8af78 Update the code to account for the fact that sHref is now a string
and update tests to reflect the recent changes in link handling

Change-Id: Ie1a3e409c22c09f104c244b1db4764fd202fc885
2012-06-19 16:04:07 -07:00
Trevor Parscal 41b6ccf9d3 Fixed ve.dm.Surface tests that broke when setSelection was deprecated
Change-Id: I7319067cff0e088f70726c826a0c01be47aec808
2012-06-19 15:56:25 -07:00
Trevor Parscal ca4f19c726 Fixed remaining uses of transact to change
Change-Id: I63c8fb183be8b37db85ed386d7bf33633e821f80
2012-06-18 22:05:05 -07:00
Trevor Parscal 11a3d883f2 Using resource loader debug scripts to unstub ve.log
Also added ve.dir and converted use of console.log to ve.log

Change-Id: Ibbfd78b6ece163f54f40e997c79a01de6609c2b4
2012-06-18 13:30:39 -07:00
Catrope e6751e3f03 Set data.title based on sHref so LinkInspector can use it
Change-Id: I7589740ec5661afd7c8dd0f54e955d170e3096e6
2012-06-13 19:32:49 -07:00
Catrope 7dd65cda91 Add newFromWrap(), ported 98% verbatim from the old code
Change-Id: I81fc74b1d23bc6b60e476bfefbae4d7d9a9bf5f6
2012-06-13 16:17:23 -07:00
Trevor Parscal 169b7e754d Cleaned up toolbar annotation updates
Change-Id: I8cefd6c871ed6d1ad71f64eb66236de1b8b719b5
2012-06-13 14:31:46 -07:00
Catrope c9605066cd Merge remote-tracking branch 'origin/master' into dmrewrite 2012-06-12 11:57:32 -07:00
Rob Moen 2ea1030ab4 Rewrite document annotation getters to return collection objects
vs arrays

Change-Id: Ib48a39fff501cdb769f5b9b9fc7717805b74236e
2012-06-12 11:10:29 -07:00
Catrope ab0c37def9 Rip out the offset map
The offset map was broken from the start because it wasn't updated when
adjusting the length of a text node, and if we fix that bug it's
doubtful whether the costs of updating the offset map outweigh the
benefits, especially considering that adjusting the length of a text
node is something we do for almost every keypress. If it turns out
having an offset map does make sense, we can always reintroduce it
later.

Change-Id: I59e8bc154f7d07aa1bab2f473c13ff466d0e463f
2012-06-11 18:10:08 -07:00
Catrope 77e923e323 Update tests for Parsoid workarounds
Change-Id: Ifc7e7dc53eafa62af5652a2dba6cdc1fad199b4c
2012-06-11 18:10:07 -07:00
Trevor Parscal c8c4ed8f99 Added ve.dm.Transaction.newFromContentBranchConversion
Change-Id: I0e272b24dddae028e44d4c693297b1875000ef57
2012-06-11 15:58:44 -07:00
Trevor Parscal 20d1c290d4 Fixed multi-auto-wrapping issue and added tests to track regressions
Roan mostly wrote this

Change-Id: Id292c84a4da97d6608aa7c17ab6a4cf5a2e3f409
2012-06-08 15:16:55 -07:00
Trevor Parscal 773be35b16 Fixed element summaries to not rely on HTML serialization, which can render attributes in any order and tends to differ between browsers
Change-Id: I9cb7c3d26efaf983f667c9490cc4be0ea2fe5ab5
2012-06-08 15:15:22 -07:00
Trevor Parscal 5969f55550 Delete HTMLConverter and update demo&sandbox
Also update the demo and sandbox for ve.{dm,ce}.TableSectionNode

Change-Id: I5a73a8250d283e8666b93561ce9e9374739936a5
2012-06-08 12:40:43 -07:00
Trevor Parscal faa58d1e4a Merge branch 'refs/heads/master' into dmrewrite 2012-06-08 12:29:57 -07:00
Trevor Parscal 61ba00aaef Add a tableSection to the example data and update offsets and stuff in almost all tests
This fixes the converter tests.

Change-Id: I72f6d6c103c3a8bbee201c070a2f7c1bfe401235
2012-06-08 12:27:39 -07:00
Trevor Parscal 2e0d4ef094 Make tableCell represent both <td> and <th>
Adding a 'style' attribute which is set to either 'data' or 'header'

This breaks even more tests because of missing style attributes

Change-Id: I0a75d8c1578b4414eeae8c484f6c4d6f8a59472a
2012-06-08 12:27:22 -07:00
Trevor Parscal c614d3391b Add ve.dm.TableSectionNode and ve.ce.TableSectionNode
Yes, this breaks a bunch of tests, because tableRows are now required to be inside tableSections

Change-Id: Idb52d988df69173647c85f7602344650456e078e
2012-06-08 12:26:45 -07:00
Trevor Parscal 911ee3229a Test getDomFromData using getDataFromDom's tests
Move the test cases for getDataFromDom out into ve.dm.example and use them to test getDomFromData as well

Change-Id: Ib33854a7a1e8cb6a8ebf2c5b88cd5c17e25644b2
2012-06-07 22:10:53 -07:00
Trevor Parscal f2b3df8027 Cleaned up some useless/unused functions
Change-Id: I6aa5d0ed3d21993ed653ee64b4928ef98874db2d
2012-06-07 15:02:40 -07:00
Trevor Parscal 453bec4555 Fixed alienInline and alienBlock conversion (was missing closings)
Change-Id: Ie8e51eb8d9a452c656aebf341071da5627dd80b5
2012-06-07 14:30:06 -07:00
Trevor Parscal fa9fe8b08a Added support for alienInline nodes
Change-Id: I15b9cbcdb66b966dca28edcb26bf5d54a4f17be6
2012-06-07 14:16:19 -07:00
Catrope 3c1de3dc4f Add ve.dm.Document.getBalancedData()
Change-Id: I2420ef5369b9eae053962898b64dd7324e714bbd
2012-06-07 13:17:57 -07:00