Commit Graph

21 Commits

Author SHA1 Message Date
Aryeh Gregor
d12d659db6 Bug 738385 part 2 - queryCommand*() should not throw for commands that don't support them; r=ehsan 2012-04-06 10:42:54 +03:00
Aryeh Gregor
2a90e237d9 Bug 279330 part 2 - execCommand("hilitecolor") should work even in non-CSS mode; r=ehsan 2012-04-17 13:18:08 +03:00
Aryeh Gregor
08528d82ca Bug 317093 part 2 - execCommand() should remove <strong>, <em>, and <s> as well as <b>, <i>, <strike>; r=ehsan 2012-04-04 14:47:13 +03:00
Aryeh Gregor
cc283bd684 Bug 317093 part 1 - Avoid spurious UNEXPECTED-FAILs in test_richtext2 when fixing expected fails; r=ehsan 2012-04-04 14:46:04 +03:00
Ehsan Akhgari
568b8f7b5a Bug 688789 - Stop touching the frame tree to determine whether a node is editable or not; r=roc 2011-10-17 00:11:29 -04:00
Joel Maher
fd8629a74b Bug 573735 - support waitForClipboard events in e10s. r=jdm,ted 2011-10-14 07:52:02 -04:00
Fabien Cazenave
e48e824329 Bug 677752 - [contentEditable] indent and justify* fail on editable nodes that have only one child; r=ehsan
Issue #1: indent/justify* can create non-valid fragments.
When applying a block-level formatting to a text node, Gecko creates a div or
blockquote block around the text node and sets the corresponding "align" or
"style" attribute. This patch checks that the active editing host can contain
such a block-level element.

Issue #2: indent/justify* can modify the active editing host.
On the first child of the editable element, the selection is extended outside of
the active editing host -- which causes a few issues for our test cases.
In this patch, this issue is "solved" by modifying
`nsHTMLEditRules::GetPromotedPoint' for block-level operations.


** About the tests **

Sorry for the long explanation but I prefer to be as sharp as possible when I
have to modify existing unit tests.

This patch raises 34 unit test "failures" which are improvements.
Two test files are concerned and have been modified accordingly:
  * test_htmleditor_keyevent_handling
  * test_richtext2.html

One test has been clarified (no real modification):
  * test_bug414526.html

Of course, a specific unit test has been added, see `test_bug677752.html'.


** editor/libeditor/html/tests/test_htmleditor_keyevent_handling.html **
Outdenting now works properly, which results in 4 `FAIL'.

  * 7372 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab after Tab on UL
      - got "<ul><li id=\"target\">ul list item</li></ul>",
      expected "<ul><ul><li id=\"target\">ul list item</li></ul></ul>"

  * 7379 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab on UL
      - got "ul list item",
      expected "<ul><li id=\"target\">ul list item</li></ul>"

  * 7415 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab after Tab on OL -
      got "<ol><li id=\"target\">ol list item</li></ol>",
      expected "<ol><ol><li id=\"target\">ol list item</li></ol></ol>"

  * 7422 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shfit+Tab on OL
      - got "ol list item",
      expected "<ol><li id=\"target\">ol list item</li></ol>"


** editor/libeditor/html/tests/browserscope/test_richtext2.html **
The 15 tests that now pass result in 15 `FAIL' and 15 `UNEXPECTED_PASS'.
Here's an overview of what we had before the patch:

  * Section A - Apply Formatting Tests: +10 points
                    before patch: 21/31 (Selection:  9/31)
                     after patch: 28/31 (Selection: 12/31)

      FB:BQ_TEXT-1_SI    EXECUTION EXCEPTION
      FB:BQ_TEXT-1_SI    EXECUTION EXCEPTION
      FB:BQ_BR.BR-1_SM   EXECUTION EXCEPTION
      FB:BQ_BR.BR-1_SM   EXECUTION EXCEPTION
      IND_TEXT-1_SI      EXECUTION EXCEPTION
      IND_TEXT-1_SI      EXECUTION EXCEPTION
      JC_TEXT-1_SC       editing host is modified
      JF_TEXT-1_SC       editing host is modified
      JL_TEXT-1_SC       editing host is modified
      JR_TEXT-1_SC       editing host is modified

  * Section AC - Apply Formatting Tests, using styleWithCSS: +5 points
                    before patch:  7/18 (Selection:  5/18)
                     after patch: 12/18 (Selection:  5/18)

      IND_TEXT-1_SI      editing host is modified
      JC_TEXT-1_SC       editing host is modified
      JF_TEXT-1_SC       editing host is modified
      JL_TEXT-1_SC       editing host is modified
      JR_TEXT-1_SC       editing host is modified


