场上的 maxlength 不适用于 Karma

Maa*_*ten 5 angularjs karma-runner angularjs-e2e

我有一个最大长度为 6 的字段,但不知何故,以下输入数据的方式会导致 7 个字符被允许:

<input type="text" name="myName" maxlength="6" ng-model="myModel">
Run Code Online (Sandbox Code Playgroud)

这是测试位:

input('myModel').enter('1111117');
expect(input('myModel').val()).toBe(111111);
Run Code Online (Sandbox Code Playgroud)

这就是结果

expected 111111 but was "1111117"
Run Code Online (Sandbox Code Playgroud)

我想这与正在使用的模型而不是真实领域有关,但是我将如何在 Karma 中测试它?

Yar*_*mer 4

造成这个问题的原因是maxlength只限制了用户的输入,并没有限制输入的实际值。例如,如果您尝试val()在输入上使用 jQuery,它将接受任何长度的值。

我尝试以更复杂的方式模拟输入,例如触发键盘事件或第三方工具,但没有成功。看起来任何改变输入值的编程方式都不受maxlength.