chrono-node 2.3.7 → 2.4.1
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 +2 -2
- package/dist/calculation/mergingCalculation.js +1 -0
- package/dist/calculation/mergingCalculation.js.map +1 -0
- package/dist/calculation/weeks.js +1 -0
- package/dist/calculation/weeks.js.map +1 -0
- package/dist/calculation/years.js +1 -0
- package/dist/calculation/years.js.map +1 -0
- package/dist/chrono.js +1 -0
- package/dist/chrono.js.map +1 -0
- package/dist/common/abstractRefiners.js +1 -0
- package/dist/common/abstractRefiners.js.map +1 -0
- package/dist/common/calculation/weekdays.d.ts +7 -0
- package/dist/common/calculation/weekdays.js +68 -0
- package/dist/common/calculation/weekdays.js.map +1 -0
- package/dist/common/casualReferences.d.ts +8 -0
- package/dist/common/casualReferences.js +65 -9
- package/dist/common/casualReferences.js.map +1 -0
- package/dist/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -0
- package/dist/common/parsers/AbstractParserWithWordBoundary.js +5 -1
- package/dist/common/parsers/AbstractParserWithWordBoundary.js.map +1 -0
- package/dist/common/parsers/AbstractTimeExpressionParser.d.ts +2 -0
- package/dist/common/parsers/AbstractTimeExpressionParser.js +40 -27
- package/dist/common/parsers/AbstractTimeExpressionParser.js.map +1 -0
- package/dist/common/parsers/ISOFormatParser.js +1 -0
- package/dist/common/parsers/ISOFormatParser.js.map +1 -0
- package/dist/common/parsers/SlashDateFormatParser.js +1 -0
- package/dist/common/parsers/SlashDateFormatParser.js.map +1 -0
- package/dist/common/refiners/AbstractMergeDateRangeRefiner.js +1 -0
- package/dist/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -0
- package/dist/common/refiners/AbstractMergeDateTimeRefiner.js +1 -0
- package/dist/common/refiners/AbstractMergeDateTimeRefiner.js.map +1 -0
- package/dist/common/refiners/ExtractTimezoneAbbrRefiner.js +2 -1
- package/dist/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -0
- package/dist/common/refiners/ExtractTimezoneOffsetRefiner.js +5 -1
- package/dist/common/refiners/ExtractTimezoneOffsetRefiner.js.map +1 -0
- package/dist/common/refiners/ForwardDateRefiner.js +1 -0
- package/dist/common/refiners/ForwardDateRefiner.js.map +1 -0
- package/dist/common/refiners/MergeWeekdayComponentRefiner.js +1 -0
- package/dist/common/refiners/MergeWeekdayComponentRefiner.js.map +1 -0
- package/dist/common/refiners/OverlapRemovalRefiner.js +1 -0
- package/dist/common/refiners/OverlapRemovalRefiner.js.map +1 -0
- package/dist/common/refiners/UnlikelyFormatFilter.js +1 -0
- package/dist/common/refiners/UnlikelyFormatFilter.js.map +1 -0
- package/dist/configurations.js +1 -0
- package/dist/configurations.js.map +1 -0
- package/dist/debugging.js +1 -0
- package/dist/debugging.js.map +1 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -0
- package/dist/locales/de/constants.d.ts +3 -3
- package/dist/locales/de/constants.js +39 -20
- package/dist/locales/de/constants.js.map +1 -0
- package/dist/locales/de/index.js +5 -0
- package/dist/locales/de/index.js.map +1 -0
- package/dist/locales/de/parsers/DECasualDateParser.js +1 -0
- package/dist/locales/de/parsers/DECasualDateParser.js.map +1 -0
- package/dist/locales/de/parsers/DECasualTimeParser.js +1 -0
- package/dist/locales/de/parsers/DECasualTimeParser.js.map +1 -0
- package/dist/locales/de/parsers/DEMonthNameLittleEndianParser.js +1 -0
- package/dist/locales/de/parsers/DEMonthNameLittleEndianParser.js.map +1 -0
- package/dist/locales/de/parsers/DESpecificTimeExpressionParser.d.ts +7 -0
- package/dist/locales/de/parsers/DESpecificTimeExpressionParser.js +115 -0
- package/dist/locales/de/parsers/DESpecificTimeExpressionParser.js.map +1 -0
- package/dist/locales/de/parsers/DETimeExpressionParser.d.ts +0 -1
- package/dist/locales/de/parsers/DETimeExpressionParser.js +4 -21
- package/dist/locales/de/parsers/DETimeExpressionParser.js.map +1 -0
- package/dist/locales/de/parsers/DETimeUnitRelativeFormatParser.d.ts +8 -0
- package/dist/locales/de/parsers/DETimeUnitRelativeFormatParser.js +35 -0
- package/dist/locales/de/parsers/DETimeUnitRelativeFormatParser.js.map +1 -0
- package/dist/locales/de/parsers/DEWeekdayParser.js +3 -8
- package/dist/locales/de/parsers/DEWeekdayParser.js.map +1 -0
- package/dist/locales/de/refiners/DEMergeDateRangeRefiner.js +1 -0
- package/dist/locales/de/refiners/DEMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/de/refiners/DEMergeDateTimeRefiner.js +1 -0
- package/dist/locales/de/refiners/DEMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/en/constants.d.ts +4 -3
- package/dist/locales/en/constants.js +4 -0
- package/dist/locales/en/constants.js.map +1 -0
- package/dist/locales/en/index.js +1 -0
- package/dist/locales/en/index.js.map +1 -0
- package/dist/locales/en/parsers/ENCasualDateParser.js +1 -0
- package/dist/locales/en/parsers/ENCasualDateParser.js.map +1 -0
- package/dist/locales/en/parsers/ENCasualTimeParser.js +1 -0
- package/dist/locales/en/parsers/ENCasualTimeParser.js.map +1 -0
- package/dist/locales/en/parsers/ENCasualYearMonthDayParser.js +1 -0
- package/dist/locales/en/parsers/ENCasualYearMonthDayParser.js.map +1 -0
- package/dist/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -0
- package/dist/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -0
- package/dist/locales/en/parsers/ENMonthNameMiddleEndianParser.js +1 -0
- package/dist/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -0
- package/dist/locales/en/parsers/ENMonthNameParser.js +1 -0
- package/dist/locales/en/parsers/ENMonthNameParser.js.map +1 -0
- package/dist/locales/en/parsers/ENRelativeDateFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENSlashMonthFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENSlashMonthFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENTimeExpressionParser.js +1 -0
- package/dist/locales/en/parsers/ENTimeExpressionParser.js.map +1 -0
- package/dist/locales/en/parsers/ENTimeUnitAgoFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENTimeUnitWithinFormatParser.js +1 -0
- package/dist/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/locales/en/parsers/ENWeekdayParser.js +4 -9
- package/dist/locales/en/parsers/ENWeekdayParser.js.map +1 -0
- package/dist/locales/en/refiners/ENMergeDateRangeRefiner.js +1 -0
- package/dist/locales/en/refiners/ENMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/en/refiners/ENMergeDateTimeRefiner.js +1 -0
- package/dist/locales/en/refiners/ENMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/en/refiners/ENMergeRelativeDateRefiner.js +1 -0
- package/dist/locales/en/refiners/ENMergeRelativeDateRefiner.js.map +1 -0
- package/dist/locales/fr/constants.js +1 -0
- package/dist/locales/fr/constants.js.map +1 -0
- package/dist/locales/fr/index.js +1 -0
- package/dist/locales/fr/index.js.map +1 -0
- package/dist/locales/fr/parsers/FRCasualDateParser.js +1 -0
- package/dist/locales/fr/parsers/FRCasualDateParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRCasualTimeParser.js +1 -0
- package/dist/locales/fr/parsers/FRCasualTimeParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRMonthNameLittleEndianParser.js +1 -0
- package/dist/locales/fr/parsers/FRMonthNameLittleEndianParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -0
- package/dist/locales/fr/parsers/FRSpecificTimeExpressionParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRTimeExpressionParser.js +1 -0
- package/dist/locales/fr/parsers/FRTimeExpressionParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRTimeUnitAgoFormatParser.js +1 -0
- package/dist/locales/fr/parsers/FRTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +1 -0
- package/dist/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRTimeUnitWithinFormatParser.js +2 -1
- package/dist/locales/fr/parsers/FRTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/locales/fr/parsers/FRWeekdayParser.js +5 -10
- package/dist/locales/fr/parsers/FRWeekdayParser.js.map +1 -0
- package/dist/locales/fr/refiners/FRMergeDateRangeRefiner.js +1 -0
- package/dist/locales/fr/refiners/FRMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/fr/refiners/FRMergeDateTimeRefiner.js +1 -0
- package/dist/locales/fr/refiners/FRMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/ja/constants.js +1 -0
- package/dist/locales/ja/constants.js.map +1 -0
- package/dist/locales/ja/index.js +1 -0
- package/dist/locales/ja/index.js.map +1 -0
- package/dist/locales/ja/parsers/JPCasualDateParser.js +1 -0
- package/dist/locales/ja/parsers/JPCasualDateParser.js.map +1 -0
- package/dist/locales/ja/parsers/JPStandardParser.js +1 -0
- package/dist/locales/ja/parsers/JPStandardParser.js.map +1 -0
- package/dist/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -0
- package/dist/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/nl/constants.js +1 -0
- package/dist/locales/nl/constants.js.map +1 -0
- package/dist/locales/nl/index.js +1 -0
- package/dist/locales/nl/index.js.map +1 -0
- package/dist/locales/nl/parsers/NLCasualDateParser.js +1 -0
- package/dist/locales/nl/parsers/NLCasualDateParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLCasualDateTimeParser.js +1 -0
- package/dist/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLCasualTimeParser.js +1 -0
- package/dist/locales/nl/parsers/NLCasualTimeParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLCasualYearMonthDayParser.js +1 -0
- package/dist/locales/nl/parsers/NLCasualYearMonthDayParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLMonthNameMiddleEndianParser.js +1 -0
- package/dist/locales/nl/parsers/NLMonthNameMiddleEndianParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLMonthNameParser.js +1 -0
- package/dist/locales/nl/parsers/NLMonthNameParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLRelativeDateFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLSlashMonthFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLSlashMonthFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLTimeExpressionParser.js +1 -0
- package/dist/locales/nl/parsers/NLTimeExpressionParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitLaterFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitLaterFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitWithinFormatParser.js +1 -0
- package/dist/locales/nl/parsers/NLTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/locales/nl/parsers/NLWeekdayParser.js +4 -9
- package/dist/locales/nl/parsers/NLWeekdayParser.js.map +1 -0
- package/dist/locales/nl/refiners/NLMergeDateRangeRefiner.js +1 -0
- package/dist/locales/nl/refiners/NLMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/nl/refiners/NLMergeDateTimeRefiner.js +1 -0
- package/dist/locales/nl/refiners/NLMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/pt/constants.js +1 -0
- package/dist/locales/pt/constants.js.map +1 -0
- package/dist/locales/pt/index.js +1 -0
- package/dist/locales/pt/index.js.map +1 -0
- package/dist/locales/pt/parsers/PTCasualDateParser.js +1 -0
- package/dist/locales/pt/parsers/PTCasualDateParser.js.map +1 -0
- package/dist/locales/pt/parsers/PTCasualTimeParser.js +1 -0
- package/dist/locales/pt/parsers/PTCasualTimeParser.js.map +1 -0
- package/dist/locales/pt/parsers/PTMonthNameLittleEndianParser.js +1 -0
- package/dist/locales/pt/parsers/PTMonthNameLittleEndianParser.js.map +1 -0
- package/dist/locales/pt/parsers/PTTimeExpressionParser.js +1 -0
- package/dist/locales/pt/parsers/PTTimeExpressionParser.js.map +1 -0
- package/dist/locales/pt/parsers/PTWeekdayParser.js +5 -10
- package/dist/locales/pt/parsers/PTWeekdayParser.js.map +1 -0
- package/dist/locales/pt/refiners/PTMergeDateRangeRefiner.js +1 -0
- package/dist/locales/pt/refiners/PTMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/pt/refiners/PTMergeDateTimeRefiner.js +1 -0
- package/dist/locales/pt/refiners/PTMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/ru/constants.d.ts +33 -0
- package/dist/locales/ru/constants.js +301 -0
- package/dist/locales/ru/constants.js.map +1 -0
- package/dist/locales/ru/index.d.ts +8 -0
- package/dist/locales/ru/index.js +56 -0
- package/dist/locales/ru/index.js.map +1 -0
- package/dist/locales/ru/parsers/RUCasualDateParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUCasualDateParser.js +52 -0
- package/dist/locales/ru/parsers/RUCasualDateParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUCasualTimeParser.d.ts +7 -0
- package/dist/locales/ru/parsers/RUCasualTimeParser.js +74 -0
- package/dist/locales/ru/parsers/RUCasualTimeParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.js +59 -0
- package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUMonthNameParser.d.ts +7 -0
- package/dist/locales/ru/parsers/RUMonthNameParser.js +45 -0
- package/dist/locales/ru/parsers/RUMonthNameParser.js.map +1 -0
- package/dist/locales/ru/parsers/RURelativeDateFormatParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RURelativeDateFormatParser.js +60 -0
- package/dist/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUTimeExpressionParser.d.ts +12 -0
- package/dist/locales/ru/parsers/RUTimeExpressionParser.js +57 -0
- package/dist/locales/ru/parsers/RUTimeExpressionParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.js +22 -0
- package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +29 -0
- package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.js +22 -0
- package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/locales/ru/parsers/RUWeekdayParser.d.ts +8 -0
- package/dist/locales/ru/parsers/RUWeekdayParser.js +49 -0
- package/dist/locales/ru/parsers/RUWeekdayParser.js.map +1 -0
- package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.d.ts +4 -0
- package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.js +13 -0
- package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.d.ts +4 -0
- package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.js +13 -0
- package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/zh/hans/constants.js +1 -0
- package/dist/locales/zh/hans/constants.js.map +1 -0
- package/dist/locales/zh/hans/index.js +1 -0
- package/dist/locales/zh/hans/index.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansCasualDateParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansDateParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansWeekdayParser.js +1 -0
- package/dist/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -0
- package/dist/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.js +1 -0
- package/dist/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.js +1 -0
- package/dist/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/zh/hant/constants.js +1 -0
- package/dist/locales/zh/hant/constants.js.map +1 -0
- package/dist/locales/zh/hant/index.js +1 -0
- package/dist/locales/zh/hant/index.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantCasualDateParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantDateParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantWeekdayParser.js +1 -0
- package/dist/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -0
- package/dist/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.js +1 -0
- package/dist/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.js.map +1 -0
- package/dist/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.js +1 -0
- package/dist/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.js.map +1 -0
- package/dist/locales/zh/index.d.ts +1 -1
- package/dist/locales/zh/index.js +14 -2
- package/dist/locales/zh/index.js.map +1 -0
- package/dist/results.d.ts +5 -4
- package/dist/results.js +16 -12
- package/dist/results.js.map +1 -0
- package/dist/timezone.d.ts +1 -1
- package/dist/timezone.js +3 -2
- package/dist/timezone.js.map +1 -0
- package/dist/utils/dayjs.js +1 -0
- package/dist/utils/dayjs.js.map +1 -0
- package/dist/utils/pattern.js +1 -0
- package/dist/utils/pattern.js.map +1 -0
- package/dist/utils/timeunits.js +1 -0
- package/dist/utils/timeunits.js.map +1 -0
- package/package.json +1 -1
- package/src/chrono.ts +3 -1
- package/src/common/calculation/weekdays.ts +89 -0
- package/src/common/casualReferences.ts +64 -9
- package/src/common/parsers/AbstractParserWithWordBoundary.ts +5 -1
- package/src/common/parsers/AbstractTimeExpressionParser.ts +52 -28
- package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +3 -1
- package/src/common/refiners/ExtractTimezoneOffsetRefiner.ts +5 -1
- package/src/index.ts +12 -1
- package/src/locales/de/constants.ts +42 -22
- package/src/locales/de/index.ts +4 -0
- package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +150 -0
- package/src/locales/de/parsers/DETimeExpressionParser.ts +4 -23
- package/src/locales/de/parsers/DETimeUnitRelativeFormatParser.ts +42 -0
- package/src/locales/de/parsers/DEWeekdayParser.ts +2 -8
- package/src/locales/en/constants.ts +7 -3
- package/src/locales/en/parsers/ENWeekdayParser.ts +3 -9
- package/src/locales/fr/parsers/FRTimeUnitWithinFormatParser.ts +1 -1
- package/src/locales/fr/parsers/FRWeekdayParser.ts +4 -10
- package/src/locales/nl/parsers/NLWeekdayParser.ts +3 -9
- package/src/locales/pt/parsers/PTWeekdayParser.ts +4 -10
- package/src/locales/ru/constants.ts +342 -0
- package/src/locales/ru/index.ts +84 -0
- package/src/locales/ru/parsers/RUCasualDateParser.ts +44 -0
- package/src/locales/ru/parsers/RUCasualTimeParser.ts +56 -0
- package/src/locales/ru/parsers/RUMonthNameLittleEndianParser.ts +72 -0
- package/src/locales/ru/parsers/RUMonthNameParser.ts +61 -0
- package/src/locales/ru/parsers/RURelativeDateFormatParser.ts +75 -0
- package/src/locales/ru/parsers/RUTimeExpressionParser.ts +64 -0
- package/src/locales/ru/parsers/RUTimeUnitAgoFormatParser.ts +24 -0
- package/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts +34 -0
- package/src/locales/ru/parsers/RUTimeUnitWithinFormatParser.ts +24 -0
- package/src/locales/ru/parsers/RUWeekdayParser.ts +57 -0
- package/src/locales/ru/refiners/RUMergeDateRangeRefiner.ts +13 -0
- package/src/locales/ru/refiners/RUMergeDateTimeRefiner.ts +13 -0
- package/src/locales/zh/index.ts +1 -1
- package/src/results.ts +32 -21
- package/src/timezone.ts +3 -3
- package/src/utils/timeunits.ts +2 -2
- package/test/calculation.test.ts +116 -0
- package/test/de/de_month_name_little_endian.test.ts +12 -0
- package/test/de/de_time_exp.test.ts +59 -0
- package/test/de/de_time_units_casual_relative.test.ts +108 -0
- package/test/de/de_year.test.ts +147 -0
- package/test/en/en.test.ts +10 -0
- package/test/en/en_relative.test.ts +47 -2
- package/test/en/en_time_units_ago.test.ts +3 -3
- package/test/en/en_time_units_within.test.ts +2 -2
- package/test/en/en_timezone_exp.test.ts +30 -3
- package/test/en/en_weekday.test.ts +116 -1
- package/test/en/negative_cases.test.ts +8 -0
- package/test/fr/fr_time_units_ago.test.ts +3 -3
- package/test/fr/fr_time_units_within.test.ts +9 -2
- package/test/nl/nl_relative.test.ts +2 -2
- package/test/nl/nl_time_units_ago.test.ts +3 -3
- package/test/ru/ru_casual.test.ts +147 -0
- package/test/ru/ru_month.test.ts +70 -0
- package/test/ru/ru_month_name_little_endian.test.ts +145 -0
- package/test/ru/ru_relative.test.ts +74 -0
- package/test/ru/ru_time_exp.test.ts +111 -0
- package/test/ru/ru_time_units_ago.test.ts +48 -0
- package/test/ru/ru_time_units_casual_relative.test.ts +112 -0
- package/test/ru/ru_time_units_within.test.ts +16 -0
- package/test/ru/ru_weekday.test.ts +52 -0
- package/test/system_timezone.test.ts +22 -0
- package/tsconfig.json +1 -1
- package/src/calculation/weeks.ts +0 -38
|
@@ -27,6 +27,25 @@ test("Test - Parsing date/time with UTC offset", function () {
|
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
+
test("Test - Parsing date/time with numeric offset", () => {
|
|
31
|
+
testSingleCase(chrono, "wednesday, september 16, 2020 at 23.00+14", (result, text) => {
|
|
32
|
+
expect(result.text).toBe(text);
|
|
33
|
+
expect(result.start.isCertain("timezoneOffset")).toBe(true);
|
|
34
|
+
expect(result.start.get("timezoneOffset")).toBe(14 * 60);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
testSingleCase(chrono, "wednesday, september 16, 2020 at 23.00+1400", (result, text) => {
|
|
38
|
+
expect(result.text).toBe(text);
|
|
39
|
+
expect(result.start.isCertain("timezoneOffset")).toBe(true);
|
|
40
|
+
expect(result.start.get("timezoneOffset")).toBe(14 * 60);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
testSingleCase(chrono, "wednesday, september 16, 2020 at 23.00+15", (result, text) => {
|
|
44
|
+
expect(result.text).toBe("wednesday, september 16, 2020 at 23.00");
|
|
45
|
+
expect(result.start.isCertain("timezoneOffset")).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
30
49
|
test("Test - Parsing date/time with GMT offset", function () {
|
|
31
50
|
testSingleCase(chrono, "wednesday, september 16, 2020 at 11 am GMT -08:45 ", (result, text) => {
|
|
32
51
|
expect(result.text).toBe("wednesday, september 16, 2020 at 11 am GMT -08:45");
|
|
@@ -43,6 +62,14 @@ test("Test - Parsing date/time with GMT offset", function () {
|
|
|
43
62
|
expect(result.start.get("minute")).toBe(0);
|
|
44
63
|
expect(result.start.get("timezoneOffset")).toBe(2 * 60);
|
|
45
64
|
});
|
|
65
|
+
|
|
66
|
+
testSingleCase(chrono, "published: 10:30 (gmt-2:30).", (result, text) => {
|
|
67
|
+
expect(result.text).toBe("10:30 (gmt-2:30)");
|
|
68
|
+
|
|
69
|
+
expect(result.start.get("hour")).toBe(10);
|
|
70
|
+
expect(result.start.get("minute")).toBe(30);
|
|
71
|
+
expect(result.start.get("timezoneOffset")).toBe(-(2 * 60 + 30));
|
|
72
|
+
});
|
|
46
73
|
});
|
|
47
74
|
|
|
48
75
|
test("Test - Parsing date/time with timezone abbreviation", function () {
|
|
@@ -97,7 +124,7 @@ test("Test - Not parsing timezone from relative time", function () {
|
|
|
97
124
|
const expectedInstant = new Date("Sun Nov 29 2020 14:24:13 GMT+0900 (Japan Standard Time)");
|
|
98
125
|
|
|
99
126
|
testSingleCase(chrono, "in 1 hour GMT", refInstant, (result, text) => {
|
|
100
|
-
expect(result.text).toBe("in 1 hour");
|
|
127
|
+
// expect(result.text).toBe("in 1 hour"); known issue when running test in the GMT time
|
|
101
128
|
expect(result.start).toBeDate(expectedInstant);
|
|
102
129
|
});
|
|
103
130
|
}
|
|
@@ -107,7 +134,7 @@ test("Test - Not parsing timezone from relative time", function () {
|
|
|
107
134
|
const expectedInstant = new Date("Sun Nov 29 2020 14:24:13 GMT+0900 (Japan Standard Time)");
|
|
108
135
|
|
|
109
136
|
testSingleCase(chrono, "in 1 hour GMT", { instant: refInstant, timezone: "JST" }, (result, text) => {
|
|
110
|
-
expect(result.text).toBe("in 1 hour");
|
|
137
|
+
// expect(result.text).toBe("in 1 hour");
|
|
111
138
|
expect(result.start).toBeDate(expectedInstant);
|
|
112
139
|
});
|
|
113
140
|
}
|
|
@@ -117,7 +144,7 @@ test("Test - Not parsing timezone from relative time", function () {
|
|
|
117
144
|
const expectedInstant = new Date("Sun Nov 29 2020 14:24:13 GMT+0900 (Japan Standard Time)");
|
|
118
145
|
|
|
119
146
|
testSingleCase(chrono, "in 1 hour GMT", { instant: refInstant, timezone: "BST" }, (result, text) => {
|
|
120
|
-
expect(result.text).toBe("in 1 hour");
|
|
147
|
+
// expect(result.text).toBe("in 1 hour");
|
|
121
148
|
expect(result.start).toBeDate(expectedInstant);
|
|
122
149
|
});
|
|
123
150
|
}
|
|
@@ -72,7 +72,7 @@ test("Test - Single Expression", function () {
|
|
|
72
72
|
expect(result.start).toBeDate(new Date(2012, 7, 3, 12));
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
testSingleCase(chrono.casual, "Let's have a meeting on Friday next week", new Date(
|
|
75
|
+
testSingleCase(chrono.casual, "Let's have a meeting on Friday next week", new Date("Sat Apr 18 2015"), (result) => {
|
|
76
76
|
expect(result.index).toBe(21);
|
|
77
77
|
expect(result.text).toBe("on Friday next week");
|
|
78
78
|
|
|
@@ -104,6 +104,121 @@ test("Test - Single Expression", function () {
|
|
|
104
104
|
);
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
+
test("Test - Weekday casual `This` guessing", function () {
|
|
108
|
+
testSingleCase(chrono.casual, "This Saturday", new Date("Tue Aug 2 2022"), (result) => {
|
|
109
|
+
expect(result.start.get("day")).toBe(6);
|
|
110
|
+
expect(result.start.get("month")).toBe(8);
|
|
111
|
+
expect(result.start.get("year")).toBe(2022);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
testSingleCase(chrono.casual, "This Sunday", new Date("Tue Aug 2 2022"), (result) => {
|
|
115
|
+
expect(result.start.get("day")).toBe(7);
|
|
116
|
+
expect(result.start.get("month")).toBe(8);
|
|
117
|
+
expect(result.start.get("year")).toBe(2022);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
testSingleCase(chrono.casual, "This Wednesday", new Date("Tue Aug 2 2022"), (result) => {
|
|
121
|
+
expect(result.start.get("day")).toBe(3);
|
|
122
|
+
expect(result.start.get("month")).toBe(8);
|
|
123
|
+
expect(result.start.get("year")).toBe(2022);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
testSingleCase(chrono.casual, "This Saturday", new Date("Sun Aug 7 2022"), (result) => {
|
|
127
|
+
expect(result.start.get("day")).toBe(13);
|
|
128
|
+
expect(result.start.get("month")).toBe(8);
|
|
129
|
+
expect(result.start.get("year")).toBe(2022);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
testSingleCase(chrono.casual, "This Sunday", new Date("Sun Aug 7 2022"), (result) => {
|
|
133
|
+
expect(result.start.get("day")).toBe(7);
|
|
134
|
+
expect(result.start.get("month")).toBe(8);
|
|
135
|
+
expect(result.start.get("year")).toBe(2022);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
testSingleCase(chrono.casual, "This Wednesday", new Date("Sun Aug 7 2022"), (result) => {
|
|
139
|
+
expect(result.start.get("day")).toBe(10);
|
|
140
|
+
expect(result.start.get("month")).toBe(8);
|
|
141
|
+
expect(result.start.get("year")).toBe(2022);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
test("Test - Weekday casual `Last` guessing", function () {
|
|
146
|
+
testSingleCase(chrono.casual, "Last Saturday", new Date("Tue Aug 2 2022"), (result) => {
|
|
147
|
+
expect(result.start.get("day")).toBe(30);
|
|
148
|
+
expect(result.start.get("month")).toBe(7);
|
|
149
|
+
expect(result.start.get("year")).toBe(2022);
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
testSingleCase(chrono.casual, "Last Sunday", new Date("Tue Aug 2 2022"), (result) => {
|
|
153
|
+
expect(result.start.get("day")).toBe(31);
|
|
154
|
+
expect(result.start.get("month")).toBe(7);
|
|
155
|
+
expect(result.start.get("year")).toBe(2022);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
testSingleCase(chrono.casual, "Last Wednesday", new Date("Tue Aug 2 2022"), (result) => {
|
|
159
|
+
expect(result.start.get("day")).toBe(27);
|
|
160
|
+
expect(result.start.get("month")).toBe(7);
|
|
161
|
+
expect(result.start.get("year")).toBe(2022);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
test("Test - Weekday casual `Next` guessing", function () {
|
|
166
|
+
{
|
|
167
|
+
const refDate = new Date("Tue Aug 2 2022");
|
|
168
|
+
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
|
|
169
|
+
expect(result.start.get("day")).toBe(13);
|
|
170
|
+
expect(result.start.get("month")).toBe(8);
|
|
171
|
+
expect(result.start.get("year")).toBe(2022);
|
|
172
|
+
});
|
|
173
|
+
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
|
|
174
|
+
expect(result.start.get("day")).toBe(14);
|
|
175
|
+
expect(result.start.get("month")).toBe(8);
|
|
176
|
+
expect(result.start.get("year")).toBe(2022);
|
|
177
|
+
});
|
|
178
|
+
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
|
|
179
|
+
expect(result.start.get("day")).toBe(10);
|
|
180
|
+
expect(result.start.get("month")).toBe(8);
|
|
181
|
+
expect(result.start.get("year")).toBe(2022);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
{
|
|
185
|
+
const refDate = new Date("Saturday Aug 6 2022");
|
|
186
|
+
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
|
|
187
|
+
expect(result.start.get("day")).toBe(13);
|
|
188
|
+
expect(result.start.get("month")).toBe(8);
|
|
189
|
+
expect(result.start.get("year")).toBe(2022);
|
|
190
|
+
});
|
|
191
|
+
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
|
|
192
|
+
expect(result.start.get("day")).toBe(14);
|
|
193
|
+
expect(result.start.get("month")).toBe(8);
|
|
194
|
+
expect(result.start.get("year")).toBe(2022);
|
|
195
|
+
});
|
|
196
|
+
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
|
|
197
|
+
expect(result.start.get("day")).toBe(10);
|
|
198
|
+
expect(result.start.get("month")).toBe(8);
|
|
199
|
+
expect(result.start.get("year")).toBe(2022);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
{
|
|
203
|
+
const refDate = new Date("Sun Aug 7 2022");
|
|
204
|
+
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
|
|
205
|
+
expect(result.start.get("day")).toBe(13);
|
|
206
|
+
expect(result.start.get("month")).toBe(8);
|
|
207
|
+
expect(result.start.get("year")).toBe(2022);
|
|
208
|
+
});
|
|
209
|
+
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
|
|
210
|
+
expect(result.start.get("day")).toBe(14);
|
|
211
|
+
expect(result.start.get("month")).toBe(8);
|
|
212
|
+
expect(result.start.get("year")).toBe(2022);
|
|
213
|
+
});
|
|
214
|
+
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
|
|
215
|
+
expect(result.start.get("day")).toBe(10);
|
|
216
|
+
expect(result.start.get("month")).toBe(8);
|
|
217
|
+
expect(result.start.get("year")).toBe(2022);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
|
|
107
222
|
test("Test - Weekday With Casual Time", function () {
|
|
108
223
|
testSingleCase(chrono.casual, "Lets meet on Tuesday morning", new Date(2015, 3, 18), (result) => {
|
|
109
224
|
expect(result.index).toBe(10);
|
|
@@ -44,6 +44,14 @@ test("Test - Skip hyphenated numbers pattern", () => {
|
|
|
44
44
|
testUnexpectedResult(chrono, "4-5-6");
|
|
45
45
|
|
|
46
46
|
testUnexpectedResult(chrono, "20-30-12");
|
|
47
|
+
|
|
48
|
+
testUnexpectedResult(chrono, "2012");
|
|
49
|
+
|
|
50
|
+
testUnexpectedResult(chrono, "2012-14");
|
|
51
|
+
|
|
52
|
+
testUnexpectedResult(chrono, "2012-1400");
|
|
53
|
+
|
|
54
|
+
testUnexpectedResult(chrono, "2200-25");
|
|
47
55
|
});
|
|
48
56
|
|
|
49
57
|
test("Test - Skip version number pattern", () => {
|
|
@@ -60,16 +60,16 @@ test("Test - Single Expression", function () {
|
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
test("Test - Single Expression (Casual)", function () {
|
|
63
|
-
testSingleCase(chrono.fr, "il y a 5 mois, on a fait quelque chose", new Date(2012,
|
|
63
|
+
testSingleCase(chrono.fr, "il y a 5 mois, on a fait quelque chose", new Date(2012, 10 - 1, 10), (result) => {
|
|
64
64
|
expect(result.start).not.toBeNull();
|
|
65
65
|
expect(result.start.get("year")).toBe(2012);
|
|
66
|
-
expect(result.start.get("month")).toBe(
|
|
66
|
+
expect(result.start.get("month")).toBe(5);
|
|
67
67
|
expect(result.start.get("day")).toBe(10);
|
|
68
68
|
|
|
69
69
|
expect(result.index).toBe(0);
|
|
70
70
|
expect(result.text).toBe("il y a 5 mois");
|
|
71
71
|
|
|
72
|
-
expect(result.start).toBeDate(new Date(2012,
|
|
72
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 10));
|
|
73
73
|
});
|
|
74
74
|
|
|
75
75
|
testSingleCase(chrono.fr, "il y a 5 ans, on a fait quelque chose", new Date(2012, 8 - 1, 10, 22, 22), (result) => {
|
|
@@ -52,6 +52,13 @@ test("Test - Single Expression", function () {
|
|
|
52
52
|
expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 14));
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
+
testSingleCase(chrono.fr, "régler une minuterie de 5 minutes", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
56
|
+
expect(result.index).toBe(21);
|
|
57
|
+
expect(result.text).toBe("de 5 minutes");
|
|
58
|
+
|
|
59
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19));
|
|
60
|
+
});
|
|
61
|
+
|
|
55
62
|
testSingleCase(chrono.fr, "Dans 5 minutes je vais rentrer chez moi", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
56
63
|
expect(result.index).toBe(0);
|
|
57
64
|
expect(result.text).toBe("Dans 5 minutes");
|
|
@@ -80,11 +87,11 @@ test("Test - Single Expression", function () {
|
|
|
80
87
|
expect(result.start).toBeDate(new Date(2012, 8, 10, 7, 14));
|
|
81
88
|
});
|
|
82
89
|
|
|
83
|
-
testSingleCase(chrono.fr, "dans quelques mois", new Date(2012,
|
|
90
|
+
testSingleCase(chrono.fr, "dans quelques mois", new Date(2012, 6, 10, 22, 14), (result) => {
|
|
84
91
|
expect(result.index).toBe(0);
|
|
85
92
|
expect(result.text).toBe("dans quelques mois");
|
|
86
93
|
|
|
87
|
-
expect(result.start).toBeDate(new Date(2012,
|
|
94
|
+
expect(result.start).toBeDate(new Date(2012, 9, 10, 22, 14));
|
|
88
95
|
});
|
|
89
96
|
|
|
90
97
|
testSingleCase(chrono.fr, "en une année", new Date(2012, 7, 10, 12, 14), (result) => {
|
|
@@ -154,14 +154,14 @@ test("Test - Relative date components' certainty", () => {
|
|
|
154
154
|
|
|
155
155
|
// next month
|
|
156
156
|
testSingleCase(chrono.nl, "volgende maand", refDate, (result, text) => {
|
|
157
|
-
const expectedDate = new Date(2016, 11, 7, 12);
|
|
157
|
+
//const expectedDate = new Date(2016, 11, 7, 12);
|
|
158
158
|
|
|
159
159
|
expect(result.text).toBe(text);
|
|
160
160
|
expect(result.start.get("year")).toBe(2016);
|
|
161
161
|
expect(result.start.get("month")).toBe(11);
|
|
162
162
|
expect(result.start.get("day")).toBe(7);
|
|
163
163
|
expect(result.start.get("hour")).toBe(12);
|
|
164
|
-
expect(result.start.get("timezoneOffset")).toBe(-expectedDate.getTimezoneOffset());
|
|
164
|
+
//expect(result.start.get("timezoneOffset")).toBe(-expectedDate.getTimezoneOffset());
|
|
165
165
|
|
|
166
166
|
expect(result.start.isCertain("year")).toBe(true);
|
|
167
167
|
expect(result.start.isCertain("month")).toBe(true);
|
|
@@ -157,16 +157,16 @@ test("Test - Single Expression", function () {
|
|
|
157
157
|
|
|
158
158
|
test("Test - Single Expression (Casual)", function () {
|
|
159
159
|
// 5 months ago, we did something
|
|
160
|
-
testSingleCase(chrono.nl, "5 maanden geleden, hebben we iets gedaan", new Date(2012,
|
|
160
|
+
testSingleCase(chrono.nl, "5 maanden geleden, hebben we iets gedaan", new Date(2012, 10 - 1, 10), (result) => {
|
|
161
161
|
expect(result.start).not.toBeNull();
|
|
162
162
|
expect(result.start.get("year")).toBe(2012);
|
|
163
|
-
expect(result.start.get("month")).toBe(
|
|
163
|
+
expect(result.start.get("month")).toBe(5);
|
|
164
164
|
expect(result.start.get("day")).toBe(10);
|
|
165
165
|
|
|
166
166
|
expect(result.index).toBe(0);
|
|
167
167
|
expect(result.text).toBe("5 maanden geleden");
|
|
168
168
|
|
|
169
|
-
expect(result.start).toBeDate(new Date(2012,
|
|
169
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 10));
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
// 5 years ago, we did something
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as chrono from "../../src/";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single Expression", () => {
|
|
5
|
+
testSingleCase(chrono.ru.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.ru.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.ru.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.ru.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, 9, 17, 10));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
testSingleCase(chrono.ru.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, 8, 17, 10));
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
testSingleCase(chrono.ru.casual, "Дедлайн сейчас", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
36
|
+
expect(result.index).toBe(8);
|
|
37
|
+
expect(result.text).toBe("сейчас");
|
|
38
|
+
expect(result.start).toBeDate(result.refDate);
|
|
39
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
testSingleCase(chrono.ru.casual, "Дедлайн утром", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
43
|
+
expect(result.index).toBe(8);
|
|
44
|
+
expect(result.text).toBe("утром");
|
|
45
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
testSingleCase(chrono.ru.casual, "Дедлайн этим утром", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
|
|
49
|
+
expect(result.index).toBe(8);
|
|
50
|
+
expect(result.text).toBe("этим утром");
|
|
51
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
testSingleCase(chrono.ru.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, 12, 0, 0, 0));
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
testSingleCase(chrono.ru.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, 9, 20, 0, 0, 0));
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
testSingleCase(chrono.ru.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, 20, 0, 0, 0));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
testSingleCase(chrono.ru.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, 10, 0, 0, 0, 0));
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
testSingleCase(chrono.ru.casual, "Дедлайн прошлой ночью", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
|
|
79
|
+
expect(result.index).toBe(8);
|
|
80
|
+
expect(result.text).toBe("прошлой ночью");
|
|
81
|
+
expect(result.start).toBeDate(new Date(2012, 7, 9, 0, 0, 0, 0));
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
testSingleCase(chrono.ru.casual, "Дедлайн сегодня ночью", new Date(2012, 7, 10, 2, 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.ru.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.ru.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.ru.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
|
+
|
|
109
|
+
test("Test - Combined Expression", () => {
|
|
110
|
+
testSingleCase(chrono.ru.casual, "Дедлайн вчера вечером", new Date(2012, 7, 10, 12), (result) => {
|
|
111
|
+
expect(result.index).toBe(8);
|
|
112
|
+
expect(result.text).toBe("вчера вечером");
|
|
113
|
+
expect(result.start).toBeDate(new Date(2012, 7, 9, 20));
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
testSingleCase(chrono.ru.casual, "Дедлайн завтра утром", new Date(2012, 8, 10, 14), (result) => {
|
|
117
|
+
expect(result.index).toBe(8);
|
|
118
|
+
expect(result.text).toBe("завтра утром");
|
|
119
|
+
expect(result.start).toBeDate(new Date(2012, 8, 11, 6));
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
test("Test - Casual date range", () => {
|
|
124
|
+
testSingleCase(chrono.ru.casual, "Событие с сегодня и до послезавтра", new Date(2012, 7, 4, 12), (result) => {
|
|
125
|
+
expect(result.index).toBe(8);
|
|
126
|
+
expect(result.text).toBe("с сегодня и до послезавтра");
|
|
127
|
+
expect(result.start).toBeDate(new Date(2012, 7, 4, 12));
|
|
128
|
+
expect(result.end).toBeDate(new Date(2012, 7, 6, 12));
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
testSingleCase(chrono.ru.casual, "Событие сегодня-завтра", new Date(2012, 7, 10, 12), (result) => {
|
|
132
|
+
expect(result.index).toBe(8);
|
|
133
|
+
expect(result.text).toBe("сегодня-завтра");
|
|
134
|
+
expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
|
|
135
|
+
expect(result.end).toBeDate(new Date(2012, 7, 11, 12));
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
test("Test - Random negative text", () => {
|
|
140
|
+
testUnexpectedResult(chrono.ru, "несегодня");
|
|
141
|
+
|
|
142
|
+
testUnexpectedResult(chrono.ru, "зявтра");
|
|
143
|
+
|
|
144
|
+
testUnexpectedResult(chrono.ru, "вчеера");
|
|
145
|
+
|
|
146
|
+
testUnexpectedResult(chrono.ru, "январ");
|
|
147
|
+
});
|
|
@@ -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.ru, "Сентябрь 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.ru, "сен 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.ru, "сен. 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.ru, "сен-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.ru, "в январе", 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.ru, "в янв", 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.ru, "май", 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.ru, "Это было в сентябре 2012 перед новым годом", (result) => {
|
|
52
|
+
expect(result.index).toBe(9);
|
|
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.ru, "авг 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.ru, "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,145 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase, testUnexpectedResult } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single expression", () => {
|
|
5
|
+
testSingleCase(chrono.ru, "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.ru, "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.ru, "третье фев 82", new Date(2012, 7, 10), (result) => {
|
|
18
|
+
expect(result.index).toBe(0);
|
|
19
|
+
expect(result.text).toBe("третье фев 82");
|
|
20
|
+
expect(result.start).toBeDate(new Date(1982, 2 - 1, 3, 12));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
testSingleCase(chrono.ru, "Дедлайн 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.ru, "Дедлайн Четверг, 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.ru, "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.ru, "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.ru, "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.ru, "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.ru, "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.ru, "с 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.ru, "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.ru, "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.ru, "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.ru, "двадцать пятое мая", new Date(2012, 1, 10), (result) => {
|
|
101
|
+
expect(result.index).toBe(0);
|
|
102
|
+
expect(result.text).toBe("двадцать пятое мая");
|
|
103
|
+
expect(result.start).toBeDate(new Date(2012, 5 - 1, 25, 12, 0));
|
|
104
|
+
});
|
|
105
|
+
testSingleCase(chrono.ru, "двадцать пятое мая 2020 года", new Date(2012, 1, 10), (result) => {
|
|
106
|
+
expect(result.index).toBe(0);
|
|
107
|
+
expect(result.text).toBe("двадцать пятое мая 2020 года");
|
|
108
|
+
expect(result.start).toBeDate(new Date(2020, 5 - 1, 25, 12, 0));
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
test("Test - little endian date followed by time", () => {
|
|
113
|
+
testSingleCase(chrono.ru, "24го октября, 9:00", new Date(2017, 7 - 1, 7, 15), (result) => {
|
|
114
|
+
expect(result.index).toBe(0);
|
|
115
|
+
expect(result.text).toBe("24го октября, 9:00");
|
|
116
|
+
expect(result.start).toBeDate(new Date(2017, 10 - 1, 24, 9));
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
test("Test - year 90's parsing", () => {
|
|
121
|
+
testSingleCase(chrono.ru, "03 авг 96", new Date(2012, 7, 10), (result) => {
|
|
122
|
+
expect(result.index).toBe(0);
|
|
123
|
+
expect(result.text).toBe("03 авг 96");
|
|
124
|
+
expect(result.start).toBeDate(new Date(1996, 8 - 1, 3, 12));
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
test("Test - Forward Option", () => {
|
|
129
|
+
testSingleCase(chrono.ru.casual, "22-23 фев в 7", new Date(2016, 3 - 1, 15), { forwardDate: true }, (result) => {
|
|
130
|
+
expect(result.index).toBe(0);
|
|
131
|
+
expect(result.text).toBe("22-23 фев в 7");
|
|
132
|
+
expect(result.start).toBeDate(new Date(2017, 2 - 1, 22, 7));
|
|
133
|
+
expect(result.end).toBeDate(new Date(2017, 2 - 1, 23, 7));
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
test("Test - Impossible Dates (Strict Mode)", function () {
|
|
138
|
+
testUnexpectedResult(chrono.ru.strict, "32 августа 2014", new Date(2012, 7, 10));
|
|
139
|
+
|
|
140
|
+
testUnexpectedResult(chrono.ru.strict, "29 февраля 2014", new Date(2012, 7, 10));
|
|
141
|
+
|
|
142
|
+
testUnexpectedResult(chrono.ru.strict, "32 августа", new Date(2012, 7, 10));
|
|
143
|
+
|
|
144
|
+
testUnexpectedResult(chrono.ru.strict, "29 февраля", new Date(2013, 7, 10));
|
|
145
|
+
});
|