** editor/libeditor/html/tests/test_bug414526.html **
This test has been clarified to get more explicit report messages -- the test
themselves haven't been changed. A `todo_is' test has been added.
This test is the one that shows that `IsNodeInActiveEditor' can't be modified,
and that limiting the range promotion for block-level operations is preferrable.
2011-08-23 15:10:14 -04:00
Fabien Cazenave
4862d93606 Bug 676401 - The document.queryCommandEnabled API doesn't take the active editing host into account; r=ehsan
* adding an `isSelectionEditable' readonly attribute in <nsIEditor>;
 * modified all ::IsCommandEnabled methods in editor/ to take it into account:

./libeditor/base/nsEditorCommands.cpp (15 commands)
  nsUndoCommand                   'undo'
  nsRedoCommand                   'redo'
  nsClearUndoCommand              'clearUndo'
  nsCutCommand                    'cut'
  nsCutOrDeleteCommand            ?
  nsCopyCommand                   'copy'
  nsCopyOrDeleteCommand           ?
  nsPasteCommand                  'paste'
  nsPasteTransferableCommand      ?
  nsSwitchTextDirectionCommand    ?
  nsDeleteCommand                 'delete'
  nsSelectAllCommand              'selectAll'
  nsSelectionMoveCommands         ?
  nsInsertPlaintextCommand        ?
  nsPasteQuotationCommand         ?

./composer/src/nsComposerCommands.cpp (15 commands)
  nsBaseStateUpdatingCommand      ?
  nsPasteNoFormattingCommand      ?
  nsRemoveListCommand             ?
  nsIndentCommand                 'indent'
  nsOutdentCommand                'outdent'
  nsMultiStateCommand             ?
  nsHighlightColorStateCommand    'hiliteColor'
  nsAbsolutePositioningCommand    ?
  nsDecreaseZIndexCommand         ?
  nsIncreaseZIndexCommand         ?
  nsRemoveStylesCommand           'removeFormat'
  nsIncreaseFontSizeCommand       'increaseFontSize'
  nsDecreaseFontSizeCommand       'decreaseFontSize'
  nsInsertHTMLCommand             'insertHTML'
  nsInsertTagCommand              ?

./composer/src/nsComposerDocumentCommands.cpp (3 commands)
  nsSetDocumentOptionsCommand     ?
  nsSetDocumentStateCommand       ?
  nsDocumentStateCommand          n/a (unpatched)
2011-08-17 13:28:03 -04:00
Fabien Cazenave
c85fd56970 Bug 456798 — Implement document.queryCommandSupported
Rationale: a command is supported if it can be converted to an internal Midas
command. `nsCommandManager::IsCommandSupported' might not be needed any more.

Corollary: document.queryCommandEnabled should return false on unsupported
commands without raising any exception.

Browserscope tests: +43 points = 258 failed tests...
 * Q section: 0/48 => 42/48
   42 tests used to fail (execution exception), now pass
 * QE section: 36/46 => 37/46
   garbage-1_TEXT-1 used to fail, now passes
In these two sections, a lot of tests that used to raise an exception now return
`false' (that's still a FAIL, but that's not the same kind of FAIL).

