From f064b1642008c54bcf68bb6ea71d3e641edf3c44 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Fri, 30 Sep 2016 17:44:03 -0500 Subject: [PATCH] Core: Fix {empty} keys inserting a colon --- js/jquery.keyboard.js | 2 +- testing/testing.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/js/jquery.keyboard.js b/js/jquery.keyboard.js index 9ee445be..a73c93b0 100644 --- a/js/jquery.keyboard.js +++ b/js/jquery.keyboard.js @@ -1721,7 +1721,7 @@ http://www.opensource.org/licenses/mit-license.php } else { // find key label // corner case of '::;' reduced to ':;', split as ['', ';'] - if (parts[0] === '') { + if (name !== '' && parts[0] === '') { data.name = ':'; parts = parts.slice(1); } else { diff --git a/testing/testing.js b/testing/testing.js index 9e169801..16caa1b9 100644 --- a/testing/testing.js +++ b/testing/testing.js @@ -60,7 +60,8 @@ jQuery(function($){ ************************************************/ QUnit.test( 'processKeys', function(assert) { var k = kb.processKeys; - assert.expect(15); + assert.expect(16); + assert.deepEqual( k(''), { name: '', map: '', title: ''}, 'Empty name'); assert.deepEqual( k('test'), { name: 'test', map: '', title: '' }, 'test'); assert.deepEqual( k('@:this_is_an_at_symbol'), { name: '@', map: '', title: 'this is an at symbol' }, '@:this_is_an_at_symbol'); assert.deepEqual( k(';(q)'), { name: ';', map: 'q', title: '' }, ';(q)'); @@ -222,4 +223,4 @@ jQuery(function($){ } }); -}); \ No newline at end of file +});