From 228bc35f17403a11c7cef5109d864f808907a469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=9A=D1=80?= =?UTF-8?q?=D1=8F=D0=B6=D0=B5=D0=B2?= Date: Wed, 21 Jun 2023 13:36:38 +0300 Subject: [PATCH] fix tests --- packages/imask/src/controls/mask-element.ts | 4 ++-- packages/imask/src/masked/date.ts | 8 ++++---- packages/imask/test/controls/html-mask-element.ts | 6 +++--- packages/imask/test/controls/mask-element-stub.ts | 8 ++++++++ packages/imask/test/masked/factory.types.ts | 6 +++++- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/packages/imask/src/controls/mask-element.ts b/packages/imask/src/controls/mask-element.ts index 516fc5cf..d35908f8 100644 --- a/packages/imask/src/controls/mask-element.ts +++ b/packages/imask/src/controls/mask-element.ts @@ -14,9 +14,9 @@ type ElementEvent = export default abstract class MaskElement { /** */ - abstract get _unsafeSelectionStart(): number; + abstract _unsafeSelectionStart: number; /** */ - abstract get _unsafeSelectionEnd(): number; + abstract _unsafeSelectionEnd: number; /** */ abstract value: string; diff --git a/packages/imask/src/masked/date.ts b/packages/imask/src/masked/date.ts index cd94f3d2..81c32614 100644 --- a/packages/imask/src/masked/date.ts +++ b/packages/imask/src/masked/date.ts @@ -17,7 +17,7 @@ type DateOptionsKeys = ; export -type MaskedDateOptions = +type MaskedDateOptions = Omit, 'mask'> & Partial, DateOptionsKeys>> & { mask?: string | DateMaskType } @@ -25,7 +25,7 @@ type MaskedDateOptions = /** Date mask */ export default -class MaskedDate extends MaskedPattern { +class MaskedDate extends MaskedPattern { static GET_DEFAULT_BLOCKS: () => { [k: string]: MaskedRangeOptions } = () => ({ d: { mask: MaskedRange, @@ -139,14 +139,14 @@ class MaskedDate extends MaskedPattern { } /** Parsed Date */ - get date (): Value | null { + get date (): Value { return this.typedValue; } set date (date: Value) { this.typedValue = date; } - override get typedValue (): Value | null { + override get typedValue (): Value { return this.isComplete ? super.typedValue : null; } override set typedValue (value: Value) { diff --git a/packages/imask/test/controls/html-mask-element.ts b/packages/imask/test/controls/html-mask-element.ts index 58a0634f..e2f55f7a 100644 --- a/packages/imask/test/controls/html-mask-element.ts +++ b/packages/imask/test/controls/html-mask-element.ts @@ -1,7 +1,7 @@ import assert from 'assert'; import { describe, it } from 'node:test'; -import HTMLMaskElement from '../../src/controls/html-mask-element'; +import HTMLInputMaskElement from '../../src/controls/html-input-mask-element'; describe('HTMLMaskElement', function () { @@ -16,7 +16,7 @@ describe('HTMLMaskElement', function () { } } as any; - const maskElement = new HTMLMaskElement(input); + const maskElement = new HTMLInputMaskElement(input); assert.strictEqual(maskElement.isActive, true); }); @@ -25,7 +25,7 @@ describe('HTMLMaskElement', function () { const input = {} as any; global.document = { activeElement: input } as any; - const maskElement = new HTMLMaskElement(input); + const maskElement = new HTMLInputMaskElement(input); assert.strictEqual(maskElement.isActive, true); global.document = doc; diff --git a/packages/imask/test/controls/mask-element-stub.ts b/packages/imask/test/controls/mask-element-stub.ts index a26340a5..ad9a5d89 100644 --- a/packages/imask/test/controls/mask-element-stub.ts +++ b/packages/imask/test/controls/mask-element-stub.ts @@ -3,6 +3,14 @@ import MaskElement from '../../src/controls/mask-element'; export default class MaskElementStub extends MaskElement { + declare _unsafeSelectionStart: number; + declare _unsafeSelectionEnd: number; + declare value: string; + + _unsafeSelect (): void {} + bindEvents (): void {} + unbindEvents (): void {} + constructor () { super(); this.value = ''; diff --git a/packages/imask/test/masked/factory.types.ts b/packages/imask/test/masked/factory.types.ts index f195edf4..e95b11c0 100644 --- a/packages/imask/test/masked/factory.types.ts +++ b/packages/imask/test/masked/factory.types.ts @@ -17,7 +17,11 @@ import { type MaskedNumberOptions } from '../../src/masked/number'; import { type MaskedPatternOptions } from '../../src/masked/pattern'; import { type MaskedRegExpOptions } from '../../src/masked/regexp'; -class MyMasked extends Masked {} +class MyMasked extends Masked { + declare overwrite?: boolean | 'shift' | undefined; + declare eager?: boolean | 'remove' | 'append' | undefined; + declare skipInvalid?: boolean | undefined; +} type cases = [