129 lines
4.4 KiB
JavaScript
129 lines
4.4 KiB
JavaScript
let read_json_file = require("../read_json_file.js").read_json_file;
|
|
let message = require("../message.js");
|
|
|
|
let testMsg = {"headers": {"Subject" : "lunch", "Date" : "now"}};
|
|
let otherMsg = {"headers": {"Subject" : "dinner", "Date" : "now"}};
|
|
|
|
describe("match",
|
|
function() {
|
|
it("message matches itself",
|
|
function () {
|
|
expect(message.match(testMsg,testMsg.headers)).toEqual(true);
|
|
});
|
|
it("message does not match if field changes",
|
|
function () {
|
|
expect(message.match(testMsg,otherMsg.headers)).toEqual(false);
|
|
});
|
|
it("match subset of fields",
|
|
function () {
|
|
expect(message.match(testMsg,{"Subject": "lunch"})).toEqual(true);
|
|
});
|
|
});
|
|
describe("message body",
|
|
function () {
|
|
it("unsigned message",
|
|
function () {
|
|
let message_objects=read_json_file("example1.json").flat(Infinity);
|
|
let msg = message_objects.filter((m) => message.match(m,{ "From": "Aron Griffis <[email protected]>"}))[0];
|
|
expect(msg).not.toEqual(null);
|
|
expect(message.body(msg)).toEqual(`Just subscribed, I'd like to catch up on the previous postings,
|
|
but the archive link seems to be bogus?
|
|
|
|
Thanks,
|
|
Aron
|
|
|
|
`);
|
|
});
|
|
it("signed message",
|
|
function () {
|
|
let message_objects=read_json_file("example2.json").flat(Infinity);
|
|
let msg = message_objects.filter((m) => message.match(m,{"From": "[email protected] (Marco d'Itri)"}))[0];
|
|
|
|
expect(msg).not.toEqual(null);
|
|
expect(message.body(msg)).toEqual(`On Sep 09, Sean Whitton <[email protected]> wrote:
|
|
|
|
> 1. Is the 'should not' for the /etc/default practice too strong? I
|
|
No, because it cannot be supported in a sane way by systemd units.
|
|
It should even be "must not".
|
|
|
|
--
|
|
ciao,
|
|
Marco
|
|
`);
|
|
});
|
|
it("no body",
|
|
function() {
|
|
expect(message.body(testMsg)).toEqual(undefined)
|
|
});
|
|
|
|
});
|
|
let fullHeaderMsg ={"headers": {
|
|
"Subject": "[notmuch] archive",
|
|
"From": "Aron Griffis <[email protected]>",
|
|
"To": "notmuch <[email protected]>",
|
|
"Date": "Tue, 17 Nov 2009 18:21:38 -0500"
|
|
}};
|
|
|
|
describe("toString",
|
|
function () {
|
|
it("works with no body",
|
|
function () {
|
|
expect(message.string(testMsg)).toEqual(`Date: now
|
|
Subject: lunch
|
|
`);
|
|
});
|
|
|
|
it("full set of headers",
|
|
function() {
|
|
expect(message.string(fullHeaderMsg)).toEqual(`From: Aron Griffis <[email protected]>
|
|
Date: Tue, 17 Nov 2009 18:21:38 -0500
|
|
Subject: [notmuch] archive
|
|
To: notmuch <[email protected]>
|
|
`);
|
|
});
|
|
});
|
|
|
|
describe("toString real data",
|
|
function () {
|
|
it("unsigned message",
|
|
function () {
|
|
let message_objects=read_json_file("example1.json").flat(Infinity);
|
|
let msg = message_objects.filter((m) => message.match(m,{ "From": "Aron Griffis <[email protected]>"}))[0];
|
|
expect(msg).not.toEqual(null);
|
|
expect(message.string(msg)).toEqual(`From: Aron Griffis <[email protected]>
|
|
Date: Tue, 17 Nov 2009 18:21:38 -0500
|
|
Subject: [notmuch] archive
|
|
To: notmuch <[email protected]>
|
|
|
|
Just subscribed, I'd like to catch up on the previous postings,
|
|
but the archive link seems to be bogus?
|
|
|
|
Thanks,
|
|
Aron
|
|
|
|
`);
|
|
});
|
|
|
|
it("signed message",
|
|
function () {
|
|
let message_objects=read_json_file("example2.json").flat(Infinity);
|
|
let msg = message_objects.filter((m) => message.match(m,{"From": "[email protected] (Marco d'Itri)"}))[0];
|
|
|
|
expect(msg).not.toEqual(null);
|
|
expect(message.string(msg)).toEqual(`From: [email protected] (Marco d'Itri)
|
|
Date: Sun, 10 Sep 2017 09:48:44 +0200
|
|
Subject: Bug#601455: Steps towards a patch to document disabling a daemon upon installation
|
|
To: [email protected]
|
|
|
|
On Sep 09, Sean Whitton <[email protected]> wrote:
|
|
|
|
> 1. Is the 'should not' for the /etc/default practice too strong? I
|
|
No, because it cannot be supported in a sane way by systemd units.
|
|
It should even be "must not".
|
|
|
|
--
|
|
ciao,
|
|
Marco
|
|
`);});
|
|
});
|