@rr0/cms 0.3.51 → 0.3.53

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.
Files changed (61) hide show
  1. package/dist/CMSGenerator.test.js +28 -28
  2. package/dist/OpenGraphCommand.test.js +3 -3
  3. package/dist/RR0Context.test.js +5 -5
  4. package/dist/anchor/AnchorReplaceCommandTest.js +6 -6
  5. package/dist/anchor/AnchorReplacerTest.js +6 -6
  6. package/dist/book/BookService.test.js +4 -4
  7. package/dist/lang/LanguageReplaceCommand.test.js +9 -9
  8. package/dist/lang/RR0Messages_fr.d.ts +1 -0
  9. package/dist/org/country/CountryMessages.test.js +2 -2
  10. package/dist/org/country/CountryService.test.js +2 -2
  11. package/dist/org/country/region/RegionMessages.test.js +2 -2
  12. package/dist/org/country/region/RegionService.test.js +2 -2
  13. package/dist/org/country/region/department/DeparmentMessages.test.js +2 -2
  14. package/dist/org/country/region/department/DepartmentService.test.js +2 -2
  15. package/dist/org/country/region/department/city/CityMessages.test.js +2 -2
  16. package/dist/org/country/region/department/city/CityService.test.js +3 -3
  17. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.js +3 -3
  18. package/dist/people/PeopleMessages_en.js +1 -0
  19. package/dist/people/PeopleMessages_fr.d.ts +1 -0
  20. package/dist/people/PeopleMessages_fr.js +1 -0
  21. package/dist/people/PeopleRegexReplaceCommand.test.js +3 -3
  22. package/dist/people/PeopleReplacer.test.js +4 -4
  23. package/dist/people/author/AuthorReplaceCommandTest.js +15 -15
  24. package/dist/place/PlaceReplacer.test.js +4 -4
  25. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +8 -8
  26. package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.js +4 -4
  27. package/dist/test/{RR0TestUtil.d.ts → CMSTestUtil.d.ts} +2 -2
  28. package/dist/test/{RR0TestUtil.js → CMSTestUtil.js} +2 -2
  29. package/dist/test/index.d.ts +1 -1
  30. package/dist/test/index.js +1 -1
  31. package/dist/time/TimeDirectoryStep.test.js +7 -7
  32. package/dist/time/TimeEventRenderer.test.js +4 -4
  33. package/dist/time/TimeService.test.js +3 -3
  34. package/dist/time/TimeTagReplaceCommand.test.js +7 -7
  35. package/dist/time/TimeTestUtil.d.ts +2 -2
  36. package/dist/time/TimeTestUtil.js +7 -7
  37. package/dist/time/TimeUrlBuilder.test.js +3 -3
  38. package/dist/time/TitleReplaceCommand.test.js +10 -10
  39. package/dist/time/datasource/ChronologyReplacer.test.js +5 -5
  40. package/dist/time/datasource/CsvMapper.test.js +3 -3
  41. package/dist/time/datasource/DatasourceTestCase.js +3 -3
  42. package/dist/time/datasource/JsonMapper.test.js +3 -3
  43. package/dist/time/datasource/TimeContextFilter.test.js +2 -2
  44. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +3 -3
  45. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.js +3 -3
  46. package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.js +3 -3
  47. package/dist/time/datasource/fufora/FuforaDatasource.test.js +3 -3
  48. package/dist/time/datasource/nuforc/NuforcDatasource.test.js +3 -3
  49. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +3 -3
  50. package/dist/time/datasource/rr0/RR0Datasource.test.js +4 -4
  51. package/dist/time/datasource/rr0/RR0FileDatasource.test.js +2 -2
  52. package/dist/time/datasource/sceau/SceauDatasource.test.js +4 -4
  53. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +3 -3
  54. package/dist/time/datasource/urecat/UrecatDatasource.test.js +3 -3
  55. package/dist/time/datasource/urecat/UrecatTestCases.js +2 -2
  56. package/dist/time/html/TimeReplacer.test.js +21 -21
  57. package/dist/time/index.d.ts +1 -0
  58. package/dist/time/index.js +1 -0
  59. package/dist/time/text/RelativeTimeTextBuilder.test.js +10 -10
  60. package/dist/time/text/TimeTextBuilder.test.js +3 -3
  61. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
