88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
module("tinymce.Shortcuts", {
|
|
setupModule: function() {
|
|
QUnit.stop();
|
|
|
|
tinymce.init({
|
|
selector: "textarea",
|
|
add_unload_trigger: false,
|
|
disable_nodechange: true,
|
|
indent: false,
|
|
skin: false,
|
|
entities: 'raw',
|
|
schema: 'html5',
|
|
init_instance_callback: function(ed) {
|
|
window.editor = ed;
|
|
QUnit.start();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
test('Shortcuts formats', function() {
|
|
function assertShortcut(shortcut, args, assertState) {
|
|
var called = false;
|
|
|
|
editor.shortcuts.add(shortcut, '', function() {
|
|
called = true;
|
|
});
|
|
|
|
args = tinymce.extend({
|
|
ctrlKey: false,
|
|
altKey: false,
|
|
shiftKey: false,
|
|
metaKey: false
|
|
}, args);
|
|
|
|
editor.fire('keydown', args);
|
|
|
|
if (assertState) {
|
|
ok(called, 'Shortcut wasn\'t called: ' + shortcut);
|
|
} else {
|
|
ok(!called, 'Shortcut was called when it shouldn\'t have been: ' + shortcut);
|
|
}
|
|
}
|
|
|
|
assertShortcut('ctrl+d', {ctrlKey: true, keyCode: 68}, true);
|
|
assertShortcut('ctrl+d', {altKey: true, keyCode: 68}, false);
|
|
|
|
if (tinymce.Env.mac) {
|
|
assertShortcut('meta+d', {metaKey: true, keyCode: 68}, true);
|
|
assertShortcut('access+d', {ctrlKey: true, altKey: true, keyCode: 68}, true);
|
|
assertShortcut('meta+d', {ctrlKey: true, keyCode: 68}, false);
|
|
assertShortcut('access+d', {shiftKey: true, altKey: true, keyCode: 68}, false);
|
|
} else {
|
|
assertShortcut('meta+d', {ctrlKey: true, keyCode: 68}, true);
|
|
assertShortcut('access+d', {shiftKey: true, altKey: true, keyCode: 68}, true);
|
|
assertShortcut('meta+d', {metaKey: true, keyCode: 68}, false);
|
|
assertShortcut('access+d', {ctrlKey: true, altKey: true, keyCode: 68}, false);
|
|
}
|
|
|
|
assertShortcut('ctrl+shift+d', {ctrlKey: true, shiftKey: true, keyCode: 68}, true);
|
|
assertShortcut('ctrl+shift+alt+d', {ctrlKey: true, shiftKey: true, altKey: true, keyCode: 68}, true);
|
|
assertShortcut('ctrl+221', {ctrlKey: true, keyCode: 221}, true);
|
|
});
|
|
|
|
test('Remove', function() {
|
|
var called = false, eventArgs;
|
|
|
|
eventArgs = {
|
|
ctrlKey: true,
|
|
keyCode: 68,
|
|
altKey: false,
|
|
shiftKey: false,
|
|
metaKey: false
|
|
};
|
|
|
|
editor.shortcuts.add('ctrl+d', '', function() {
|
|
called = true;
|
|
});
|
|
|
|
editor.fire('keydown', eventArgs);
|
|
ok(called, 'Shortcut wasn\'t called when it should have been.');
|
|
|
|
called = false;
|
|
editor.shortcuts.remove('ctrl+d');
|
|
editor.fire('keydown', eventArgs);
|
|
ok(!called, 'Shortcut was called when it shouldn\'t.');
|
|
});
|