chrono-node 2.6.2 → 2.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -4
- package/dist/cjs/calculation/mergingCalculation.js +2 -2
- package/dist/cjs/chrono.d.ts +3 -1
- package/dist/cjs/chrono.js +10 -4
- package/dist/cjs/chrono.js.map +1 -1
- package/dist/cjs/common/calculation/weekdays.d.ts +1 -1
- package/dist/cjs/common/calculation/weekdays.js +7 -7
- package/dist/cjs/common/casualReferences.js +7 -7
- package/dist/cjs/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
- package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js +16 -16
- package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js +15 -7
- package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +3 -4
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js +6 -196
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ForwardDateRefiner.js +14 -14
- package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/cjs/configurations.js +1 -1
- package/dist/cjs/configurations.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -41
- package/dist/cjs/index.js +8 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/locales/de/index.d.ts +5 -2
- package/dist/cjs/locales/de/index.js +7 -1
- package/dist/cjs/locales/de/index.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +8 -8
- package/dist/cjs/locales/de/parsers/DESpecificTimeExpressionParser.js +9 -9
- package/dist/cjs/locales/en/configuration.d.ts +5 -0
- package/dist/cjs/locales/en/configuration.js +58 -0
- package/dist/cjs/locales/en/configuration.js.map +1 -0
- package/dist/cjs/locales/en/constants.d.ts +5 -1
- package/dist/cjs/locales/en/constants.js +5 -18
- package/dist/cjs/locales/en/constants.js.map +1 -1
- package/dist/cjs/locales/en/index.d.ts +5 -4
- package/dist/cjs/locales/en/index.js +12 -51
- package/dist/cjs/locales/en/index.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +5 -5
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.d.ts +2 -0
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +6 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.d.ts +2 -0
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js +10 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/es/index.d.ts +5 -2
- package/dist/cjs/locales/es/index.js +7 -1
- package/dist/cjs/locales/es/index.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +5 -5
- package/dist/cjs/locales/fr/index.d.ts +5 -2
- package/dist/cjs/locales/fr/index.js +7 -1
- package/dist/cjs/locales/fr/index.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +2 -2
- package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +6 -6
- package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js +6 -6
- package/dist/cjs/locales/ja/index.d.ts +5 -2
- package/dist/cjs/locales/ja/index.js +7 -1
- package/dist/cjs/locales/ja/index.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +27 -5
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/nl/index.d.ts +5 -2
- package/dist/cjs/locales/nl/index.js +7 -1
- package/dist/cjs/locales/nl/index.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +5 -5
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +5 -5
- package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/cjs/locales/pt/index.d.ts +5 -2
- package/dist/cjs/locales/pt/index.js +7 -1
- package/dist/cjs/locales/pt/index.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +5 -5
- package/dist/cjs/locales/ru/constants.js +4 -1
- package/dist/cjs/locales/ru/constants.js.map +1 -1
- package/dist/cjs/locales/ru/index.d.ts +5 -2
- package/dist/cjs/locales/ru/index.js +7 -1
- package/dist/cjs/locales/ru/index.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js +5 -5
- package/dist/cjs/locales/uk/constants.d.ts +33 -0
- package/dist/cjs/locales/uk/constants.js +301 -0
- package/dist/cjs/locales/uk/constants.js.map +1 -0
- package/dist/cjs/locales/uk/index.d.ts +11 -0
- package/dist/cjs/locales/uk/index.js +64 -0
- package/dist/cjs/locales/uk/index.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +56 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +77 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +59 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +45 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +66 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js +57 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +22 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +29 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +22 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +50 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
- package/dist/cjs/locales/zh/hans/index.d.ts +5 -2
- package/dist/cjs/locales/zh/hans/index.js +8 -2
- package/dist/cjs/locales/zh/hans/index.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/index.d.ts +5 -2
- package/dist/cjs/locales/zh/hant/index.js +8 -2
- package/dist/cjs/locales/zh/hant/index.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
- package/dist/cjs/results.d.ts +2 -2
- package/dist/cjs/results.js +3 -3
- package/dist/cjs/results.js.map +1 -1
- package/dist/cjs/timezone.d.ts +5 -194
- package/dist/cjs/timezone.js +80 -7
- package/dist/cjs/timezone.js.map +1 -1
- package/dist/cjs/types.d.ts +58 -0
- package/dist/cjs/types.js +34 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/dayjs.js +3 -3
- package/dist/esm/calculation/mergingCalculation.js +1 -1
- package/dist/esm/chrono.d.ts +3 -1
- package/dist/esm/chrono.js +7 -4
- package/dist/esm/chrono.js.map +1 -1
- package/dist/esm/common/calculation/weekdays.d.ts +1 -1
- package/dist/esm/common/calculation/weekdays.js +1 -1
- package/dist/esm/common/casualReferences.js +1 -1
- package/dist/esm/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +1 -1
- package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js +15 -7
- package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +3 -4
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js +6 -196
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
- package/dist/esm/common/refiners/ForwardDateRefiner.js +14 -14
- package/dist/esm/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/esm/configurations.js +1 -1
- package/dist/esm/configurations.js.map +1 -1
- package/dist/esm/index.d.ts +7 -41
- package/dist/esm/index.js +6 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/locales/de/index.d.ts +5 -2
- package/dist/esm/locales/de/index.js +4 -0
- package/dist/esm/locales/de/index.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualTimeParser.js +1 -1
- package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -1
- package/dist/esm/locales/en/configuration.d.ts +5 -0
- package/dist/esm/locales/en/configuration.js +52 -0
- package/dist/esm/locales/en/configuration.js.map +1 -0
- package/dist/esm/locales/en/constants.d.ts +5 -1
- package/dist/esm/locales/en/constants.js +21 -0
- package/dist/esm/locales/en/constants.js.map +1 -1
- package/dist/esm/locales/en/index.d.ts +5 -4
- package/dist/esm/locales/en/index.js +9 -48
- package/dist/esm/locales/en/index.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +3 -3
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.d.ts +2 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +7 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +2 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.d.ts +2 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +11 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/es/index.d.ts +5 -2
- package/dist/esm/locales/es/index.js +4 -0
- package/dist/esm/locales/es/index.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +1 -1
- package/dist/esm/locales/fr/index.d.ts +5 -2
- package/dist/esm/locales/fr/index.js +4 -0
- package/dist/esm/locales/fr/index.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +1 -1
- package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -1
- package/dist/esm/locales/ja/index.d.ts +5 -2
- package/dist/esm/locales/ja/index.js +4 -0
- package/dist/esm/locales/ja/index.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +25 -3
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/esm/locales/nl/index.d.ts +5 -2
- package/dist/esm/locales/nl/index.js +4 -0
- package/dist/esm/locales/nl/index.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +1 -1
- package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/esm/locales/pt/index.d.ts +5 -2
- package/dist/esm/locales/pt/index.js +4 -0
- package/dist/esm/locales/pt/index.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +1 -1
- package/dist/esm/locales/ru/constants.js +4 -1
- package/dist/esm/locales/ru/constants.js.map +1 -1
- package/dist/esm/locales/ru/index.d.ts +5 -2
- package/dist/esm/locales/ru/index.js +4 -0
- package/dist/esm/locales/ru/index.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js +1 -1
- package/dist/esm/locales/uk/constants.d.ts +33 -0
- package/dist/esm/locales/uk/constants.js +324 -0
- package/dist/esm/locales/uk/constants.js.map +1 -0
- package/dist/esm/locales/uk/index.d.ts +11 -0
- package/dist/esm/locales/uk/index.js +52 -0
- package/dist/esm/locales/uk/index.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.js +34 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +56 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.js +42 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +60 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +54 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +19 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +26 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +19 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +47 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +7 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +7 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
- package/dist/esm/locales/zh/hans/index.d.ts +5 -2
- package/dist/esm/locales/zh/hans/index.js +5 -1
- package/dist/esm/locales/zh/hans/index.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/index.d.ts +5 -2
- package/dist/esm/locales/zh/hant/index.js +5 -1
- package/dist/esm/locales/zh/hant/index.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
- package/dist/esm/results.d.ts +2 -2
- package/dist/esm/results.js +3 -3
- package/dist/esm/results.js.map +1 -1
- package/dist/esm/timezone.d.ts +5 -194
- package/dist/esm/timezone.js +74 -6
- package/dist/esm/timezone.js.map +1 -1
- package/dist/esm/types.d.ts +58 -0
- package/dist/esm/types.js +31 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/dayjs.js +1 -1
- package/package.json +12 -5
- package/src/calculation/mergingCalculation.ts +1 -1
- package/src/chrono.ts +14 -8
- package/src/common/calculation/weekdays.ts +1 -1
- package/src/common/casualReferences.ts +1 -1
- package/src/common/parsers/AbstractParserWithWordBoundary.ts +1 -1
- package/src/common/parsers/AbstractTimeExpressionParser.ts +1 -1
- package/src/common/parsers/ISOFormatParser.ts +1 -1
- package/src/common/refiners/AbstractMergeDateRangeRefiner.ts +13 -8
- package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +7 -201
- package/src/common/refiners/ForwardDateRefiner.ts +18 -16
- package/src/configurations.ts +3 -1
- package/src/index.ts +6 -107
- package/src/locales/de/index.ts +6 -2
- package/src/locales/de/parsers/DECasualTimeParser.ts +1 -1
- package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +1 -1
- package/src/locales/en/configuration.ts +70 -0
- package/src/locales/en/constants.ts +31 -1
- package/src/locales/en/index.ts +11 -65
- package/src/locales/en/parsers/ENTimeExpressionParser.ts +1 -1
- package/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts +3 -3
- package/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts +10 -2
- package/src/locales/en/parsers/ENTimeUnitLaterFormatParser.ts +5 -2
- package/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts +16 -3
- package/src/locales/es/index.ts +6 -2
- package/src/locales/es/parsers/ESCasualTimeParser.ts +1 -1
- package/src/locales/fr/index.ts +6 -2
- package/src/locales/fr/parsers/FRCasualDateParser.ts +1 -1
- package/src/locales/fr/parsers/FRCasualTimeParser.ts +1 -1
- package/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts +1 -1
- package/src/locales/ja/index.ts +6 -2
- package/src/locales/ja/parsers/JPCasualDateParser.ts +26 -3
- package/src/locales/nl/index.ts +6 -2
- package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +1 -1
- package/src/locales/nl/parsers/NLCasualTimeParser.ts +1 -1
- package/src/locales/pt/index.ts +6 -2
- package/src/locales/pt/parsers/PTCasualTimeParser.ts +1 -1
- package/src/locales/ru/constants.ts +4 -1
- package/src/locales/ru/index.ts +6 -2
- package/src/locales/ru/parsers/RUTimeExpressionParser.ts +1 -1
- package/src/locales/uk/constants.ts +349 -0
- package/src/locales/uk/index.ts +90 -0
- package/src/locales/uk/parsers/UKCasualDateParser.ts +50 -0
- package/src/locales/uk/parsers/UKCasualTimeParser.ts +59 -0
- package/src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts +72 -0
- package/src/locales/uk/parsers/UKMonthNameParser.ts +61 -0
- package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +85 -0
- package/src/locales/uk/parsers/UKTimeExpressionParser.ts +64 -0
- package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +24 -0
- package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +34 -0
- package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +27 -0
- package/src/locales/uk/parsers/UKWeekdayParser.ts +59 -0
- package/src/locales/uk/refiners/UKMergeDateRangeRefiner.ts +13 -0
- package/src/locales/uk/refiners/UKMergeDateTimeRefiner.ts +13 -0
- package/src/locales/zh/hans/index.ts +6 -2
- package/src/locales/zh/hant/index.ts +6 -2
- package/src/results.ts +4 -4
- package/src/timezone.ts +124 -7
- package/src/types.ts +150 -0
- package/src/utils/dayjs.ts +1 -1
- package/test/de/de_time_exp.test.ts +7 -7
- package/test/debugging.test.ts +17 -0
- package/test/en/en_month.test.ts +70 -0
- package/test/en/en_month_name_little_endian.test.ts +12 -0
- package/test/en/en_time_units_ago.test.ts +12 -0
- package/test/en/en_time_units_casual_relative.test.ts +18 -0
- package/test/en/en_time_units_later.test.ts +13 -10
- package/test/en/en_time_units_within.test.ts +12 -1
- package/test/en/en_timezone_exp.test.ts +142 -0
- package/test/en/en_weekday.test.ts +26 -0
- package/test/en/negative_cases.test.ts +2 -0
- package/test/fr/fr_time_exp.test.ts +2 -2
- package/test/ja/ja_casual.test.ts +50 -13
- package/test/system.test.ts +23 -1
- package/test/uk/uk_casual.test.ts +153 -0
- package/test/uk/uk_month.test.ts +70 -0
- package/test/uk/uk_month_name_little_endian.test.ts +148 -0
- package/test/uk/uk_relative.test.ts +74 -0
- package/test/uk/uk_time_exp.test.ts +111 -0
- package/test/uk/uk_time_units_ago.test.ts +48 -0
- package/test/uk/uk_time_units_casual_relative.test.ts +112 -0
- package/test/uk/uk_time_units_within.test.ts +16 -0
- package/test/uk/uk_weekday.test.ts +52 -0
|
@@ -3,26 +3,63 @@ import { testSingleCase } from "../test_util";
|
|
|
3
3
|
|
|
4
4
|
test("Test - Single Expression", function () {
|
|
5
5
|
testSingleCase(chrono.ja, "今日感じたことを忘れずに", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
6
|
-
expect(result.index).toBe(0);
|
|
7
6
|
expect(result.text).toBe("今日");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
expect(result.
|
|
12
|
-
expect(result.start.get("day")).toBe(10);
|
|
13
|
-
|
|
7
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
8
|
+
});
|
|
9
|
+
testSingleCase(chrono.ja, "きょう感じたことを忘れずに", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
10
|
+
expect(result.text).toBe("きょう");
|
|
14
11
|
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
15
12
|
});
|
|
16
13
|
|
|
17
14
|
testSingleCase(chrono.ja, "昨日の全国観測値ランキング", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
18
|
-
expect(result.index).toBe(0);
|
|
19
15
|
expect(result.text).toBe("昨日");
|
|
16
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 9, 12));
|
|
17
|
+
});
|
|
18
|
+
testSingleCase(chrono.ja, "きのうの全国観測値ランキング", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
19
|
+
expect(result.text).toBe("きのう");
|
|
20
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 9, 12));
|
|
21
|
+
});
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
expect(result.
|
|
23
|
-
expect(result.start
|
|
24
|
-
|
|
23
|
+
testSingleCase(chrono.ja, "明日の天気は晴れです", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
24
|
+
expect(result.text).toBe("明日");
|
|
25
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 11, 12));
|
|
26
|
+
});
|
|
27
|
+
testSingleCase(chrono.ja, "あしたの天気は晴れです", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
28
|
+
expect(result.text).toBe("あした");
|
|
29
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 11, 12));
|
|
30
|
+
});
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
testSingleCase(chrono.ja, "今夜には雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
33
|
+
expect(result.text).toBe("今夜");
|
|
34
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
35
|
+
});
|
|
36
|
+
testSingleCase(chrono.ja, "こんやには雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
37
|
+
expect(result.text).toBe("こんや");
|
|
38
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
39
|
+
});
|
|
40
|
+
testSingleCase(chrono.ja, "今夕には雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
41
|
+
expect(result.text).toBe("今夕");
|
|
42
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
43
|
+
});
|
|
44
|
+
testSingleCase(chrono.ja, "こんゆうには雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
45
|
+
expect(result.text).toBe("こんゆう");
|
|
46
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
47
|
+
});
|
|
48
|
+
testSingleCase(chrono.ja, "今晩には雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
49
|
+
expect(result.text).toBe("今晩");
|
|
50
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
51
|
+
});
|
|
52
|
+
testSingleCase(chrono.ja, "こんばんには雨が降るでしょう", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
53
|
+
expect(result.text).toBe("こんばん");
|
|
54
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 22));
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
testSingleCase(chrono.ja, "今朝食べたパンは美味しかった", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
58
|
+
expect(result.text).toBe("今朝");
|
|
59
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 6));
|
|
60
|
+
});
|
|
61
|
+
testSingleCase(chrono.ja, "けさ食べたパンは美味しかった", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
62
|
+
expect(result.text).toBe("けさ");
|
|
63
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 6));
|
|
27
64
|
});
|
|
28
65
|
});
|
package/test/system.test.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as chrono from "../src/";
|
|
2
|
-
import { testSingleCase } from "./test_util";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "./test_util";
|
|
3
3
|
import { Meridiem } from "../src";
|
|
4
4
|
import UnlikelyFormatFilter from "../src/common/refiners/UnlikelyFormatFilter";
|
|
5
5
|
import SlashDateFormatParser from "../src/common/parsers/SlashDateFormatParser";
|
|
6
|
+
import ENWeekdayParser from "../src/locales/en/parsers/ENWeekdayParser";
|
|
7
|
+
import ENTimeUnitCasualRelativeFormatParser from "../src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser";
|
|
6
8
|
|
|
7
9
|
//-------------------------------------
|
|
8
10
|
|
|
@@ -146,6 +148,26 @@ test("Test - Remove a refiner example", () => {
|
|
|
146
148
|
});
|
|
147
149
|
});
|
|
148
150
|
|
|
151
|
+
test("Test - Replace a parser example", () => {
|
|
152
|
+
const custom = chrono.en.casual.clone();
|
|
153
|
+
testSingleCase(custom, "next 5m", new Date(2016, 10 - 1, 1, 14, 52), (result, text) => {
|
|
154
|
+
expect(result.start.get("hour")).toBe(14);
|
|
155
|
+
expect(result.start.get("minute")).toBe(57);
|
|
156
|
+
});
|
|
157
|
+
testSingleCase(custom, "next 5 minutes", new Date(2016, 10 - 1, 1, 14, 52), (result, text) => {
|
|
158
|
+
expect(result.start.get("hour")).toBe(14);
|
|
159
|
+
expect(result.start.get("minute")).toBe(57);
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
const index = custom.parsers.findIndex((r) => r instanceof ENTimeUnitCasualRelativeFormatParser);
|
|
163
|
+
custom.parsers[index] = new ENTimeUnitCasualRelativeFormatParser(false);
|
|
164
|
+
testUnexpectedResult(custom, "next 5m");
|
|
165
|
+
testSingleCase(custom, "next 5 minutes", new Date(2016, 10 - 1, 1, 14, 52), (result, text) => {
|
|
166
|
+
expect(result.start.get("hour")).toBe(14);
|
|
167
|
+
expect(result.start.get("minute")).toBe(57);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
|
|
149
171
|
test("Test - Compare with native js", () => {
|
|
150
172
|
const testByCompareWithNative = (text) => {
|
|
151
173
|
const expectedDate = new Date(text);
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import * as chrono from "../../src/";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single Expression", () => {
|
|
5
|
+
testSingleCase(chrono.uk.casual, "Дедлайн сьогодні", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
6
|
+
expect(result.index).toBe(8);
|
|
7
|
+
expect(result.text).toBe("сьогодні");
|
|
8
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 10));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
testSingleCase(chrono.uk.casual, "Дедлайн завтра", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
12
|
+
expect(result.index).toBe(8);
|
|
13
|
+
expect(result.text).toBe("завтра");
|
|
14
|
+
expect(result.start).toBeDate(new Date(2012, 7, 11, 17, 10));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
testSingleCase(chrono.uk.casual, "Дедлайн післязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
18
|
+
expect(result.index).toBe(8);
|
|
19
|
+
expect(result.text).toBe("післязавтра");
|
|
20
|
+
expect(result.start).toBeDate(new Date(2012, 7, 12, 17, 10));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
testSingleCase(chrono.uk.casual, "Дедлайн післяпіслязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
24
|
+
expect(result.index).toBe(8);
|
|
25
|
+
expect(result.text).toBe("післяпіслязавтра");
|
|
26
|
+
expect(result.start).toBeDate(new Date(2012, 7, 13, 17, 10));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
testSingleCase(chrono.uk.casual, "Дедлайн вчора", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
30
|
+
expect(result.index).toBe(8);
|
|
31
|
+
expect(result.text).toBe("вчора");
|
|
32
|
+
expect(result.start).toBeDate(new Date(2012, 7, 9, 17, 10));
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
testSingleCase(chrono.uk.casual, "Дедлайн позавчора", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
36
|
+
expect(result.index).toBe(8);
|
|
37
|
+
expect(result.text).toBe("позавчора");
|
|
38
|
+
expect(result.start).toBeDate(new Date(2012, 7, 8, 17, 10));
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
testSingleCase(chrono.uk.casual, "Дедлайн позапозавчора", new Date(2012, 7, 10, 17, 10), (result) => {
|
|
42
|
+
expect(result.index).toBe(8);
|
|
43
|
+
expect(result.text).toBe("позапозавчора");
|
|
44
|
+
expect(result.start).toBeDate(new Date(2012, 7, 7, 17, 10));
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
testSingleCase(chrono.uk.casual, "Дедлайн зараз", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
48
|
+
expect(result.index).toBe(8);
|
|
49
|
+
expect(result.text).toBe("зараз");
|
|
50
|
+
expect(result.start).toBeDate(result.refDate);
|
|
51
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
testSingleCase(chrono.uk.casual, "Дедлайн вранці", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
55
|
+
expect(result.index).toBe(8);
|
|
56
|
+
expect(result.text).toBe("вранці");
|
|
57
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
testSingleCase(chrono.uk.casual, "Дедлайн цього ранку", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
61
|
+
expect(result.index).toBe(8);
|
|
62
|
+
expect(result.text).toBe("цього ранку");
|
|
63
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
testSingleCase(chrono.uk.casual, "Дедлайн опівдні", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
67
|
+
expect(result.index).toBe(8);
|
|
68
|
+
expect(result.text).toBe("опівдні");
|
|
69
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 0, 0, 0));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
testSingleCase(chrono.uk.casual, "Дедлайн минулого вечора", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
73
|
+
expect(result.index).toBe(8);
|
|
74
|
+
expect(result.text).toBe("минулого вечора");
|
|
75
|
+
expect(result.start).toBeDate(new Date(2012, 7, 9, 20, 0, 0, 0));
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
testSingleCase(chrono.uk.casual, "Дедлайн ввечері", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
79
|
+
expect(result.index).toBe(8);
|
|
80
|
+
expect(result.text).toBe("ввечері");
|
|
81
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 20, 0, 0, 0));
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
testSingleCase(chrono.uk.casual, "Дедлайн минулої ночі", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
85
|
+
expect(result.index).toBe(8);
|
|
86
|
+
expect(result.text).toBe("минулої ночі");
|
|
87
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
testSingleCase(chrono.uk.casual, "Дедлайн сьогодні вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
|
91
|
+
expect(result.index).toBe(8);
|
|
92
|
+
expect(result.text).toBe("сьогодні вночі");
|
|
93
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
testSingleCase(chrono.uk.casual, "Дедлайн цієї ночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
|
97
|
+
expect(result.index).toBe(8);
|
|
98
|
+
expect(result.text).toBe("цієї ночі");
|
|
99
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
testSingleCase(chrono.uk.casual, "Дедлайн вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
|
103
|
+
expect(result.index).toBe(8);
|
|
104
|
+
expect(result.text).toBe("вночі");
|
|
105
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
testSingleCase(chrono.uk.casual, "Дедлайн опівночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
|
109
|
+
expect(result.index).toBe(8);
|
|
110
|
+
expect(result.text).toBe("опівночі");
|
|
111
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
test("Test - Combined Expression", () => {
|
|
116
|
+
testSingleCase(chrono.uk.casual, "Дедлайн вчора ввечері", new Date(2012, 7, 10, 12), (result) => {
|
|
117
|
+
expect(result.index).toBe(8);
|
|
118
|
+
expect(result.text).toBe("вчора ввечері");
|
|
119
|
+
expect(result.start).toBeDate(new Date(2012, 7, 9, 20));
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
testSingleCase(chrono.uk.casual, "Дедлайн завтра вранці", new Date(2012, 8, 10, 14), (result) => {
|
|
123
|
+
expect(result.index).toBe(8);
|
|
124
|
+
expect(result.text).toBe("завтра вранці");
|
|
125
|
+
expect(result.start).toBeDate(new Date(2012, 8, 11, 6));
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
test("Test - Casual date range", () => {
|
|
130
|
+
testSingleCase(chrono.uk.casual, "Подія від сьогодні і до післязавтра", new Date(2012, 7, 4, 12), (result) => {
|
|
131
|
+
expect(result.index).toBe(6);
|
|
132
|
+
expect(result.text).toBe("від сьогодні і до післязавтра");
|
|
133
|
+
expect(result.start).toBeDate(new Date(2012, 7, 4, 12));
|
|
134
|
+
expect(result.end).toBeDate(new Date(2012, 7, 6, 12));
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
testSingleCase(chrono.uk.casual, "Подія сьогодні-завтра", new Date(2012, 7, 10, 12), (result) => {
|
|
138
|
+
expect(result.index).toBe(6);
|
|
139
|
+
expect(result.text).toBe("сьогодні-завтра");
|
|
140
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
|
|
141
|
+
expect(result.end).toBeDate(new Date(2012, 7, 11, 12));
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
test("Test - Random negative text", () => {
|
|
146
|
+
testUnexpectedResult(chrono.uk, "несьогодні");
|
|
147
|
+
|
|
148
|
+
testUnexpectedResult(chrono.uk, "звтра");
|
|
149
|
+
|
|
150
|
+
testUnexpectedResult(chrono.uk, "ввчора");
|
|
151
|
+
|
|
152
|
+
testUnexpectedResult(chrono.uk, "січен");
|
|
153
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Month-Year expression", function () {
|
|
5
|
+
testSingleCase(chrono.uk, "Вересень 2012", (result) => {
|
|
6
|
+
expect(result.index).toBe(0);
|
|
7
|
+
expect(result.text).toBe("Вересень 2012");
|
|
8
|
+
expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
testSingleCase(chrono.uk, "верес 2012", (result) => {
|
|
12
|
+
expect(result.index).toBe(0);
|
|
13
|
+
expect(result.text).toBe("верес 2012");
|
|
14
|
+
expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
testSingleCase(chrono.uk, "верес. 2012", (result) => {
|
|
18
|
+
expect(result.index).toBe(0);
|
|
19
|
+
expect(result.text).toBe("верес. 2012");
|
|
20
|
+
expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
testSingleCase(chrono.uk, "верес-2012", (result) => {
|
|
24
|
+
expect(result.index).toBe(0);
|
|
25
|
+
expect(result.text).toBe("верес-2012");
|
|
26
|
+
expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test("Test - Month-Only expression", function () {
|
|
31
|
+
testSingleCase(chrono.uk, "в січні", new Date(2020, 11 - 1, 22), (result) => {
|
|
32
|
+
expect(result.index).toBe(0);
|
|
33
|
+
expect(result.text).toBe("в січні");
|
|
34
|
+
expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
testSingleCase(chrono.uk, "в січ", new Date(2020, 11 - 1, 22), (result) => {
|
|
38
|
+
expect(result.index).toBe(0);
|
|
39
|
+
expect(result.text).toBe("в січ");
|
|
40
|
+
expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
testSingleCase(chrono.uk, "травень", new Date(2020, 11 - 1, 22), (result) => {
|
|
44
|
+
expect(result.index).toBe(0);
|
|
45
|
+
expect(result.text).toBe("травень");
|
|
46
|
+
expect(result.start).toBeDate(new Date(2021, 5 - 1, 1, 12));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test("Test - Month expression in context", function () {
|
|
51
|
+
testSingleCase(chrono.uk, "Це було у вересні 2012 перед новим роком", (result) => {
|
|
52
|
+
expect(result.index).toBe(8);
|
|
53
|
+
expect(result.text).toBe("у вересні 2012");
|
|
54
|
+
expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test("Test - year 90's parsing", () => {
|
|
59
|
+
testSingleCase(chrono.uk, "сер 96", new Date(2012, 7, 10), (result) => {
|
|
60
|
+
expect(result.index).toBe(0);
|
|
61
|
+
expect(result.text).toBe("сер 96");
|
|
62
|
+
expect(result.start).toBeDate(new Date(1996, 8 - 1, 1, 12));
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
testSingleCase(chrono.uk, "96 сер 96", new Date(2012, 7, 10), (result) => {
|
|
66
|
+
expect(result.index).toBe(3);
|
|
67
|
+
expect(result.text).toBe("сер 96");
|
|
68
|
+
expect(result.start).toBeDate(new Date(1996, 8 - 1, 1, 12));
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single expression", () => {
|
|
5
|
+
testSingleCase(chrono.uk, "10.08.2012", new Date(2012, 7, 10), (result) => {
|
|
6
|
+
expect(result.index).toBe(0);
|
|
7
|
+
expect(result.text).toBe("10.08.2012");
|
|
8
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
testSingleCase(chrono.uk, "10 серпня 2012", new Date(2012, 7, 10), (result) => {
|
|
12
|
+
expect(result.index).toBe(0);
|
|
13
|
+
expect(result.text).toBe("10 серпня 2012");
|
|
14
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
testSingleCase(chrono.uk, "3 лют 82", new Date(2012, 7, 10), (result) => {
|
|
18
|
+
expect(result.index).toBe(0);
|
|
19
|
+
expect(result.text).toBe("3 лют 82");
|
|
20
|
+
expect(result.start).toBeDate(new Date(1982, 2 - 1, 3, 12));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
testSingleCase(chrono.uk, "Дедлайн 10 серпня", new Date(2012, 7, 10), (result) => {
|
|
24
|
+
expect(result.index).toBe(8);
|
|
25
|
+
expect(result.text).toBe("10 серпня");
|
|
26
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
testSingleCase(chrono.uk, "Дедлайн Четвер, 10 січня", new Date(2012, 7, 10), (result) => {
|
|
30
|
+
expect(result.index).toBe(8);
|
|
31
|
+
expect(result.text).toBe("Четвер, 10 січня");
|
|
32
|
+
expect(result.start).toBeDate(new Date(2013, 1 - 1, 10, 12));
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test("Test - Single expression with separators", () => {
|
|
37
|
+
testSingleCase(chrono.uk, "10-серпня 2012", new Date(2012, 7, 8), (result, text) => {
|
|
38
|
+
expect(result.text).toBe(text);
|
|
39
|
+
expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
testSingleCase(chrono.uk, "10-серпня-2012", new Date(2012, 7, 8), (result, text) => {
|
|
43
|
+
expect(result.text).toBe(text);
|
|
44
|
+
expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
testSingleCase(chrono.uk, "10/серпня 2012", new Date(2012, 7, 8), (result, text) => {
|
|
48
|
+
expect(result.text).toBe(text);
|
|
49
|
+
expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
testSingleCase(chrono.uk, "10/серпня/2012", new Date(2012, 7, 8), (result, text) => {
|
|
53
|
+
expect(result.text).toBe(text);
|
|
54
|
+
expect(result).toBeDate(new Date(2012, 8 - 1, 10, 12, 0));
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test("Test - Range expression", () => {
|
|
59
|
+
testSingleCase(chrono.uk, "10 - 22 серпня 2012", new Date(2012, 7, 10), (result) => {
|
|
60
|
+
expect(result.index).toBe(0);
|
|
61
|
+
expect(result.text).toBe("10 - 22 серпня 2012");
|
|
62
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
63
|
+
expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
testSingleCase(chrono.uk, "із 10 по 22 серпня 2012", new Date(2012, 7, 10), (result) => {
|
|
67
|
+
expect(result.index).toBe(0);
|
|
68
|
+
expect(result.text).toBe("із 10 по 22 серпня 2012");
|
|
69
|
+
|
|
70
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
71
|
+
expect(result.end).toBeDate(new Date(2012, 8 - 1, 22, 12));
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
testSingleCase(chrono.uk, "10 серпня - 12 вересня", new Date(2012, 7, 10), (result) => {
|
|
75
|
+
expect(result.index).toBe(0);
|
|
76
|
+
expect(result.text).toBe("10 серпня - 12 вересня");
|
|
77
|
+
|
|
78
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
|
|
79
|
+
expect(result.end).toBeDate(new Date(2012, 9 - 1, 12, 12));
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
testSingleCase(chrono.uk, "10 серпня - 12 вересня 2013", new Date(2012, 7, 10), (result) => {
|
|
83
|
+
expect(result.index).toBe(0);
|
|
84
|
+
expect(result.text).toBe("10 серпня - 12 вересня 2013");
|
|
85
|
+
|
|
86
|
+
expect(result.start).toBeDate(new Date(2013, 8 - 1, 10, 12));
|
|
87
|
+
expect(result.end).toBeDate(new Date(2013, 9 - 1, 12, 12));
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test("Test - Combined expression", () => {
|
|
92
|
+
testSingleCase(chrono.uk, "5 травня 12:00", new Date(2012, 7, 10), (result) => {
|
|
93
|
+
expect(result.index).toBe(0);
|
|
94
|
+
expect(result.text).toBe("5 травня 12:00");
|
|
95
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test("Test - Ordinal Words", () => {
|
|
100
|
+
testSingleCase(chrono.uk, "п'яте травня", new Date(2012, 7, 10), (result) => {
|
|
101
|
+
expect(result.index).toBe(0);
|
|
102
|
+
expect(result.text).toBe("п'яте травня");
|
|
103
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 5, 12, 0));
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
test("Test - Ordinal Words", () => {
|
|
108
|
+
testSingleCase(chrono.uk, "двадцять п'яте травня", new Date(2012, 1, 10), (result) => {
|
|
109
|
+
expect(result.index).toBe(0);
|
|
110
|
+
expect(result.text).toBe("двадцять п'яте травня");
|
|
111
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 25, 12, 0));
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
test("Test - little endian date followed by time", () => {
|
|
116
|
+
testSingleCase(chrono.uk, "24го жовтня, 9:00", new Date(2017, 7 - 1, 7, 15), (result) => {
|
|
117
|
+
expect(result.index).toBe(0);
|
|
118
|
+
expect(result.text).toBe("24го жовтня, 9:00");
|
|
119
|
+
expect(result.start).toBeDate(new Date(2017, 10 - 1, 24, 9));
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
test("Test - year 90's parsing", () => {
|
|
124
|
+
testSingleCase(chrono.uk, "03 сер 96", new Date(2012, 7, 10), (result) => {
|
|
125
|
+
expect(result.index).toBe(0);
|
|
126
|
+
expect(result.text).toBe("03 сер 96");
|
|
127
|
+
expect(result.start).toBeDate(new Date(1996, 8 - 1, 3, 12));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
test("Test - Forward Option", () => {
|
|
132
|
+
testSingleCase(chrono.uk.casual, "22-23 лют в 7", new Date(2016, 3 - 1, 15), { forwardDate: true }, (result) => {
|
|
133
|
+
expect(result.index).toBe(0);
|
|
134
|
+
expect(result.text).toBe("22-23 лют в 7");
|
|
135
|
+
expect(result.start).toBeDate(new Date(2017, 2 - 1, 22, 7));
|
|
136
|
+
expect(result.end).toBeDate(new Date(2017, 2 - 1, 23, 7));
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
test("Test - Impossible Dates (Strict Mode)", function () {
|
|
141
|
+
testUnexpectedResult(chrono.uk.strict, "32 серпня 2014", new Date(2012, 7, 10));
|
|
142
|
+
|
|
143
|
+
testUnexpectedResult(chrono.uk.strict, "29 лютого 2014", new Date(2012, 7, 10));
|
|
144
|
+
|
|
145
|
+
testUnexpectedResult(chrono.uk.strict, "32 серпня", new Date(2012, 7, 10));
|
|
146
|
+
|
|
147
|
+
testUnexpectedResult(chrono.uk.strict, "29 лютого", new Date(2013, 7, 10));
|
|
148
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - 'This' expressions", () => {
|
|
5
|
+
testSingleCase(chrono.uk, "на цьому тижні", new Date(2017, 11 - 1, 19, 12), (result, text) => {
|
|
6
|
+
expect(result.index).toBe(0);
|
|
7
|
+
expect(result.text).toBe(text);
|
|
8
|
+
expect(result.start).toBeDate(new Date(2017, 11 - 1, 19, 12));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
testSingleCase(chrono.uk, "у цьому місяці", new Date(2017, 11 - 1, 19, 12), (result, text) => {
|
|
12
|
+
expect(result.index).toBe(0);
|
|
13
|
+
expect(result.text).toBe(text);
|
|
14
|
+
expect(result.start).toBeDate(new Date(2017, 11 - 1, 1, 12));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
testSingleCase(chrono.uk, "цього місяця", new Date(2017, 11 - 1, 1, 12), (result, text) => {
|
|
18
|
+
expect(result.index).toBe(0);
|
|
19
|
+
expect(result.text).toBe(text);
|
|
20
|
+
expect(result.start).toBeDate(new Date(2017, 11 - 1, 1, 12));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
testSingleCase(chrono.uk, "у цьому році", new Date(2017, 11 - 1, 19, 12), (result, text) => {
|
|
24
|
+
expect(result.index).toBe(0);
|
|
25
|
+
expect(result.text).toBe(text);
|
|
26
|
+
expect(result.start).toBeDate(new Date(2017, 1 - 1, 1, 12));
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test("Test - Past relative expressions", () => {
|
|
31
|
+
testSingleCase(chrono.uk, "на минулому тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
32
|
+
expect(result.index).toBe(0);
|
|
33
|
+
expect(result.text).toBe(text);
|
|
34
|
+
expect(result.start).toBeDate(new Date(2016, 9 - 1, 24, 12));
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
testSingleCase(chrono.uk, "минулого місяця", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
38
|
+
expect(result.index).toBe(0);
|
|
39
|
+
expect(result.text).toBe(text);
|
|
40
|
+
expect(result.start).toBeDate(new Date(2016, 9 - 1, 1, 12));
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
testSingleCase(chrono.uk, "у минулому році", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
44
|
+
expect(result.index).toBe(0);
|
|
45
|
+
expect(result.text).toBe(text);
|
|
46
|
+
expect(result.start).toBeDate(new Date(2015, 10 - 1, 1, 12));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test("Test - Future relative expressions", () => {
|
|
51
|
+
testSingleCase(chrono.uk, "на наступному тижні", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
52
|
+
expect(result.index).toBe(0);
|
|
53
|
+
expect(result.text).toBe(text);
|
|
54
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 8, 12));
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
testSingleCase(chrono.uk, "наступного місяця", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
58
|
+
expect(result.index).toBe(0);
|
|
59
|
+
expect(result.text).toBe(text);
|
|
60
|
+
expect(result.start).toBeDate(new Date(2016, 11 - 1, 1, 12));
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
testSingleCase(chrono.uk, "в наступному кварталі", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
64
|
+
expect(result.index).toBe(0);
|
|
65
|
+
expect(result.text).toBe(text);
|
|
66
|
+
expect(result.start).toBeDate(new Date(2017, 1 - 1, 1, 12));
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
testSingleCase(chrono.uk, "наступного року", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
70
|
+
expect(result.index).toBe(0);
|
|
71
|
+
expect(result.text).toBe(text);
|
|
72
|
+
expect(result.start).toBeDate(new Date(2017, 10 - 1, 1, 12));
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Time expression", function () {
|
|
5
|
+
testSingleCase(chrono.uk, "20:32:13", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
6
|
+
expect(result.index).toBe(0);
|
|
7
|
+
expect(result.text).toBe(text);
|
|
8
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 20, 32, 13));
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
test("Test - Time range expression", function () {
|
|
13
|
+
testSingleCase(chrono.uk, "10:00:00 - 21:45:01", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
14
|
+
expect(result.index).toBe(0);
|
|
15
|
+
expect(result.text).toBe(text);
|
|
16
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 10));
|
|
17
|
+
expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 21, 45, 1));
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test("Test - Casual time number expression", function () {
|
|
22
|
+
testSingleCase(chrono.uk, "об 11 ранку", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
23
|
+
expect(result.index).toBe(0);
|
|
24
|
+
expect(result.text).toBe(text);
|
|
25
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 11));
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
testSingleCase(chrono.uk, "в 11 вечора", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
29
|
+
expect(result.index).toBe(0);
|
|
30
|
+
expect(result.text).toBe(text);
|
|
31
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 23));
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
test("Test - Time range's meridiem handling", function () {
|
|
36
|
+
testSingleCase(chrono.uk, "з 10 до 11 ранку", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
37
|
+
expect(result.index).toBe(0);
|
|
38
|
+
expect(result.text).toBe(text);
|
|
39
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 10));
|
|
40
|
+
expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 11));
|
|
41
|
+
});
|
|
42
|
+
testSingleCase(chrono.uk, "із 10 до 11 вечора", new Date(2016, 10 - 1, 1, 8), (result, text) => {
|
|
43
|
+
expect(result.index).toBe(0);
|
|
44
|
+
expect(result.text).toBe(text);
|
|
45
|
+
expect(result.start).toBeDate(new Date(2016, 10 - 1, 1, 22));
|
|
46
|
+
expect(result.end).toBeDate(new Date(2016, 10 - 1, 1, 23));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test("Test - Parsing causal positive cases", function () {
|
|
51
|
+
testSingleCase(chrono.uk.casual, "в 1", (result) => {
|
|
52
|
+
expect(result.index).toBe(0);
|
|
53
|
+
expect(result.text).toBe("в 1");
|
|
54
|
+
expect(result.start.get("hour")).toBe(1);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
testSingleCase(chrono.uk.casual, "о 12", (result) => {
|
|
58
|
+
expect(result.index).toBe(0);
|
|
59
|
+
expect(result.text).toBe("о 12");
|
|
60
|
+
expect(result.start.get("hour")).toBe(12);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
testSingleCase(chrono.uk.casual, "в 12.30", (result) => {
|
|
64
|
+
expect(result.index).toBe(0);
|
|
65
|
+
expect(result.text).toBe("в 12.30");
|
|
66
|
+
expect(result.start.get("hour")).toBe(12);
|
|
67
|
+
expect(result.start.get("minute")).toBe(30);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
test("Test - Parsing negative cases : [year-like] pattern", function () {
|
|
72
|
+
testUnexpectedResult(chrono.uk, "2020");
|
|
73
|
+
|
|
74
|
+
testUnexpectedResult(chrono.uk, "2020 ");
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
test("Test - Parsing negative cases : 'at [some numbers]'", function () {
|
|
78
|
+
testUnexpectedResult(chrono.uk, "Температура 101,194 градусів!");
|
|
79
|
+
|
|
80
|
+
testUnexpectedResult(chrono.uk, "Температура 101 градусів!");
|
|
81
|
+
|
|
82
|
+
testUnexpectedResult(chrono.uk, "Температура 10.1");
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test("Test - Parsing negative cases : 'at [some numbers] - [some numbers]'", function () {
|
|
86
|
+
testUnexpectedResult(chrono.uk, "Це в 10.1 - 10.12");
|
|
87
|
+
|
|
88
|
+
testUnexpectedResult(chrono.uk, "Це в 10 - 10.1");
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test("Test - Parsing negative cases (Strict)", function () {
|
|
92
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 101,194 телефон!");
|
|
93
|
+
|
|
94
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 101 стіл!");
|
|
95
|
+
|
|
96
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 10.1");
|
|
97
|
+
|
|
98
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 10");
|
|
99
|
+
|
|
100
|
+
testUnexpectedResult(chrono.uk.strict, "2020");
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
test("Test - Parsing negative cases : 'at [some numbers] - [some numbers]' (Strict)", function () {
|
|
104
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 10.1 - 10.12");
|
|
105
|
+
|
|
106
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 10 - 10.1");
|
|
107
|
+
|
|
108
|
+
testUnexpectedResult(chrono.uk.strict, "Це в 10 - 20");
|
|
109
|
+
|
|
110
|
+
testUnexpectedResult(chrono.uk.strict, "7-730");
|
|
111
|
+
});
|