Other Browserscope tests are not affected by this patch.
The status of this test suite (currentStatus.js) has been updated accordingly.
2011-08-17 08:04:14 -04:00
Malini Das
a0832b693a Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- plain tests 2/2. r=jmaher, a=test-only 2011-08-12 12:21:44 -04:00
Ms2ger
35e44f908f Bug 659113 - Remove nsIDOMNSHTMLDocument; r=bz 2011-05-28 09:43:57 +02:00
Kyle Huey
75ee2642d1 Merge m-c to bs. 2011-03-26 12:12:37 -04:00
Ehsan Akhgari
d98dd1278c Bug 642704 - Part 3: Remove test_set.py because it confuses our mochitest suite runner, and we don't need it to run the BrowserScope RichText2 suite; r=roc 2011-03-19 16:45:29 -04:00
Ehsan Akhgari
11e4fe7769 Bug 642704 - Part 2: Add a test driver to run the BrowserScope RichText2 test suite as a mochitest; r=roc 2011-03-19 16:44:30 -04:00
Ehsan Akhgari
705f18833c Bug 642704 - Part 1: Import the BrowserScope RichText2 test suite files into the tree; r=roc 2011-03-18 18:15:24 -04:00
Ehsan Akhgari
561113cc04 Bug 628980 - browserscope richedit tests load http://www.google.com/intl/en_ALL/images/logo.gif over the network; r=roc a=NPOTB 2011-01-27 00:26:33 -05:00
Shawn Wilsher
9cdab945a8 Merge mozilla-central into Places. 2010-11-29 08:43:57 -08:00
Ehsan Akhgari
311cff87c3 Bug 372345 - [Midas] text cursor overrides CSS mouse cursor styles for some elements; r=bzbarsky a=blocking-final+
--HG--
extra : rebase_source : 502e9561f1a91464b8de502eb44098ab126d3930
2010-10-29 12:30:15 -04:00
Ehsan Akhgari
4d471b8466 Bug 613434 - Rename the browserscope richtext suite in preparation of richtext2 integration; r=roc a=NPOTB
--HG--
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/LICENSE => editor/libeditor/html/tests/browserscope/lib/richtext/LICENSE
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/README => editor/libeditor/html/tests/browserscope/lib/richtext/README
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/README.Mozilla => editor/libeditor/html/tests/browserscope/lib/richtext/README.Mozilla
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/currentStatus.js => editor/libeditor/html/tests/browserscope/lib/richtext/currentStatus.js
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/current_revision => editor/libeditor/html/tests/browserscope/lib/richtext/current_revision
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/richtext/editable.html => editor/libeditor/html/tests/browserscope/lib/richtext/richtext/editable.html
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/richtext/js/range.js => editor/libeditor/html/tests/browserscope/lib/richtext/richtext/js/range.js
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/richtext/richtext.html => editor/libeditor/html/tests/browserscope/lib/richtext/richtext/richtext.html
rename : editor/libeditor/html/tests/browserscope/lib/browserscope/update_from_upstream => editor/libeditor/html/tests/browserscope/lib/richtext/update_from_upstream
rename : editor/libeditor/html/tests/browserscope/test_browserscope.html => editor/libeditor/html/tests/browserscope/test_richtext.html
extra : rebase_source : 04a0818f516856a2868b94481f1d29694db1f0d1
2010-11-19 11:02:22 -05:00
Michael Kohler
5f19df86e0 Bug 564091: Fix spelling of nonexistent across the tree. r=timeless
--HG--
extra : rebase_source : 4f15f7fd6f90926b77d136be83af7f22c5ffa830
2010-05-23 12:26:15 -07:00
Ehsan Akhgari
6ed1775117 Bug 550569 - Integrate BrowserScope's HTML editor test suite with Mozilla's mochitest framework; r=bzbarsky
--HG--
extra : rebase_source : fd9a9c69ff732dc8c1af97d120a044f34c6a70d7
2010-03-08 17:36:42 -05:00