I have a field with a maxlength of 6, but somehow the following way of entering data results in 7 chars being allowed:
<input type="text" name="myName" maxlength="6" ng-model="myModel">
this is the test bit:
input('myModel').enter('1111117');
expect(input('myModel').val()).toBe(111111);
and this is the result
expected 111111 but was "1111117"
I suppose this has to do with the model being used instead of the real field, but how would I test this then in Karma?
The problem is caused because maxlength
only limits the input from the user, and not the actual value of the input. For example, if you try to use jQuery's val()
on your input, it would accept any length of the value.
I tried to simulate input in more sophisticated ways, like triggering keyboard events or third party tools, but with no success. It looks like any programmatic way to change the input's value, is not limited by maxlength
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With