@rr0/cms 0.3.52 → 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.
- package/dist/CMSGenerator.test.js +28 -28
- package/dist/OpenGraphCommand.test.js +3 -3
- package/dist/RR0Context.test.js +5 -5
- package/dist/anchor/AnchorReplaceCommandTest.js +6 -6
- package/dist/anchor/AnchorReplacerTest.js +6 -6
- package/dist/book/BookService.test.js +4 -4
- package/dist/lang/LanguageReplaceCommand.test.js +9 -9
- package/dist/lang/RR0Messages_fr.d.ts +1 -0
- package/dist/org/country/CountryMessages.test.js +2 -2
- package/dist/org/country/CountryService.test.js +2 -2
- package/dist/org/country/region/RegionMessages.test.js +2 -2
- package/dist/org/country/region/RegionService.test.js +2 -2
- package/dist/org/country/region/department/DeparmentMessages.test.js +2 -2
- package/dist/org/country/region/department/DepartmentService.test.js +2 -2
- package/dist/org/country/region/department/city/CityMessages.test.js +2 -2
- package/dist/org/country/region/department/city/CityService.test.js +3 -3
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.js +3 -3
- package/dist/people/PeopleMessages_en.js +1 -0
- package/dist/people/PeopleMessages_fr.d.ts +1 -0
- package/dist/people/PeopleMessages_fr.js +1 -0
- package/dist/people/PeopleRegexReplaceCommand.test.js +3 -3
- package/dist/people/PeopleReplacer.test.js +4 -4
- package/dist/people/author/AuthorReplaceCommandTest.js +15 -15
- package/dist/place/PlaceReplacer.test.js +4 -4
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +8 -8
- package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.js +4 -4
- package/dist/test/{RR0TestUtil.d.ts → CMSTestUtil.d.ts} +2 -2
- package/dist/test/{RR0TestUtil.js → CMSTestUtil.js} +2 -2
- package/dist/test/index.d.ts +1 -1
- package/dist/test/index.js +1 -1
- package/dist/time/TimeDirectoryStep.test.js +7 -7
- package/dist/time/TimeEventRenderer.test.js +4 -4
- package/dist/time/TimeService.test.js +3 -3
- package/dist/time/TimeTagReplaceCommand.test.js +7 -7
- package/dist/time/TimeTestUtil.d.ts +2 -2
- package/dist/time/TimeTestUtil.js +7 -7
- package/dist/time/TimeUrlBuilder.test.js +3 -3
- package/dist/time/TitleReplaceCommand.test.js +10 -10
- package/dist/time/datasource/ChronologyReplacer.test.js +5 -5
- package/dist/time/datasource/CsvMapper.test.js +3 -3
- package/dist/time/datasource/DatasourceTestCase.js +3 -3
- package/dist/time/datasource/JsonMapper.test.js +3 -3
- package/dist/time/datasource/TimeContextFilter.test.js +2 -2
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +3 -3
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.js +3 -3
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.js +3 -3
- package/dist/time/datasource/fufora/FuforaDatasource.test.js +3 -3
- package/dist/time/datasource/nuforc/NuforcDatasource.test.js +3 -3
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +3 -3
- package/dist/time/datasource/rr0/RR0Datasource.test.js +4 -4
- package/dist/time/datasource/rr0/RR0FileDatasource.test.js +2 -2
- package/dist/time/datasource/sceau/SceauDatasource.test.js +4 -4
- package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +3 -3
- package/dist/time/datasource/urecat/UrecatDatasource.test.js +3 -3
- package/dist/time/datasource/urecat/UrecatTestCases.js +2 -2
- package/dist/time/html/TimeReplacer.test.js +21 -21
- package/dist/time/text/RelativeTimeTextBuilder.test.js +10 -10
- package/dist/time/text/TimeTextBuilder.test.js +3 -3
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, test } from "@javarome/testscript";
|
|
2
|
-
import {
|
|
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 =
|
|
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(
|
|
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 {
|
|
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(
|
|
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(
|
|
77
|
+
}(rr0TestMapping.init(cmsTestUtil), rr0TestCases);
|
|
78
78
|
let context;
|
|
79
79
|
beforeEach(() => {
|
|
80
|
-
context =
|
|
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 {
|
|
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 =
|
|
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 {
|
|
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(
|
|
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(
|
|
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 =
|
|
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 {
|
|
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(
|
|
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 =
|
|
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 {
|
|
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(
|
|
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 =
|
|
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 {
|
|
3
|
-
const noWeekdayOptions = { ...
|
|
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 {
|
|
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 =
|
|
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(
|
|
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 =
|
|
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("/",
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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="${
|
|
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="${
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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="${
|
|
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 =
|
|
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 =
|
|
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);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { RelativeTimeTextBuilder } from "./RelativeTimeTextBuilder.js";
|
|
2
|
-
import {
|
|
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(
|
|
6
|
+
const timeTextBuilder = new TimeTextBuilder(cmsTestUtil.intlOptions);
|
|
7
7
|
const relativeTimeTextBuilder = new RelativeTimeTextBuilder(timeTextBuilder);
|
|
8
8
|
test("next year", () => {
|
|
9
9
|
{
|
|
10
|
-
const previousContext =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 {
|
|
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 =
|
|
8
|
-
const timeTextBuilder = new TimeTextBuilder(
|
|
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.
|
|
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.
|
|
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.
|
|
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": "^
|
|
43
|
-
"selenium-webdriver": "^4.
|
|
42
|
+
"jsdom": "^27.0.0",
|
|
43
|
+
"selenium-webdriver": "^4.35.0",
|
|
44
44
|
"ssg-api": "^1.17.4"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|