• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wanasit / chrono / 16856703022

10 Aug 2025 03:20AM UTC coverage: 90.768% (-0.04%) from 90.807%
16856703022

Pull #616

github

google-labs-jules[bot]
feat: Increase test coverage for sv locale
Pull Request #616: feat: Increase test coverage for sv locale

1674 of 2123 branches covered (78.85%)

4955 of 5459 relevant lines covered (90.77%)

386.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.74
/src/calculation/mergingCalculation.ts
1
import { ParsingComponents, ParsingResult } from "../results";
2
import { Meridiem } from "../types";
96✔
3
import { assignSimilarDate, implySimilarDate } from "../utils/dayjs";
96✔
4

5
export function mergeDateTimeResult(dateResult: ParsingResult, timeResult: ParsingResult): ParsingResult {
96✔
6
    const result = dateResult.clone();
264✔
7
    const beginDate = dateResult.start;
264✔
8
    const beginTime = timeResult.start;
264✔
9

10
    result.start = mergeDateTimeComponent(beginDate, beginTime);
264✔
11
    if (dateResult.end != null || timeResult.end != null) {
264✔
12
        const endDate = dateResult.end == null ? dateResult.start : dateResult.end;
43✔
13
        const endTime = timeResult.end == null ? timeResult.start : timeResult.end;
43✔
14
        const endDateTime = mergeDateTimeComponent(endDate, endTime);
43✔
15

16
        if (dateResult.end == null && endDateTime.date().getTime() < result.start.date().getTime()) {
43✔
17
            // For example,  "Tuesday 9pm - 1am" the ending should actually be 1am on the next day.
18
            // We need to add to ending by another day.
19
            const nextDayJs = endDateTime.dayjs().add(1, "day");
3✔
20
            if (endDateTime.isCertain("day")) {
3!
21
                assignSimilarDate(endDateTime, nextDayJs);
3✔
22
            } else {
23
                implySimilarDate(endDateTime, nextDayJs);
×
24
            }
25
        }
26

27
        result.end = endDateTime;
43✔
28
    }
29

30
    return result;
264✔
31
}
32

33
export function mergeDateTimeComponent(
96✔
34
    dateComponent: ParsingComponents,
35
    timeComponent: ParsingComponents
36
): ParsingComponents {
37
    const dateTimeComponent = dateComponent.clone();
307✔
38

39
    if (timeComponent.isCertain("hour")) {
307✔
40
        dateTimeComponent.assign("hour", timeComponent.get("hour"));
286✔
41
        dateTimeComponent.assign("minute", timeComponent.get("minute"));
286✔
42

43
        if (timeComponent.isCertain("second")) {
286✔
44
            dateTimeComponent.assign("second", timeComponent.get("second"));
29✔
45

46
            if (timeComponent.isCertain("millisecond")) {
29✔
47
                dateTimeComponent.assign("millisecond", timeComponent.get("millisecond"));
1✔
48
            } else {
49
                dateTimeComponent.imply("millisecond", timeComponent.get("millisecond"));
28✔
50
            }
51
        } else {
52
            dateTimeComponent.imply("second", timeComponent.get("second"));
257✔
53
            dateTimeComponent.imply("millisecond", timeComponent.get("millisecond"));
257✔
54
        }
55
    } else {
56
        dateTimeComponent.imply("hour", timeComponent.get("hour"));
21✔
57
        dateTimeComponent.imply("minute", timeComponent.get("minute"));
21✔
58
        dateTimeComponent.imply("second", timeComponent.get("second"));
21✔
59
        dateTimeComponent.imply("millisecond", timeComponent.get("millisecond"));
21✔
60
    }
61

62
    if (timeComponent.isCertain("timezoneOffset")) {
307✔
63
        dateTimeComponent.assign("timezoneOffset", timeComponent.get("timezoneOffset"));
20✔
64
    }
65

66
    if (timeComponent.isCertain("meridiem")) {
307✔
67
        dateTimeComponent.assign("meridiem", timeComponent.get("meridiem"));
201✔
68
    } else if (timeComponent.get("meridiem") != null && dateTimeComponent.get("meridiem") == null) {
106✔
69
        dateTimeComponent.imply("meridiem", timeComponent.get("meridiem"));
85✔
70
    }
71

72
    if (dateTimeComponent.get("meridiem") == Meridiem.PM && dateTimeComponent.get("hour") < 12) {
307✔
73
        if (timeComponent.isCertain("hour")) {
13!
74
            dateTimeComponent.assign("hour", dateTimeComponent.get("hour") + 12);
13✔
75
        } else {
76
            dateTimeComponent.imply("hour", dateTimeComponent.get("hour") + 12);
×
77
        }
78
    }
79

80
    dateTimeComponent.addTags(dateComponent.tags());
307✔
81
    dateTimeComponent.addTags(timeComponent.tags());
307✔
82
    return dateTimeComponent;
307✔
83
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc