diff --git a/frontend/shared/src/types/auto-complete.d.ts b/frontend/shared/src/types/auto-complete.d.ts index a9522d51b7..a9ea6e58a5 100644 --- a/frontend/shared/src/types/auto-complete.d.ts +++ b/frontend/shared/src/types/auto-complete.d.ts @@ -1,3 +1,5 @@ +import Subset from './common/subset'; + type Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'; type Rank = 'primary' | 'secondary' | 'tertiary' | 'fallback'; @@ -267,4 +269,100 @@ type AutofillDetailTokens = */ type AutoComplete = OnOff | AutofillDetailTokens; +// Compile-time tests for AutoComplete type +// eslint-disable-next-line @typescript-eslint/no-unused-vars +type AutoCompleteTests = [ + // @ts-expect-error 'off' should not be combined with anything + Subset, + // @ts-expect-error 'on' should not be combined with anything + Subset, + // @ts-expect-error No trailing whitespace is allowed + Subset, + // @ts-expect-error No leading whitespace is allowed + Subset, + // @ts-expect-error No leading & trailing whitespace is allowed + Subset, + // @ts-expect-error 'false' is not a valid autocomplete value + Subset, + // @ts-expect-error 'true' is not a valid autocomplete value + Subset, + // @ts-expect-error An empty string is not a valid autocomplete value + Subset, + // @ts-expect-error '0' is not a valid autocomplete value + Subset, + // @ts-expect-error '1' is not a valid autocomplete value + Subset, + // @ts-expect-error 'offx' is not a valid autocomplete value + Subset, + // @ts-expect-error Wrong order of tokens ('home' & 'billing' should be swapped) + Subset, + // On & Off + Subset, + Subset, + // Autofill field names + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + // Combinations of 2 tokens + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + // Combinations of 3 tokens + Subset, + Subset, + Subset, + Subset, + Subset, + Subset, + // Combinations of 4 tokens + Subset, + Subset, + // Combinations of 5 tokens + Subset +]; + export default AutoComplete; diff --git a/frontend/shared/src/types/tests/auto-complete.test.ts b/frontend/shared/src/types/tests/auto-complete.test.ts deleted file mode 100644 index 6ded820cd8..0000000000 --- a/frontend/shared/src/types/tests/auto-complete.test.ts +++ /dev/null @@ -1,97 +0,0 @@ -import AutoComplete from '../auto-complete'; -import Subset from '../common/subset'; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -type CompileTimeTypeTests = [ - // @ts-expect-error 'off' should not be combined with anything - Subset, - // @ts-expect-error 'on' should not be combined with anything - Subset, - // @ts-expect-error No trailing whitespace is allowed - Subset, - // @ts-expect-error No leading whitespace is allowed - Subset, - // @ts-expect-error No leading & trailing whitespace is allowed - Subset, - // @ts-expect-error 'false' is not a valid autocomplete value - Subset, - // @ts-expect-error 'true' is not a valid autocomplete value - Subset, - // @ts-expect-error An empty string is not a valid autocomplete value - Subset, - // @ts-expect-error '0' is not a valid autocomplete value - Subset, - // @ts-expect-error '1' is not a valid autocomplete value - Subset, - // @ts-expect-error 'offx' is not a valid autocomplete value - Subset, - // @ts-expect-error Wrong order of tokens ('home' & 'billing' should be swapped) - Subset, - // On & Off - Subset, - Subset, - // Autofill field names - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - // Combinations of 2 tokens - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - // Combinations of 3 tokens - Subset, - Subset, - Subset, - Subset, - Subset, - Subset, - // Combinations of 4 tokens - Subset, - Subset, - // Combinations of 5 tokens - Subset -];