Skip to content

Commit 5a46ff3

Browse files
Merge pull request #518
2 parents 549d4c0 + 1b703dc commit 5a46ff3

File tree

4 files changed

+95
-86
lines changed

4 files changed

+95
-86
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ work hours!
114114
- refactor: optimize simple_index.html ([#502](https://github.com/opening-hours/opening_hours.js/pull/502))
115115
- refactor: overload getStateString for better return type ([#504](https://github.com/opening-hours/opening_hours.js/pull/504))
116116
- refactor: replace deprecated `optimist` with `yargs` for command line argument parsing ([#515](https://github.com/opening-hours/opening_hours.js/pull/515))
117+
- refactor: improve week range test descriptions for clarity ([#518](https://github.com/opening-hours/opening_hours.js/pull/518))
118+
- refactor: rework and enable week range tests with various Date object types ([#518](https://github.com/opening-hours/opening_hours.js/pull/518))
117119

118120
- Public holiday definitions updated:
119121
- France ([#470](https://github.com/opening-hours/opening_hours.js/pull/470))

test/test.de.log

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,49 +1020,52 @@ With warnings:
10201020
"Fallback group rules, with some closed times" for "Mo,Tu,Th 09:00-12:00; Fr 14:00-17:30 || "Termine nach Vereinbarung"; We off": PASSED
10211021
"Fallback group rules, with some closed times" for "Mo-Th 09:00-12:00; Fr 14:00-17:30 || "Termine nach Vereinbarung"; We off": PASSED
10221022
"Fallback group rules, with some closed times" for "Mo-Th 09:00-12:00; Fr 14:00-17:30 || unknown "Termine nach Vereinbarung"; We off": PASSED
1023-
"Week ranges" for "week 01,03 00:00-24:00": PASSED
1024-
"Week ranges" for "week 01,03 00:00-24:00 || closed "should not change the test result"": PASSED
1025-
"Week ranges" for "week 01,03: 00:00-24:00": PASSED
1026-
"Week ranges" for "week 01,week 03: 00:00-24:00": PASSED
1027-
"Week ranges" for "week 01: 00:00-24:00; week 03: 00:00-24:00": PASSED
1028-
"Week ranges" for "week 01; week 03": PASSED
1023+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03 00:00-24:00": PASSED
1024+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03 00:00-24:00 || closed "should not change the test result"": PASSED
1025+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03: 00:00-24:00": PASSED
1026+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,week 03: 00:00-24:00": PASSED
1027+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01: 00:00-24:00; week 03: 00:00-24:00": PASSED
1028+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01; week 03": PASSED
10291029
With warnings:
10301030
*week 01 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
10311031
*week 01; week 03 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1032-
"Week ranges" for "week 01-03/2 00:00-24:00": PASSED
1033-
"Week ranges" for "week 02,04 00:00-24:00": PASSED
1034-
"Week ranges" for "week 02-04/2 00:00-24:00": PASSED
1035-
"Week range limit" for "week 02-53": PASSED
1032+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01-03/2 00:00-24:00": PASSED
1033+
"Week ranges: even weeks with period notation (02,04)" for "week 02,04 00:00-24:00": PASSED
1034+
"Week ranges: even weeks with period notation (02,04)" for "week 02-04/2 00:00-24:00": PASSED
1035+
"Week range: weeks 02-53 (excluding first week)" for "week 02-53": PASSED
10361036
With warnings:
10371037
*week 02-53 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1038-
"Week range limit" for "week 02-53 00:00-24:00": PASSED
1039-
"Week range full range" for "week 01-53": PASSED
1038+
"Week range: weeks 02-53 (excluding first week)" for "week 02-53 00:00-24:00": PASSED
1039+
"Week range: full year coverage (weeks 01-53)" for "week 01-53": PASSED
10401040
With warnings:
10411041
*week 01-53 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1042-
"Week range full range" for "week 01-53 00:00-24:00": PASSED
1043-
"Week range second week" for "week 02 00:00-24:00": PASSED
1044-
"Week range" for "week 01-53/2 00:00-24:00": PASSED
1045-
"Week range" for "week 01-53/2 00:00-24:00": PASSED
1046-
"Week range" for "week 02-53/2 We; week 01-53/2 Sa 00:00-24:00": PASSED
1042+
"Week range: full year coverage (weeks 01-53)" for "week 01-53 00:00-24:00": PASSED
1043+
"Week range: single week across multiple years (week 02)" for "week 02 00:00-24:00": PASSED
1044+
"Week range: odd weeks with boundary start date (01-53/2)" for "week 01-53/2 00:00-24:00": PASSED
1045+
"Week range: odd weeks with year start date (01-53/2)" for "week 01-53/2 00:00-24:00": PASSED
1046+
"Week range: alternating weeks with weekdays (even=We, odd=Sa)" for "week 02-53/2 We; week 01-53/2 Sa 00:00-24:00": PASSED
10471047
With warnings:
10481048
*week 02-53/2 We <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1049-
"Week range (beginning in last year)" for "week 04-16": PASSED
1049+
"Week range: winter to spring with pre-year start (04-16)" for "week 04-16": PASSED
10501050
With warnings:
10511051
*week 04-16 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1052-
"Week range (beginning in matching year)" for "week 04-16": PASSED
1052+
"Week range: winter to spring with year start (04-16)" for "week 04-16": PASSED
10531053
With warnings:
10541054
*week 04-16 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1055-
"Week range first week" for "week 01": PASSED
1055+
"Week range: first week single year (week 01)" for "week 01": PASSED
10561056
With warnings:
10571057
*week 01 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1058-
"Week range first week" for "week 01": PASSED
1058+
"Week range: first week multi-year with full days (week 01)" for "week 01": PASSED
10591059
With warnings:
10601060
*week 01 <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1061-
"Week range first week" for "week 01 open": PASSED
1061+
"Week range: first week multi-year with full days (week 01)" for "week 01 open": PASSED
10621062
With warnings:
10631063
*week 01 open <--- (Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.)
1064-
"Week range first week" for "week 01 00:00-24:00": PASSED
1065-
"Week range first week" for "week 01 00:00-23:59": PASSED
1064+
"Week range: first week multi-year with full days (week 01)" for "week 01 00:00-24:00": PASSED
1065+
"Week range: first week multi-year with specific hours (week 01 00:00-23:59)" for "week 01 00:00-23:59": PASSED
1066+
"Week range: odd weeks with native Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
1067+
"Week range: odd weeks with normalized Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
1068+
"Week range: odd weeks with copied Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
10661069
"Only in one month of the year" for "Apr 08:00-12:00": PASSED
10671070
"Only in one month of the year" for "Apr: 08:00-12:00": PASSED
10681071
"Month ranges" for "Nov-Feb 00:00-24:00": PASSED
@@ -2705,7 +2708,7 @@ Der optional_conf_parm["tag_key"] fehlt, ist aber notwendig wegen optional_conf_
27052708
"Test isEqualTo function" for "Mo 10:00-20:00; We-Fr 10:00-20:01": PASSED
27062709
"Test isEqualTo function" for "Mo 10:00-20:00; We-Fr 10:00-19:59": PASSED
27072710
"Test isEqualTo function" for "closed; Sa unknown "comment"": PASSED
2708-
936/946 tests passed. 10 did not pass.
2711+
939/949 tests passed. 10 did not pass.
27092712
41 tests where (partly) ignored, sorted by commonness:
27102713
* 26: prettifyValue (most of the cases this is used to test if values with selectors in wrong order or wrong symbols (error tolerance) are evaluated correctly)
27112714
* 11: not implemented yet

test/test.en.log

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,49 +1020,52 @@ With warnings:
10201020
"Fallback group rules, with some closed times" for "Mo,Tu,Th 09:00-12:00; Fr 14:00-17:30 || "Termine nach Vereinbarung"; We off": PASSED
10211021
"Fallback group rules, with some closed times" for "Mo-Th 09:00-12:00; Fr 14:00-17:30 || "Termine nach Vereinbarung"; We off": PASSED
10221022
"Fallback group rules, with some closed times" for "Mo-Th 09:00-12:00; Fr 14:00-17:30 || unknown "Termine nach Vereinbarung"; We off": PASSED
1023-
"Week ranges" for "week 01,03 00:00-24:00": PASSED
1024-
"Week ranges" for "week 01,03 00:00-24:00 || closed "should not change the test result"": PASSED
1025-
"Week ranges" for "week 01,03: 00:00-24:00": PASSED
1026-
"Week ranges" for "week 01,week 03: 00:00-24:00": PASSED
1027-
"Week ranges" for "week 01: 00:00-24:00; week 03: 00:00-24:00": PASSED
1028-
"Week ranges" for "week 01; week 03": PASSED
1023+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03 00:00-24:00": PASSED
1024+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03 00:00-24:00 || closed "should not change the test result"": PASSED
1025+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,03: 00:00-24:00": PASSED
1026+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01,week 03: 00:00-24:00": PASSED
1027+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01: 00:00-24:00; week 03: 00:00-24:00": PASSED
1028+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01; week 03": PASSED
10291029
With warnings:
10301030
*week 01 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
10311031
*week 01; week 03 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1032-
"Week ranges" for "week 01-03/2 00:00-24:00": PASSED
1033-
"Week ranges" for "week 02,04 00:00-24:00": PASSED
1034-
"Week ranges" for "week 02-04/2 00:00-24:00": PASSED
1035-
"Week range limit" for "week 02-53": PASSED
1032+
"Week ranges: basic syntax patterns (weeks 01,03)" for "week 01-03/2 00:00-24:00": PASSED
1033+
"Week ranges: even weeks with period notation (02,04)" for "week 02,04 00:00-24:00": PASSED
1034+
"Week ranges: even weeks with period notation (02,04)" for "week 02-04/2 00:00-24:00": PASSED
1035+
"Week range: weeks 02-53 (excluding first week)" for "week 02-53": PASSED
10361036
With warnings:
10371037
*week 02-53 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1038-
"Week range limit" for "week 02-53 00:00-24:00": PASSED
1039-
"Week range full range" for "week 01-53": PASSED
1038+
"Week range: weeks 02-53 (excluding first week)" for "week 02-53 00:00-24:00": PASSED
1039+
"Week range: full year coverage (weeks 01-53)" for "week 01-53": PASSED
10401040
With warnings:
10411041
*week 01-53 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1042-
"Week range full range" for "week 01-53 00:00-24:00": PASSED
1043-
"Week range second week" for "week 02 00:00-24:00": PASSED
1044-
"Week range" for "week 01-53/2 00:00-24:00": PASSED
1045-
"Week range" for "week 01-53/2 00:00-24:00": PASSED
1046-
"Week range" for "week 02-53/2 We; week 01-53/2 Sa 00:00-24:00": PASSED
1042+
"Week range: full year coverage (weeks 01-53)" for "week 01-53 00:00-24:00": PASSED
1043+
"Week range: single week across multiple years (week 02)" for "week 02 00:00-24:00": PASSED
1044+
"Week range: odd weeks with boundary start date (01-53/2)" for "week 01-53/2 00:00-24:00": PASSED
1045+
"Week range: odd weeks with year start date (01-53/2)" for "week 01-53/2 00:00-24:00": PASSED
1046+
"Week range: alternating weeks with weekdays (even=We, odd=Sa)" for "week 02-53/2 We; week 01-53/2 Sa 00:00-24:00": PASSED
10471047
With warnings:
10481048
*week 02-53/2 We <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1049-
"Week range (beginning in last year)" for "week 04-16": PASSED
1049+
"Week range: winter to spring with pre-year start (04-16)" for "week 04-16": PASSED
10501050
With warnings:
10511051
*week 04-16 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1052-
"Week range (beginning in matching year)" for "week 04-16": PASSED
1052+
"Week range: winter to spring with year start (04-16)" for "week 04-16": PASSED
10531053
With warnings:
10541054
*week 04-16 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1055-
"Week range first week" for "week 01": PASSED
1055+
"Week range: first week single year (week 01)" for "week 01": PASSED
10561056
With warnings:
10571057
*week 01 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1058-
"Week range first week" for "week 01": PASSED
1058+
"Week range: first week multi-year with full days (week 01)" for "week 01": PASSED
10591059
With warnings:
10601060
*week 01 <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1061-
"Week range first week" for "week 01 open": PASSED
1061+
"Week range: first week multi-year with full days (week 01)" for "week 01 open": PASSED
10621062
With warnings:
10631063
*week 01 open <--- (This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.)
1064-
"Week range first week" for "week 01 00:00-24:00": PASSED
1065-
"Week range first week" for "week 01 00:00-23:59": PASSED
1064+
"Week range: first week multi-year with full days (week 01)" for "week 01 00:00-24:00": PASSED
1065+
"Week range: first week multi-year with specific hours (week 01 00:00-23:59)" for "week 01 00:00-23:59": PASSED
1066+
"Week range: odd weeks with native Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
1067+
"Week range: odd weeks with normalized Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
1068+
"Week range: odd weeks with copied Date objects (01-53/2)" for "week 01-53/2 Mo-Su 07:30-08:00": PASSED
10661069
"Only in one month of the year" for "Apr 08:00-12:00": PASSED
10671070
"Only in one month of the year" for "Apr: 08:00-12:00": PASSED
10681071
"Month ranges" for "Nov-Feb 00:00-24:00": PASSED
@@ -2698,7 +2701,7 @@ The optional_conf_parm["tag_key"] is missing, required by optional_conf_parm["ma
26982701
"Test isEqualTo function" for "Mo 10:00-20:00; We-Fr 10:00-20:01": PASSED
26992702
"Test isEqualTo function" for "Mo 10:00-20:00; We-Fr 10:00-19:59": PASSED
27002703
"Test isEqualTo function" for "closed; Sa unknown "comment"": PASSED
2701-
929/939 tests passed. 10 did not pass.
2704+
932/942 tests passed. 10 did not pass.
27022705
41 tests where (partly) ignored, sorted by commonness:
27032706
* 26: prettifyValue (most of the cases this is used to test if values with selectors in wrong order or wrong symbols (error tolerance) are evaluated correctly)
27042707
* 11: not implemented yet

0 commit comments

Comments
 (0)