Files
MagicMirror/tests/e2e/config_functions_spec.js
Karsten Hassel d3a3ad9caf config endpoint must handle functions in module configs (#4106)
Fixes #4105

```bash
In JavaScript, standard JSON does not support functions.
If you use JSON.stringify() on an object containing functions,
those functions will be omitted (if they are object properties)
or changed to null (if they are in an array).
```

---------

Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
2026-04-12 15:50:00 -05:00

22 lines
769 B
JavaScript

const helpers = require("./helpers/global-setup");
describe("config with module function", () => {
beforeAll(async () => {
await helpers.startApplication("tests/configs/config_functions.js");
});
afterAll(async () => {
await helpers.stopApplication();
});
it("config should resolve module functions", () => {
expect(config.modules[0].config.moduleFunctions.roundToInt1(13.3)).toBe(13);
expect(config.modules[0].config.moduleFunctions.roundToInt2(13.3)).toBe(13);
});
it("config should not revive plain strings containing arrow or function keywords", () => {
expect(config.modules[0].config.stringWithArrow).toBe("a => b is not a function");
expect(config.modules[0].config.stringWithFunction).toBe("this function keyword is just text");
});
});