我已经创建了一个编辑指令来将html输入包装在一个奇特的框架中.
现在我正在创建一个单元测试来检查一旦输入输入,就会设置表单控制器的脏状态.这是我到目前为止所得到的,但它在第二次预期失败了.
这有什么不对?
提前致谢!
describe('dirty', function () {
it('false', function () {
var scope = $rootScope.$new(),
form = $compile('<form name="form"><edit ng-model="model"></edit></form>')(scope),
input = form.find('input');
scope.$digest();
expect(scope.form.$dirty).toBeFalsy();
input.triggerHandler('keydown', { which: 65 });
expect(scope.form.$dirty).toBeTruthy();
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:
对于所有重要的事情,它归结为这个plunker(没有jQuery)......或者这个使用jQuery
任何的想法?
我已经创建了一个编辑指令来将html输入包装在一个奇特的框架中.
现在我正在创建一个单元测试来检查一旦输入输入,就会设置表单控制器的脏状态.
我正在使用jQuery.trigger()来模拟这个,但我什么都没得到......
var input = $('input');
var e = $.Event('keydown');
e.which = 'x'.charCodeAt(0);
e.keyCode = 'x'.charCodeAt(0);
input[0].focus();
input.trigger(e);
Run Code Online (Sandbox Code Playgroud)
我这里有一个傻瓜
我究竟做错了什么?
谢谢!