From 8bd048cb8ae9b0972522a5ff0ea03b444067fa06 Mon Sep 17 00:00:00 2001 From: Aleksey Novikov Date: Thu, 4 Apr 2024 10:31:10 +0300 Subject: [PATCH] #8037 add more tests Fixes #8037 --- tests/mask/mask_number_tests.ts | 73 +++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/tests/mask/mask_number_tests.ts b/tests/mask/mask_number_tests.ts index 1f0fd20043..95f18125e6 100644 --- a/tests/mask/mask_number_tests.ts +++ b/tests/mask/mask_number_tests.ts @@ -50,6 +50,79 @@ QUnit.test("validationNumber: matchWholeMask is true", function(assert) { assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }, true), false, "#6"); }); +QUnit.test("validationNumber: matchWholeMask is false - one limit", function (assert) { + let maskInstance = new InputMaskNumeric(); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), true, "#1"); + assert.equal(maskInstance.validateNumber({ integralPart: "", fractionalPart: "123" }, false), true, "#2"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "456" }, false), true, "#3"); + + maskInstance.max = 100; + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), true, "#4"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), true, "#5"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), false, "#6"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), true, "#4.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), true, "#5.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), true, "#6.1"); + + maskInstance.max = -100; + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), false, "#4x"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), false, "#5x"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), false, "#6x"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), true, "#4.1x"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), true, "#5.1x"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), true, "#6.1x"); + + maskInstance.max = undefined as any; + maskInstance.min = 100; + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), true, "#4.2"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), true, "#5.2"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), true, "#6.2"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), false, "#4.3"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), false, "#5.3"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), false, "#6.3"); + + maskInstance.min = -100; + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), true, "#4.2n"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), true, "#5.2n"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), true, "#6.2n"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), true, "#4.3n"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), true, "#5.3n"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), false, "#6.3n"); + +}); + +QUnit.test("validationNumber: matchWholeMask is false - both limits", function (assert) { + let maskInstance = new InputMaskNumeric(); + maskInstance.max = 200; + maskInstance.min = 100; + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), true, "#1"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), true, "#2"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), true, "#3"); + assert.equal(maskInstance.validateNumber({ integralPart: "1234", fractionalPart: "" }, false), false, "#4"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), false, "#5"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), false, "#6"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), false, "#7"); + + maskInstance.max = 100; + maskInstance.min = -100; + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "" }, false), true, "#1.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "" }, false), true, "#2.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "" }, false), false, "#3.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "1234", fractionalPart: "" }, false), false, "#4.1"); + + assert.equal(maskInstance.validateNumber({ integralPart: "1", fractionalPart: "", isNegative: true }, false), true, "#5.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "12", fractionalPart: "", isNegative: true }, false), true, "#6.1"); + assert.equal(maskInstance.validateNumber({ integralPart: "123", fractionalPart: "", isNegative: true }, false), false, "#7.1"); +}); + QUnit.test("get numeric masked valid text", function(assert) { const maskInstance = new InputMaskNumeric(); assert.equal(maskInstance.getNumberMaskedValue(123), "123");