Skip to content

Commit

Permalink
work for #8037 add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
OlgaLarina committed Apr 3, 2024
1 parent dadf0d0 commit e62cb94
Showing 1 changed file with 52 additions and 7 deletions.
59 changes: 52 additions & 7 deletions tests/mask/mask_number_tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,18 @@ QUnit.test("parseNumber", assert => {
assert.equal(maskInstance.parseNumber("123.").fractionalPart, 0);
});

QUnit.test("validationNumber", function(assert) {
QUnit.test("validationNumber: matchWholeMask is true", function(assert) {
let maskInstance = new InputMaskNumeric();
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }), true, "#1");
assert.equal(maskInstance.validateNumber({ integralPart: "", fractionalPart: "123" }), true, "#2");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }), true, "#3");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, true), true, "#1");
assert.equal(maskInstance.validateNumber({ integralPart: "", fractionalPart: "123" }, true), true, "#2");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }, true), true, "#3");

maskInstance = new InputMaskNumeric();
maskInstance.min = -100;
maskInstance.max = 100;
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }), false, "#4");
assert.equal(maskInstance.validateNumber({ integralPart: "", fractionalPart: "123" }), true, "#5");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }), false, "#6");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, true), false, "#4");
assert.equal(maskInstance.validateNumber({ integralPart: "", fractionalPart: "123" }, true), true, "#5");
assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }, true), false, "#6");
});

QUnit.test("get numeric masked valid text", function(assert) {
Expand Down Expand Up @@ -466,6 +466,51 @@ QUnit.test("numeric processInput: min & max", function(assert) {
assert.equal(result.caretPosition, 1, "remove 1");
});

QUnit.test("numeric processInput: min 200", function(assert) {
const maskInstance = new InputMaskNumeric();
maskInstance.allowNegativeValues = true;
maskInstance.min = 200;

let result = maskInstance.processInput({ insertedChars: "-", selectionStart: 0, selectionEnd: 0, prevValue: "", inputDirection: "forward" });
assert.equal(result.value, "", "try insert minus");
assert.equal(result.caretPosition, 0, "try insert minus");

result = maskInstance.processInput({ insertedChars: "2", selectionStart: 1, selectionEnd: 1, prevValue: "", inputDirection: "forward" });
assert.equal(result.value, "2", "type 2");
assert.equal(result.caretPosition, 1, "type 2");

result = maskInstance.processInput({ insertedChars: "-", selectionStart: 1, selectionEnd: 1, prevValue: "2", inputDirection: "forward" });
assert.equal(result.value, "2", "try insert minus");
assert.equal(result.caretPosition, 1, "try insert minus");

result = maskInstance.processInput({ insertedChars: "1", selectionStart: 2, selectionEnd: 2, prevValue: "20", inputDirection: "forward" });
assert.equal(result.value, "201", "type 1");
assert.equal(result.caretPosition, 3, "type 1");
});

QUnit.test("numeric processInput: min 0 & max 100", function(assert) {
const maskInstance = new InputMaskNumeric();
maskInstance.allowNegativeValues = true;
maskInstance.min = 0;
maskInstance.max = 100;

let result = maskInstance.processInput({ insertedChars: "-", selectionStart: 0, selectionEnd: 0, prevValue: "", inputDirection: "forward" });
assert.equal(result.value, "", "try insert minus");
assert.equal(result.caretPosition, 0, "try insert minus");

result = maskInstance.processInput({ insertedChars: "2", selectionStart: 1, selectionEnd: 1, prevValue: "", inputDirection: "forward" });
assert.equal(result.value, "2", "type 2");
assert.equal(result.caretPosition, 1, "type 2");

result = maskInstance.processInput({ insertedChars: "-", selectionStart: 1, selectionEnd: 1, prevValue: "2", inputDirection: "forward" });
assert.equal(result.value, "2", "try insert minus");
assert.equal(result.caretPosition, 1, "try insert minus");

result = maskInstance.processInput({ insertedChars: "1", selectionStart: 2, selectionEnd: 2, prevValue: "99", inputDirection: "forward" });
assert.equal(result.value, "99", "try type 1");
assert.equal(result.caretPosition, 2, "try type 1");
});

QUnit.test("numeric processInput: precision", function(assert) {
const maskInstance = new InputMaskNumeric();

Expand Down

0 comments on commit e62cb94

Please sign in to comment.