Divec has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/83599


Change subject: WIP: Typing tests using jQuery.IME
......................................................................

WIP: Typing tests using jQuery.IME

Change-Id: If3f20f8afd6688b854af8be16eddca02f1e8d37a
---
M modules/ve/test/ce/ve.ce.test.js
M modules/ve/test/index.php
2 files changed, 51 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/99/83599/1

diff --git a/modules/ve/test/ce/ve.ce.test.js b/modules/ve/test/ce/ve.ce.test.js
index fc07fd7..9f1fa40 100644
--- a/modules/ve/test/ce/ve.ce.test.js
+++ b/modules/ve/test/ce/ve.ce.test.js
@@ -101,3 +101,50 @@
        }
 } );
 
+QUnit.test( 'jquery-ime', function ( assert ) {
+       var i, dom, target, uiSurface, $ceDiv, ime, documentModel, documentView;
+       QUnit.expect( 1 );
+
+       dom = ve.createDocumentFromHtml( '<p>hello, world</p>' );
+       target = new ve.init.sa.Target( $( '#qunit-fixture' ), dom );
+       uiSurface = target.surface;
+       documentModel = uiSurface.getModel().getDocument();
+       documentView = uiSurface.getView().getDocument();
+       $ceDiv = documentView.getDocumentNode().$;
+
+       // activate jQuery.ime
+       $ceDiv.ime( { 'imePath': '../../jquery.ime/' } );
+       $ceDiv.focus();
+       ime = $ceDiv.data( 'ime' );
+       QUnit.stop();
+       ime.load( 'ml-transliteration' ).done( function () {
+               testImeSynchronous( assert, $ceDiv, ime );
+       } );
+} );
+
+function testImeSynchronous ( assert, $ceDiv, ime ) {
+       var i, len, f, keys, code, imeSelector;
+       imeSelector = $ceDiv.data( 'imeselector' );
+       imeSelector.selectIM( 'ml-transliteration' );
+       ime.enable();
+
+       var keys = 'thOttingngal';
+       i = 0;
+       len = keys.length;
+       f = function () {
+               if ( i >= len ) {
+                       assert.equal( $ceDiv[0].innerHTML, 'fake_expected' );
+                       QUnit.start();
+                       return;
+               }
+               code = keys.charCodeAt( i );
+               $ceDiv.trigger( new jQuery.Event(
+                       'keypress',
+                       { keyCode: code, which: code, charCode: code, altKey: 0 
}
+               ) );
+               i++;
+               // TODO: poll the surface
+               setTimeout( f, 500 );
+       };
+       setTimeout( f, 500 );
+}
diff --git a/modules/ve/test/index.php b/modules/ve/test/index.php
index ccb58e8..f06c7ba 100644
--- a/modules/ve/test/index.php
+++ b/modules/ve/test/index.php
@@ -33,6 +33,10 @@
                <!-- Dependencies -->
                <script src="../../jquery/jquery.js"></script>
                <script src="../../jquery/jquery.client.js"></script>
+                <script src="../../jquery.ime/src/jquery.ime.js"></script>
+                <script 
src="../../jquery.ime/src/jquery.ime.selector.js"></script>
+                <script 
src="../../jquery.ime/src/jquery.ime.preferences.js"></script>
+                <script 
src="../../jquery.ime/src/jquery.ime.inputmethods.js"></script>
                <script src="../../oojs/oo.js"></script>
                <script src="../../rangy/rangy-core-1.3.js"></script>
                <script src="../../rangy/rangy-position-1.3.js"></script>

-- 
To view, visit https://gerrit.wikimedia.org/r/83599
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If3f20f8afd6688b854af8be16eddca02f1e8d37a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Divec <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to