fix #3267, CORRECTLY, add testcase, add testcase for #3279 (#3681)
fixes #3267 AGAIN, correctly, add testcase
add testcase for #3679 , broadcast clipping incorrectly
I added a test module (tests/testNotification) to catch the notification
and check the count. (one way to configure)
i put this module in the tests folder, and added /tests to the server
paths.
(can't have a module in a nested folder, like tests/modules/xxx)
but I have a problem. i can run the test config (MM_CONFIG_FILE), and
the two modules work correctly,
but in the spec runner, the calendar module times out on the broadcast
test.. there is only local ics file access, no outside hosts
I forced my system date to 1/1/24 (same as runner) and again the manual
testcase works fine
I added two test config.js,(configs/calendar) one works great (symbols)
, one fails (broadcast test)
I added additional delay in the calendarspec runner to try to debug the
module, but it still not long enough.. no messages of trouble when I get
into the browser.. BUT, this may be because of the log being turned
off... (just thought of this)
I created a special ICS (in mocks) that has 12 events, 1 for each
month.. (so I can check clipping and broadcast) the US holidays one is
sensitive to the current date, and I couldn't get it to work on
1/1/2024..
also, in general, is there a mechanism to run test:just_one_runner?
waiting thru the electron test to get to one testcase.. ugh..
2025-01-05 15:25:32 -06:00
|
|
|
Module.register("testNotification", {
|
|
|
|
|
defaults: {
|
|
|
|
|
debug: false,
|
|
|
|
|
match: {
|
|
|
|
|
notificationID: "",
|
|
|
|
|
matchtype: "count"
|
|
|
|
|
//or
|
|
|
|
|
// type: 'contents' // look for item in field of content
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
count: 0,
|
|
|
|
|
table: null,
|
|
|
|
|
notificationReceived (notification, payload) {
|
|
|
|
|
if (notification === this.config.match.notificationID) {
|
|
|
|
|
if (this.config.match.matchtype === "count") {
|
|
|
|
|
this.count = payload.length;
|
|
|
|
|
if (this.count) {
|
|
|
|
|
this.table = document.createElement("table");
|
|
|
|
|
this.addTableRow(this.table, null, `${this.count}:elementCount`);
|
|
|
|
|
if (this.config.debug) {
|
|
|
|
|
payload.forEach((e, i) => {
|
|
|
|
|
this.addTableRow(this.table, i, e.title);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.updateDom();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
maketd (row, info) {
|
|
|
|
|
let td = document.createElement("td");
|
|
|
|
|
row.appendChild(td);
|
|
|
|
|
if (info !== null) {
|
|
|
|
|
let colinfo = info.toString().split(":");
|
|
|
|
|
if (colinfo.length === 2) td.className = colinfo[1];
|
|
|
|
|
td.innerText = colinfo[0];
|
|
|
|
|
}
|
|
|
|
|
return td;
|
|
|
|
|
},
|
|
|
|
|
addTableRow (table, col1 = null, col2 = null, col3 = null) {
|
|
|
|
|
let tableRow = document.createElement("tr");
|
|
|
|
|
table.appendChild(tableRow);
|
|
|
|
|
|
2026-04-02 08:56:27 +02:00
|
|
|
this.maketd(tableRow, col1);
|
|
|
|
|
this.maketd(tableRow, col2);
|
|
|
|
|
this.maketd(tableRow, col3);
|
fix #3267, CORRECTLY, add testcase, add testcase for #3279 (#3681)
fixes #3267 AGAIN, correctly, add testcase
add testcase for #3679 , broadcast clipping incorrectly
I added a test module (tests/testNotification) to catch the notification
and check the count. (one way to configure)
i put this module in the tests folder, and added /tests to the server
paths.
(can't have a module in a nested folder, like tests/modules/xxx)
but I have a problem. i can run the test config (MM_CONFIG_FILE), and
the two modules work correctly,
but in the spec runner, the calendar module times out on the broadcast
test.. there is only local ics file access, no outside hosts
I forced my system date to 1/1/24 (same as runner) and again the manual
testcase works fine
I added two test config.js,(configs/calendar) one works great (symbols)
, one fails (broadcast test)
I added additional delay in the calendarspec runner to try to debug the
module, but it still not long enough.. no messages of trouble when I get
into the browser.. BUT, this may be because of the log being turned
off... (just thought of this)
I created a special ICS (in mocks) that has 12 events, 1 for each
month.. (so I can check clipping and broadcast) the US holidays one is
sensitive to the current date, and I couldn't get it to work on
1/1/2024..
also, in general, is there a mechanism to run test:just_one_runner?
waiting thru the electron test to get to one testcase.. ugh..
2025-01-05 15:25:32 -06:00
|
|
|
|
|
|
|
|
return tableRow;
|
|
|
|
|
},
|
|
|
|
|
getDom () {
|
|
|
|
|
let wrapper = document.createElement("div");
|
|
|
|
|
if (this.table) {
|
|
|
|
|
wrapper.appendChild(this.table);
|
|
|
|
|
}
|
|
|
|
|
return wrapper;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|