- import { rr0TestUtil } from "../../../test/index.js";
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
3
  import { Level2Date as EdtfDate } from "@rr0/time";
4
4
  import { nuforcDatasource } from "./NuforcRR0Mapping.js";
5
5
  import { nuforcTestCases } from "./NuforcTestCases.js";
@@ -23,7 +23,7 @@ function expectedSource(datasource, dataDate, caseNumber) {
23
23
  describe("NuforcRR0Mapper", () => {
24
24
  let context;
25
25
  beforeEach(() => {
26
- context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
26
+ context = cmsTestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
27
27
  context.time.setYear(1970);
28
28
  context.time.setMonth(3);
29
29
  });
@@ -32,7 +32,7 @@ describe("NuforcRR0Mapper", () => {
32
32
  expect(items).toEqual(nuforcTestCases);
33
33
  });
34
34
  test("fetch and map as RR0 cases", { skip: true }, async () => {
35
- const nuforcRR0Mapper = new NuforcRR0Mapper(rr0TestUtil.cityService, rr0TestUtil.countryService, nuforcDatasource.baseUrl.href, nuforcDatasource.copyright, nuforcDatasource.authors);
35
+ const nuforcRR0Mapper = new NuforcRR0Mapper(cmsTestUtil.cityService, cmsTestUtil.countryService, nuforcDatasource.baseUrl.href, nuforcDatasource.copyright, nuforcDatasource.authors);
36
36
  const dataDate = new Date("2024-08-12 00:00:00 GMT+1");
37
37
  const testCases = nuforcTestCases.sort((c1, c2) => c1.id < c2.id ? -1 : c1.id > c2.id ? 1 : 0);
38
38
  const mapped = testCases.map(sourceCase => nuforcRR0Mapper.map(context, sourceCase, dataDate));
@@ -1,5 +1,5 @@
1
1
  import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
- import { rr0TestUtil } from "../../../test/index.js";
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
3
  import { rr0TestCases } from "./RR0TestCases.js";
4
4
  import { DatasourceTestCase } from "../DatasourceTestCase.js";
5
5
  import { Level2Date as EdtfDate } from "@rr0/time";
@@ -12,7 +12,7 @@ import { NamedPlace } from "@rr0/place";
12
12
  export class RR0TestDatasource extends RR0Datasource {
13
13
  constructor() {
14
14
  super();
15
- this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
15
+ this.timeTextBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
16
16
  }
17
17
  async readCases(_context) {
18
18
  return rr0TestCases;
@@ -74,10 +74,10 @@ describe("RR0CaseSource", () => {
74
74
  return " " + HtmlTag.toString("span", authorStr + sourceItems.join(", "), { class: "source" });
75
75
  }).join("");
76
76
  }
77
- }(rr0TestMapping.init(rr0TestUtil), rr0TestCases);
77
+ }(rr0TestMapping.init(cmsTestUtil), rr0TestCases);
78
78
  let context;
79
79
  beforeEach(() => {
80
- context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
80
+ context = cmsTestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
81
81
  context.time.setYear(1970);
82
82
  context.time.setMonth(3);
83
83
  });
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from "@javarome/testscript";
2
- import { rr0TestUtil } from "../../../test/index.js";
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
3
  import { rr0TestCases } from "./RR0TestCases.js";
4
4
  import { RR0CaseSummaryMapper } from "./RR0CaseSummaryMapper.js";
5
5
  import { RR0FileDatasource } from "./RR0FileDatasource.js";
@@ -7,7 +7,7 @@ describe("RR0FileDatasource", () => {
7
7
  test("save", async () => {
8
8
  const csvMapper = new RR0CaseSummaryMapper(new URL("https://rr0.org"), "time", ["Beau, Jérôme"]);
9
9
  const datasource = new RR0FileDatasource(csvMapper);
10
- const context = rr0TestUtil.newHtmlContext("time/1/9/7/0/03/index.html");
10
+ const context = cmsTestUtil.newHtmlContext("time/1/9/7/0/03/index.html");
11
11
  const fileName = datasource.save(context, rr0TestCases, new Date("2025-01-01"));
12
12
  expect(fileName).toBe("test/time/1/9/7/0/03/BeauJerome_RR0.csv");
13
13
  });
@@ -4,14 +4,14 @@ import { Level2Date as EdtfDate } from "@rr0/time";
4
4
  import { HtmlTag } from "../../../util/index.js";
5
5
  import { SceauDatasource } from "./SceauDatasource.js";
6
6
  import { TimeTextBuilder } from "../../text/TimeTextBuilder.js";
7
- import { rr0TestUtil } from "../../../test/index.js";
7
+ import { cmsTestUtil } from "../../../test/index.js";
8
8
  import { sceauDatasource } from "./SceauRR0Mapping.js";
9
9
  import { sceauTestCases } from "./SceauTestCases.js";
10
10
  import { SceauCaseSummaryRR0Mapper } from "./SceauCaseSummaryRR0Mapper.js";
11
11
  export class SceauTestDatasource extends SceauDatasource {
12
12
  constructor() {
13
13
  super();
14
- this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
14
+ this.timeTextBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
15
15
  }
16
16
  async readCases(_context) {
17
17
  return sceauTestCases;
@@ -23,7 +23,7 @@ export class SceauTestMapping {
23
23
  this.datasource = sceauDatasource; // new SceauTestDatasource()
24
24
  }
25
25
  init(build) {
26
- this.mapper = new SceauCaseSummaryRR0Mapper(rr0TestUtil.cityService, sceauDatasource.baseUrl, sceauDatasource.copyright, sceauDatasource.authors);
26
+ this.mapper = new SceauCaseSummaryRR0Mapper(cmsTestUtil.cityService, sceauDatasource.baseUrl, sceauDatasource.copyright, sceauDatasource.authors);
27
27
  return this;
28
28
  }
29
29
  }
@@ -75,7 +75,7 @@ describe("SCEAUCaseSource", () => {
75
75
  }(new SceauTestMapping({ read: ["fetch"], write: [] }), sceauTestCases);
76
76
  let context;
77
77
  beforeEach(() => {
78
- context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
78
+ context = cmsTestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
79
79
  context.time.setYear(1970);
80
80
  context.time.setMonth(3);
81
81
  });
@@ -1,10 +1,10 @@
1
1
  import { beforeEach, describe, test } from "@javarome/testscript";
2
- import { rr0TestUtil } from "../../../test/index.js";
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
3
  import { DatasourceTestCase } from "../DatasourceTestCase.js";
4
4
  import { ufoSearchTestCases } from "./UfoSearchTestCases.js";
5
5
  import { UfoSearchRR0Mapping } from "./UfoSearchMapping.js";
6
6
  describe("UfoSearchCaseSource", () => {
7
- const ufoSearchRR0Mapping = new UfoSearchRR0Mapping({ read: ["fetch"], write: ["backup"] }).init(rr0TestUtil);
7
+ const ufoSearchRR0Mapping = new UfoSearchRR0Mapping({ read: ["fetch"], write: ["backup"] }).init(cmsTestUtil);
8
8
  const testCase = new class extends DatasourceTestCase {
9
9
  constructor(mapping, sourceCases) {
10
10
  super(mapping, sourceCases);
@@ -18,7 +18,7 @@ describe("UfoSearchCaseSource", () => {
18
18
  }(ufoSearchRR0Mapping, ufoSearchTestCases);
19
19
  let context;
20
20
  beforeEach(() => {
21
- context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
21
+ context = cmsTestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
22
22
  context.time.setYear(1977);
23
23
  context.time.setMonth(3);
24
24
  });
@@ -1,11 +1,11 @@
1
1
  import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
- import { rr0TestUtil } from "../../../test/index.js";
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
3
  import { urecatTestCases } from "./UrecatTestCases.js";
4
4
  import { DatasourceTestCase } from "../DatasourceTestCase.js";
5
5
  import { UrecatRR0Mapping } from "./UrecatRR0Mapping.js";
6
6
  describe("UrecatCaseSource", () => {
7
7
  const urecatRR0Mapping = new UrecatRR0Mapping({ read: ["fetch"], write: ["backup"] });
8
- urecatRR0Mapping.init(rr0TestUtil);
8
+ urecatRR0Mapping.init(cmsTestUtil);
9
9
  const testCase = new class extends DatasourceTestCase {
10
10
  constructor(mapping, sourceCases) {
11
11
  super(mapping, sourceCases);
@@ -19,7 +19,7 @@ describe("UrecatCaseSource", () => {
19
19
  }(urecatRR0Mapping, urecatTestCases);
20
20
  let context;
21
21
  beforeEach(() => {
22
- context = rr0TestUtil.time.newHtmlContext("1/9/7/7/03/index.html");
22
+ context = cmsTestUtil.time.newHtmlContext("1/9/7/7/03/index.html");
23
23
  });
24
24
  test("witnesses", () => {
25
25
  const datasource = testCase.mapping.datasource;
@@ -1,6 +1,6 @@
1
1
  import { Level2Date as EdtfDate } from "@rr0/time";
2
- import { rr0TestUtil } from "../../../test/index.js";
3
- const noWeekdayOptions = { ...rr0TestUtil.intlOptions };
2
+ import { cmsTestUtil } from "../../../test/index.js";
3
+ const noWeekdayOptions = { ...cmsTestUtil.intlOptions };
4
4
  noWeekdayOptions.weekday = undefined;
5
5
  export const urecatTestCases = [
6
6
  {
@@ -1,5 +1,5 @@
1
1
  import { TimeReplacer } from "./TimeReplacer.js";
2
- import { rr0TestUtil } from "../../test/index.js";
2
+ import { cmsTestUtil } from "../../test/index.js";
3
3
  import { describe, expect, test } from "@javarome/testscript";
4
4
  import { TimeRenderer } from "./TimeRenderer.js";
5
5
  import { TimeElementFactory } from "./TimeElementFactory.js";
@@ -7,7 +7,7 @@ import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
7
7
  import path from "path";
8
8
  import { TimeUrlBuilder } from "../TimeUrlBuilder.js";
9
9
  describe("TimeReplacer", async () => {
10
- const timeRoot = rr0TestUtil.time.timeOptions.rootDir;
10
+ const timeRoot = cmsTestUtil.time.timeOptions.rootDir;
11
11
  const timeOptions = {
12
12
  rootDir: timeRoot,
13
13
  files: [
@@ -23,7 +23,7 @@ describe("TimeReplacer", async () => {
23
23
  path.join(timeRoot, "2/0/0/7/06/15/index.html")
24
24
  ]
25
25
  };
26
- const textBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
26
+ const textBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
27
27
  const timeRenderer = new TimeRenderer(new TimeUrlBuilder(timeOptions), textBuilder);
28
28
  const timeElementFactory = new TimeElementFactory(timeRenderer);
29
29
  const replacer = new TimeReplacer(timeElementFactory);
@@ -32,11 +32,11 @@ describe("TimeReplacer", async () => {
32
32
  }
33
33
  test("parses year", async () => {
34
34
  {
35
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
35
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
36
36
  const timeEl = context.file.document.createElement("time");
37
37
  timeEl.textContent = "2003";
38
38
  const replacement = await replacer.replacement(context, timeEl);
39
- expect(replacement.outerHTML).toBe(`<span class="time-resolved"><a href="${path.join("/", rr0TestUtil.time.filePath("2/0/0/3/"))}"><time datetime="2003">2003</time></a></span>`);
39
+ expect(replacement.outerHTML).toBe(`<span class="time-resolved"><a href="${path.join("/", cmsTestUtil.time.filePath("2/0/0/3/"))}"><time datetime="2003">2003</time></a></span>`);
40
40
  expect(context.time.getYear()).toBe(2003);
41
41
  expect(context.time.getMonth()).toBe(undefined);
42
42
  expect(context.time.getDayOfMonth()).toBe(undefined);
@@ -45,7 +45,7 @@ describe("TimeReplacer", async () => {
45
45
  expect(context.time.getTimeZone()).toBe(undefined);
46
46
  }
47
47
  {
48
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
48
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
49
49
  const timeEl = context.file.document.createElement("time");
50
50
  timeEl.innerHTML = "2003\n ";
51
51
  const replacement = await replacer.replacement(context, timeEl);
@@ -59,7 +59,7 @@ describe("TimeReplacer", async () => {
59
59
  }
60
60
  });
61
61
  test("parses interval", async () => {
62
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
62
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
63
63
  const interval = "2003/2004";
64
64
  const original = context.file.document.createElement("time");
65
65
  original.textContent = interval;
@@ -75,7 +75,7 @@ describe("TimeReplacer", async () => {
75
75
  });
76
76
  test("parses unsupported", async () => {
77
77
  const interval = "moi";
78
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
78
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
79
79
  const original = context.file.document.createElement("time");
80
80
  original.textContent = interval;
81
81
  const replacement = await replacer.replacement(context, original);
@@ -89,7 +89,7 @@ describe("TimeReplacer", async () => {
89
89
  });
90
90
  test("parses timezone", async () => {
91
91
  {
92
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
92
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
93
93
  const original = context.file.document.createElement("time");
94
94
  original.textContent = "2003-12-24T10:22CDT";
95
95
  const replacement = await replacer.replacement(context, original);
@@ -103,7 +103,7 @@ describe("TimeReplacer", async () => {
103
103
  expect(context.time.getTimeshift()).toBe("-05");
104
104
  }
105
105
  /*{
106
- const context = rr0TestUtil.newHtmlContext("time/1/9/9/0/08/index.html", "")
106
+ const context = cmsTestUtil.newHtmlContext("time/1/9/9/0/08/index.html", "")
107
107
  const interval = "2003-12-24 (CDT)"
108
108
  const replacer = new TimeReplacer(["time/2/0/0/3/12/24"])
109
109
  expect(replacer.replacement(context, `<time>${interval}</time>`, interval))
@@ -117,7 +117,7 @@ describe("TimeReplacer", async () => {
117
117
  }*/
118
118
  });
119
119
  test("parses month", async () => {
120
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
120
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
121
121
  const original = context.file.document.createElement("time");
122
122
  original.textContent = "2004-09";
123
123
  const replacement = await replacer.replacement(context, original);
@@ -130,7 +130,7 @@ describe("TimeReplacer", async () => {
130
130
  });
131
131
  describe("parses day", () => {
132
132
  test("from full date", async () => {
133
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
133
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
134
134
  const timeEl = context.file.document.createElement("time");
135
135
  timeEl.textContent = "2005-08-23";
136
136
  const replacement = await replacer.replacement(context, timeEl);
@@ -143,19 +143,19 @@ describe("TimeReplacer", async () => {
143
143
  });
144
144
  });
145
145
  test("reset context", async () => {
146
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
146
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
147
147
  const timeEl = context.file.document.createElement("time");
148
148
  timeEl.textContent = "2005";
149
149
  const replacement = await replacer.replacement(context, timeEl);
150
- expect(replacement.outerHTML).toBe(`<span class="time-resolved"><a href="${rr0TestUtil.time.url("2/0/0/5/")}"><time datetime="2005">2005</time></a></span>`);
150
+ expect(replacement.outerHTML).toBe(`<span class="time-resolved"><a href="${cmsTestUtil.time.url("2/0/0/5/")}"><time datetime="2005">2005</time></a></span>`);
151
151
  const original = context.file.document.createElement("time");
152
152
  const datetime = "2006";
153
153
  original.textContent = datetime;
154
154
  const replacement2 = await replacer.replacement(context, original);
155
- expect(replacement2.outerHTML).toBe(`<span class="time-resolved"><a href="${rr0TestUtil.time.url("2/0/0/6/")}"><time datetime="${datetime}" title="2006">l'année suivante</time></a></span>`);
155
+ expect(replacement2.outerHTML).toBe(`<span class="time-resolved"><a href="${cmsTestUtil.time.url("2/0/0/6/")}"><time datetime="${datetime}" title="2006">l'année suivante</time></a></span>`);
156
156
  });
157
157
  test("avoids linking to current file", async () => {
158
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
158
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
159
159
  const timeEl = context.file.document.createElement("time");
160
160
  const datetime = "1954-10-01";
161
161
  timeEl.textContent = datetime;
@@ -165,7 +165,7 @@ describe("TimeReplacer", async () => {
165
165
  });
166
166
  describe("parse duration", () => {
167
167
  test("with days, hours, minutes and seconds", async () => {
168
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
168
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
169
169
  const timeEl = context.file.document.createElement("time");
170
170
  const datetime = "P2D10H23M45S";
171
171
  timeEl.textContent = datetime;
@@ -173,12 +173,12 @@ describe("TimeReplacer", async () => {
173
173
  expect(replacement.outerHTML).toBe(`<time datetime="${datetime}" class="duration">2 jours, 10 heures, 23 minutes et 45 secondes</time>`);
174
174
  });
175
175
  test("with context", async () => {
176
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
176
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
177
177
  {
178
178
  const ctxElement = context.file.document.createElement("time");
179
179
  ctxElement.textContent = "1947-07-02";
180
180
  const replacement1 = await replacer.replacement(context, ctxElement);
181
- expect(replacement1.outerHTML).toBe(`<span class="time-resolved"><a href="${rr0TestUtil.time.url("1/9/4/7/07/02/")}"><time datetime="1947-07-02">mercredi 2 juillet 1947</time></a></span>`);
181
+ expect(replacement1.outerHTML).toBe(`<span class="time-resolved"><a href="${cmsTestUtil.time.url("1/9/4/7/07/02/")}"><time datetime="1947-07-02">mercredi 2 juillet 1947</time></a></span>`);
182
182
  }
183
183
  {
184
184
  const element = context.file.document.createElement("time");
@@ -188,7 +188,7 @@ describe("TimeReplacer", async () => {
188
188
  }
189
189
  });
190
190
  test("with approximation", async () => {
191
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
191
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
192
192
  const original = context.file.document.createElement("time");
193
193
  original.textContent = "P~2H";
194
194
  const replacement = await replacer.replacement(context, original);
@@ -198,7 +198,7 @@ describe("TimeReplacer", async () => {
198
198
  describe("parses hour", () => {
199
199
  test("with context", async () => {
200
200
  // Empty context
201
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
201
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
202
202
  const timeEl = context.file.document.createElement("time");
203
203
  timeEl.textContent = "2006-07-14 17:56";
204
204
  const replacement = await replacer.replacement(context, timeEl);
@@ -8,6 +8,7 @@ export * from "./SsiTitleReplaceCommand.js";
8
8
  export * from "./Time.js";
9
9
  export * from "./TimeLinkDefaultHandler.js";
10
10
  export * from "./TimeService.js";
11
+ export * from "./TimeContext.mjs";
11
12
  export * from "./TimeUrlBuilder.js";
12
13
  export * from "./datasource/index.js";
13
14
  export * from "./TimeOptions.js";
@@ -8,6 +8,7 @@ export * from "./SsiTitleReplaceCommand.js";
8
8
  export * from "./Time.js";
9
9
  export * from "./TimeLinkDefaultHandler.js";
10
10
  export * from "./TimeService.js";
11
+ export * from "./TimeContext.mjs";
11
12
  export * from "./TimeUrlBuilder.js";
12
13
  export * from "./datasource/index.js";
13
14
  export * from "./TimeOptions.js";
@@ -1,13 +1,13 @@
1
1
  import { RelativeTimeTextBuilder } from "./RelativeTimeTextBuilder.js";
2
- import { rr0TestUtil } from "../../test/index.js";
2
+ import { cmsTestUtil } from "../../test/index.js";
3
3
  import { describe, expect, test } from "@javarome/testscript";
4
4
  import { TimeTextBuilder } from "./TimeTextBuilder.js";
5
5
  describe("RelativeTimeTextBuilder", () => {
6
- const timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
6
+ const timeTextBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
7
7
  const relativeTimeTextBuilder = new RelativeTimeTextBuilder(timeTextBuilder);
8
8
  test("next year", () => {
9
9
  {
10
- const previousContext = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
10
+ const previousContext = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
11
11
  previousContext.time.setYear(2003);
12
12
  const context = previousContext.clone();
13
13
  context.time.setYear(2004);
@@ -19,7 +19,7 @@ describe("RelativeTimeTextBuilder", () => {
19
19
  }
20
20
  });
21
21
  test("change year", () => {
22
- const previousContext = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
22
+ const previousContext = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
23
23
  previousContext.time.setYear(1947);
24
24
  const context = previousContext.clone();
25
25
  context.time.setYear(1990);
@@ -30,7 +30,7 @@ describe("RelativeTimeTextBuilder", () => {
30
30
  });
31
31
  test("next month", () => {
32
32
  {
33
- const context1 = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
33
+ const context1 = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
34
34
  context1.time.setYear(2003);
35
35
  {
36
36
  context1.time.setMonth(2);
@@ -59,7 +59,7 @@ describe("RelativeTimeTextBuilder", () => {
59
59
  expect(s4).toBe("vendredi 24 janvier");
60
60
  }
61
61
  {
62
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
62
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
63
63
  context.time.setYear(2003);
64
64
  context.time.setMonth(9);
65
65
  const previousContext = context.clone();
@@ -70,7 +70,7 @@ describe("RelativeTimeTextBuilder", () => {
70
70
  });
71
71
  test("next day", () => {
72
72
  {
73
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
73
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
74
74
  context.time.setYear(2003);
75
75
  context.time.setMonth(9);
76
76
  context.time.setDayOfMonth(23);
@@ -80,7 +80,7 @@ describe("RelativeTimeTextBuilder", () => {
80
80
  expect(relativeTimeTextBuilder.build(previousContext, context)).toBe("le lendemain");
81
81
  }
82
82
  {
83
- const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
83
+ const context = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
84
84
  context.time.setYear(2003);
85
85
  context.time.setMonth(9);
86
86
  context.time.setDayOfMonth(23);
@@ -93,7 +93,7 @@ describe("RelativeTimeTextBuilder", () => {
93
93
  describe("hour", () => {
94
94
  test("next", () => {
95
95
  {
96
- let previousContext = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "");
96
+ let previousContext = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "");
97
97
  const context = previousContext.clone();
98
98
  context.time.setYear(2003);
99
99
  context.time.setMonth(9);
@@ -107,7 +107,7 @@ describe("RelativeTimeTextBuilder", () => {
107
107
  expect(relativeTimeTextBuilder.build(previousContext, context)).toBe("17:43");
108
108
  }
109
109
  {
110
- let previousContext = rr0TestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
110
+ let previousContext = cmsTestUtil.time.newHtmlContext("1/9/9/0/08", "<html lang='en'></html>");
111
111
  const context = previousContext.clone();
112
112
  context.time.setYear(2003);
113
113
  context.time.setMonth(9);
@@ -1,11 +1,11 @@
1
1
  import { RR0ContextImpl } from "../../RR0Context.js";
2
2
  import { describe, expect, test } from "@javarome/testscript";
3
- import { rr0TestUtil } from "../../test/index.js";
3
+ import { cmsTestUtil } from "../../test/index.js";
4
4
  import { TimeTextBuilder } from "./TimeTextBuilder.js";
5
5
  import { TimeContext } from "../TimeContext.mjs";
6
6
  describe("timeTextBuilder", () => {
7
- const config = rr0TestUtil.config;
8
- const timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
7
+ const config = cmsTestUtil.config;
8
+ const timeTextBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
9
9
  test("prints year", () => {
10
10
  {
11
11
  const context = new RR0ContextImpl("fr", new TimeContext(), config);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@rr0/cms",
3
3
  "type": "module",
4
4
  "author": "Jérôme Beau <rr0@rr0.org> (https://rr0.org)",
5
- "version": "0.3.51",
5
+ "version": "0.3.53",
6
6
  "description": "RR0 Content Management System (CMS)",
7
7
  "exports": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
@@ -31,16 +31,16 @@
31
31
  "dependencies": {
32
32
  "@javarome/fileutil": "^0.3.7",
33
33
  "@rr0/common": "^1.1.4",
34
- "@rr0/data": "^0.3.38",
34
+ "@rr0/data": "^0.3.39",
35
35
  "@rr0/lang": "^0.1.12",
36
36
  "@rr0/place": "^0.5.3",
37
37
  "@rr0/time": "^0.11.1",
38
- "canvas": "^3.1.2",
38
+ "canvas": "^3.2.0",
39
39
  "csv-parser": "^3.2.0",
40
40
  "glob": "^11.0.3",
41
41
  "image-size": "^2.0.2",
42
- "jsdom": "^26.1.0",
43
- "selenium-webdriver": "^4.34.0",
42
+ "jsdom": "^27.0.0",
43
+ "selenium-webdriver": "^4.35.0",
44
44
  "ssg-api": "^1.17.4"
45
45
  },
46
46
  "devDependencies": {