【发布时间】:2014-04-14 16:00:33
【问题描述】:
我正在为需要使用shift 键测试事件的框架制定规范。所以我想务实地插入一个!,就好像我按下了shift + 1。
我一直在使用 Syn 框架,但无法使其模拟 SHIFT + 1。 According to the docs应该是
Syn.type('[shift]1[shift-up]', 'textInput2');
但这不起作用。我希望! 字符,event.shiftKey 是true,和 event.key 是33 但我得到一个1 而不是! 和一个@改为 987654335@。
如何使用 Syn 或 vanilla javascript 实现这一点?
我made this jsFiddle 对此进行测试,检查控制台。
【问题讨论】:
-
如果您的目标是测试代码(例如单元测试),您不应该为模拟环境而烦恼。相反,您应该进行抽象并消除环境依赖关系。基本上,使用表示环境的接口,而不是直接表示环境。
-
@Tengiz,感谢您的反馈。不太确定我明白你的意思。我正在尝试使用 JS(以及后来的 Grunt-Jasmine)作为接口来模拟。我也想尽可能抽象,但我需要尝试浏览器上的行为......
标签: javascript unit-testing keyboard-events syn