Permalink
Please sign in to comment.
Browse files
Merge pull request #6307 from cbrwizard/getEventCharCode_unit_tests
getEventCharCode unit tests
Showing
with
89 additions
and 0 deletions.
89
src/renderers/dom/client/utils/__tests__/getEventCharCode-test.js
@@ -0,0 +1,89 @@ | ||
+/** | ||
+ * Copyright 2016-present, Facebook, Inc. | ||
+ * All rights reserved. | ||
+ * | ||
+ * This source code is licensed under the BSD-style license found in the | ||
+ * LICENSE file in the root directory of this source tree. An additional grant | ||
+ * of patent rights can be found in the PATENTS file in the same directory. | ||
+ * | ||
+ * @emails react-core | ||
+ */ | ||
+ | ||
+'use strict'; | ||
+ | ||
+var getEventCharCode = require('getEventCharCode'); | ||
+ | ||
+describe('getEventCharCode', function() { | ||
+ describe('when charCode is present in nativeEvent', function() { | ||
+ describe('when charCode is 0 and keyCode is 13', function() { | ||
+ it('returns 13', function() { | ||
+ var nativeEvent = new KeyboardEvent( | ||
+ 'keypress', {charCode: 0, keyCode: 13} | ||
+ ); | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(13); | ||
+ }); | ||
+ }); | ||
+ | ||
+ describe('when charCode is not 0 and/or keyCode is not 13', function() { | ||
+ describe('when charCode is 32 or bigger', function() { | ||
+ it('returns charCode', function() { | ||
+ var nativeEvent = new KeyboardEvent('keypress', {charCode: 32}); | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(32); | ||
+ }); | ||
+ }); | ||
+ | ||
+ describe('when charCode is smaller than 32', function() { | ||
+ describe('when charCode is 13', function() { | ||
+ it('returns 13', function() { | ||
+ var nativeEvent = new KeyboardEvent('keypress', {charCode: 13}); | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(13); | ||
+ }); | ||
+ }); | ||
+ | ||
+ describe('when charCode is not 13', function() { | ||
+ it('returns 0', function() { | ||
+ var nativeEvent = new KeyboardEvent('keypress', {charCode: 31}); | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(0); | ||
+ }); | ||
+ }); | ||
+ }); | ||
+ }); | ||
+ }); | ||
+ | ||
+ /** | ||
+ nativeEvent is represented as a plain object here to ease testing, because | ||
+ KeyboardEvent's 'charCode' event key cannot be deleted to simulate a missing | ||
+ charCode key. | ||
+ */ | ||
+ describe('when charCode is not present in nativeEvent', function() { | ||
+ describe('when keyCode is 32 or bigger', function() { | ||
+ it('returns keyCode', function() { | ||
+ var nativeEvent = {'keyCode': 32}; | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(32); | ||
+ }); | ||
+ }); | ||
+ | ||
+ describe('when keyCode is smaller than 32', function() { | ||
+ describe('when keyCode is 13', function() { | ||
+ it('returns 13', function() { | ||
+ var nativeEvent = {'keyCode': 13}; | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(13); | ||
+ }); | ||
+ }); | ||
+ | ||
+ describe('when keyCode is not 13', function() { | ||
+ it('returns 0', function() { | ||
+ var nativeEvent = {'keyCode': 31}; | ||
+ | ||
+ expect(getEventCharCode(nativeEvent)).toBe(0); | ||
+ }); | ||
+ }); | ||
+ }); | ||
+ }); | ||
+}); |
0 comments on commit
c528732