From 9e53999369a4fbd01a317f1d0c5d95192363a371 Mon Sep 17 00:00:00 2001 From: Eliott Vincent Date: Wed, 12 Feb 2025 15:40:59 +0100 Subject: [PATCH] Avoid false positives --- lib/parser/emailparser.js | 2 +- lib/regex.js | 3 +- test/fixtures/email_not_a_signature_2.txt | 10 + test/test.js | 422 +++++++++++----------- 4 files changed, 229 insertions(+), 208 deletions(-) create mode 100644 test/fixtures/email_not_a_signature_2.txt diff --git a/lib/parser/emailparser.js b/lib/parser/emailparser.js index 8f6377c..604469e 100644 --- a/lib/parser/emailparser.js +++ b/lib/parser/emailparser.js @@ -115,7 +115,7 @@ class EmailParser { createEmail(fragmentDTOs) { let fragments = []; - + fragmentDTOs.reverse().forEach((fragment) => { fragments.push(new Fragment( this.stringReverse(fragment.lines.join("\n")).replace(/^\n/g, ''), diff --git a/lib/regex.js b/lib/regex.js index 294789d..00642cb 100644 --- a/lib/regex.js +++ b/lib/regex.js @@ -27,7 +27,7 @@ class RegexList { /^\s*(Op\s[\s\S]+?\n?schreef[\s\S]+:)$/m, // Il DATE, schreef NAME : /^\s*((W\sdniu|Dnia)\s[\s\S]+?(pisze|napisał(\(a\))?):)$/mu, // W dniu DATE, NAME pisze|napisał: /^\s*(Den\s.+\s\n?skrev\s.+:)$/m, // Den DATE skrev NAME : - /^\s*(pe\s.+\s.+\n?kirjoitti:)$/m, // pe DATE NAME kirjoitti: + /^\s*(pe\s.+\s.+\n?kirjoitti:)$/m, // pe DATE NAME kirjoitti: /^\s*(Am\s.+\sum\s.+\s\n?schrieb\s.+:)$/m, // Am DATE um TIME schrieb NAME: /^(在[\s\S]+写道:)$/m, // > 在 DATE, TIME, NAME 写道: /^(20[0-9]{2}\..+\s작성:)$/m, // DATE TIME NAME 작성: @@ -53,7 +53,6 @@ class RegexList { /^\s*-{2,4}$/, // Separator /^\s*_{2,4}$/, // Separator /^-- $/, // Separator - /^-- \s*.+$/, // Separator /^\+{2,4}$/, // Separator /^\={2,4}$/, // Separator /^________________________________$/, // Separator diff --git a/test/fixtures/email_not_a_signature_2.txt b/test/fixtures/email_not_a_signature_2.txt new file mode 100644 index 0000000..ee30e5b --- /dev/null +++ b/test/fixtures/email_not_a_signature_2.txt @@ -0,0 +1,10 @@ +Hello, + +I'm writing you because of: +-- first point needs to be checked +-- second point needs to be checked +-- and also third point needs to be checked + +I hope you can check it + +Thanks! \ No newline at end of file diff --git a/test/test.js b/test/test.js index 259d745..f443f7c 100644 --- a/test/test.js +++ b/test/test.js @@ -1,5 +1,5 @@ -var fs = require("fs"); -var _ = require("underscore"); +var fs = require("fs"); +var _ = require("underscore"); var EmailReplyParser = require("../lib/emailreplyparser"); const COMMON_FIRST_FRAGMENT = 'Fusce bibendum, quam hendrerit sagittis tempor, dui turpis tempus erat, pharetra sodales ante sem sit amet metus.\n\ @@ -9,9 +9,9 @@ Duis ut libero eu lectus consequat consequat ut vel lorem. Vestibulum convallis et mollis ligula rutrum quis. Fusce sed odio id arcu varius aliquet nec nec nibh.'; function get_email(name) { - var data = fs.readFileSync(__dirname + "/fixtures/" + name + ".txt", "utf-8"); + var data = fs.readFileSync(__dirname + "/fixtures/" + name + ".txt", "utf-8"); - return new EmailReplyParser().read(data); + return new EmailReplyParser().read(data); } exports.test_reads_simple_body = function(test){ @@ -19,8 +19,8 @@ exports.test_reads_simple_body = function(test){ test.equal(2, reply.fragments.length); - test.deepEqual([false, false], _.map(reply.fragments, function(f) { return f.isQuoted(); })); - test.deepEqual([false, true], _.map(reply.fragments, function(f) { return f.isHidden(); })); + test.deepEqual([false, false], _.map(reply.fragments, function(f) { return f.isQuoted(); })); + test.deepEqual([false, true], _.map(reply.fragments, function(f) { return f.isHidden(); })); test.equal("Hi folks\n\nWhat is the best way to clear a Riak bucket of all key, values after\nrunning a test?\nI am currently using the Java HTTP API.\n\n-Abhishek Kona\n\n", reply.fragments[0].toString()); @@ -28,516 +28,528 @@ exports.test_reads_simple_body = function(test){ }; exports.test_reads_top_post = function(test){ - let email = get_email("email_3"); + let email = get_email("email_3"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); + + test.equal("Hi folks\n\nWhat is the best way to clear a Riak bucket of all key, values after\nrunning a test?\nI am currently using the Java HTTP API.\n\n-Abhishek Kona\n\n", reply.fragments[0].toString()); - test.equal("Hi folks\n\nWhat is the best way to clear a Riak bucket of all key, values after\nrunning a test?\nI am currently using the Java HTTP API.\n\n-Abhishek Kona\n\n", reply.fragments[0].toString()); - - test.done(); + test.done(); }; exports.test_reads_bottom_post = function(test){ let email = get_email("email_2"); let fragments = email.getFragments(); - test.equal(6, fragments.length); + test.equal(6, fragments.length); - test.equal("Hi,", fragments[0]); - test.equal(true, /^On [^\:]+\:/.test(fragments[1])); - test.equal(true, /^You can list/.test(fragments[2])); - test.equal(true, /^>/.test(fragments[3])); - test.equal(true, /^_/.test(fragments[5])); - test.done(); + test.equal("Hi,", fragments[0]); + test.equal(true, /^On [^\:]+\:/.test(fragments[1])); + test.equal(true, /^You can list/.test(fragments[2])); + test.equal(true, /^>/.test(fragments[3])); + test.equal(true, /^_/.test(fragments[5])); + test.done(); }; exports.test_recognizes_data_string_above_quote = function(test){ - let email = get_email("email_4"); + let email = get_email("email_4"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(true, /^Awesome/.test(fragments[0])); - test.equal(true,/^On/.test(fragments[1])); - test.equal(true, /Loader/.test(fragments[1])); - test.done(); + test.equal(true, /^Awesome/.test(fragments[0])); + test.equal(true, /^On/.test(fragments[1])); + test.equal(true, /Loader/.test(fragments[1])); + test.done(); }; exports.test_complex_body_with_only_one_fragment = function(test){ - let email = get_email("email_5"); + let email = get_email("email_5"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(1, fragments.length); - test.done(); + test.equal(1, fragments.length); + test.done(); }; exports.test_deals_with_multiline_reply_headers = function(test){ - let email = get_email("email_6"); + let email = get_email("email_6"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(true, /^I get/.test(fragments[0])); - test.equal(true,/^On/.test(fragments[1])); - test.equal(true, /Was this/.test(fragments[1])); + test.equal(true, /^I get/.test(fragments[0])); + test.equal(true,/^On/.test(fragments[1])); + test.equal(true, /Was this/.test(fragments[1])); - test.done(); + test.done(); }; exports.test_email_with_italian = function(test) { - let email = get_email("email_7"); + let email = get_email("email_7"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_with_dutch = function(test) { - let email = get_email("email_8"); + let email = get_email("email_8"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_with_signature = function(test) { - let email = get_email("email_9"); + let email = get_email("email_9"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_with_hotmail = function(test) { - let email = get_email("email_10"); + let email = get_email("email_10"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_whitespace_before_header = function(test) { - let email = get_email("email_11"); + let email = get_email("email_11"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_square_brackets = function(test) { - let email = get_email("email_12"); + let email = get_email("email_12"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_da_into_italian = function(test) { - let email = get_email("email_13"); + let email = get_email("email_13"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_header_polish = function(test) { - let email = get_email("email_14"); + let email = get_email("email_14"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_sent_from_my = function(test) { - let email = get_email("email_15"); + let email = get_email("email_15"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_header_polish_with_dnia_and_napisala = function(test) { - let email = get_email("email_16"); + let email = get_email("email_16"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_header_polish_with_date_in_iso8601 = function(test) { - let email = get_email("email_17"); + let email = get_email("email_17"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_outlook_en = function(test) { - let email = get_email("email_18"); + let email = get_email("email_18"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_22 = function(test) { - let email = get_email("email_22"); + let email = get_email("email_22"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_23 = function(test) { - let email = get_email("email_23"); + let email = get_email("email_23"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_25 = function(test) { - let email = get_email("email_25"); + let email = get_email("email_25"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_26 = function(test) { - let email = get_email("email_26"); + let email = get_email("email_26"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_portuguese = function(test) { - let email = get_email("email_portuguese"); + let email = get_email("email_portuguese"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_german = function(test) { - let email = get_email("email_german"); + let email = get_email("email_german"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_german_2 = function(test) { - let email = get_email("email_german_2"); + let email = get_email("email_german_2"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_german_3 = function(test) { - let email = get_email("email_german_3"); + let email = get_email("email_german_3"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_gmail_no = function(test) { - let email = get_email("email_norwegian_gmail"); + let email = get_email("email_norwegian_gmail"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_finnish = function(test) { - let email = get_email("email_finnish"); + let email = get_email("email_finnish"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_with_correct_signature = function(test) { - let email = get_email("correct_sig"); + let email = get_email("correct_sig"); let fragments = email.getFragments(); - test.equal(2, fragments.length); - test.equal(false, fragments[1].isQuoted()); - test.equal(false, fragments[0].isSignature()); - test.equal(true, fragments[1].isSignature()); - test.equal(false, fragments[0].isHidden()); - test.equal(true, fragments[1].isHidden()); + test.equal(2, fragments.length); + test.equal(false, fragments[1].isQuoted()); + test.equal(false, fragments[0].isSignature()); + test.equal(true, fragments[1].isSignature()); + test.equal(false, fragments[0].isHidden()); + test.equal(true, fragments[1].isHidden()); - test.equal(true, /^--\nrick/.test(fragments[1])); + test.equal(true, /^--\nrick/.test(fragments[1])); - test.done(); + test.done(); }; exports.test_reads_email_with_signature_with_no_empty_line_above = function(test) { - let email = get_email("sig_no_empty_line"); + let email = get_email("sig_no_empty_line"); let fragments = email.getFragments(); - test.equal(2, fragments.length); - test.equal(false, fragments[0].isQuoted()); - test.equal(false, fragments[1].isQuoted()); + test.equal(2, fragments.length); + test.equal(false, fragments[0].isQuoted()); + test.equal(false, fragments[1].isQuoted()); - test.equal(false, fragments[0].isSignature()); - test.equal(true, fragments[1].isSignature()); + test.equal(false, fragments[0].isSignature()); + test.equal(true, fragments[1].isSignature()); - test.equal(false, fragments[0].isHidden()); - test.equal(true, fragments[1].isHidden()); + test.equal(false, fragments[0].isHidden()); + test.equal(true, fragments[1].isHidden()); - test.equal(true, /^--\nrick/.test(fragments[1])); + test.equal(true, /^--\nrick/.test(fragments[1])); - test.done(); + test.done(); }; exports.test_one_is_not_one = function(test) { - let email = get_email("email_one_is_not_on"); + let email = get_email("email_one_is_not_on"); let fragments = email.getFragments(); - test.equal(true, /One outstanding question/.test(fragments[0])); - test.equal(true, /^On Oct 1, 2012/.test(fragments[1])); + test.equal(true, /One outstanding question/.test(fragments[0])); + test.equal(true, /^On Oct 1, 2012/.test(fragments[1])); - test.done(); + test.done(); }; exports.test_sent_from = function(test) { - let email = get_email("email_sent_from"); + let email = get_email("email_sent_from"); - test.equal(email.getVisibleText(), "Hi it can happen to any texts you type, as long as you type in between words or paragraphs.\n"); + test.equal("Hi it can happen to any texts you type, as long as you type in between words or paragraphs.\n", email.getVisibleText()); - test.done(); + test.done(); }; exports.test_email_emoji = function(test) { - let email = get_email("email_emoji"); + let email = get_email("email_emoji"); - test.equal(email.getVisibleText(), "🎉\n\n—\nJohn Doe\nCEO at Pandaland\n\n@pandaland"); + test.equal("🎉\n\n—\nJohn Doe\nCEO at Pandaland\n\n@pandaland", email.getVisibleText()); - test.done(); + test.done(); }; exports.test_email_not_a_signature = function(test) { - let email = get_email("email_not_a_signature"); + let email = get_email("email_not_a_signature"); let fragments = email.getFragments(); - test.equal(fragments[0].isSignature(), false); + test.equal(false, fragments[0].isSignature()); + test.equal(1, fragments.length); - test.done(); + test.done(); +}; + +exports.test_email_not_a_signature_2 = function(test) { + let email = get_email("email_not_a_signature_2"); + + let fragments = email.getFragments(); + + test.equal(false, fragments[0].isSignature()); + test.equal(1, fragments.length); + + test.done(); }; exports.test_email_24 = function(test) { - let email = get_email("email_24"); + let email = get_email("email_24"); let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.done(); + test.done(); }; exports.test_email_outlook = function(test) { - let email = get_email("email_outlook_split_line_from"); + let email = get_email("email_outlook_split_line_from"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_gmail = function(test) { - let email = get_email("email_gmail_split_line_from"); + let email = get_email("email_gmail_split_line_from"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.text_email_reply_header = function(test) { - let email = get_email("email_reply_header"); + let email = get_email("email_reply_header"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - const firstFragmentRegex = /^On the other hand/m; - const secondFragmentRegex = /^On Wed, Dec 9/m; + const firstFragmentRegex = /^On the other hand/m; + const secondFragmentRegex = /^On Wed, Dec 9/m; - test.equal(firstFragmentRegex.test(fragments[0].toString().trim()), true) - test.equal(secondFragmentRegex.test(fragments[1].toString().trim()), true) + test.equal(firstFragmentRegex.test(fragments[0].toString().trim()), true) + test.equal(secondFragmentRegex.test(fragments[1].toString().trim()), true) - test.done(); + test.done(); } exports.text_email_ios_outlook_fr = function(test) { - let email = get_email("email_ios_outlook_fr"); + let email = get_email("email_ios_outlook_fr"); - let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(3, fragments.length); + let fragments = email.getFragments(); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(3, fragments.length); - test.done(); + test.done(); } exports.text_email_ios_outlook = function(test) { - let email = get_email("email_ios_outlook"); + let email = get_email("email_ios_outlook"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(3, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(3, fragments.length); - test.done(); + test.done(); } exports.text_email_msn = function(test) { - let email = get_email("email_msn"); + let email = get_email("email_msn"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.text_email_zoho = function(test) { - let email = get_email("email_zoho"); + let email = get_email("email_zoho"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal("What is the best way to clear a Riak bucket of all key, values after\nrunning a test?\n", fragments[0].toString()); + test.equal("What is the best way to clear a Riak bucket of all key, values after\nrunning a test?\n", fragments[0].toString()); - test.done(); + test.done(); } exports.text_email_regards = function(test) { - let email = get_email("email_with_regards"); + let email = get_email("email_with_regards"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal("Hi,\n\nI still have the same problem....\n\nCan you help?\n", fragments[0].toString()); + test.equal("Hi,\n\nI still have the same problem....\n\nCan you help?\n", fragments[0].toString()); - test.done(); + test.done(); } exports.test_email_fr_multiline = function(test) { - let email = get_email("email_fr_multiline"); + let email = get_email("email_fr_multiline"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_en_multiline_2 = function(test) { - let email = get_email("email_en_multiline_2"); + let email = get_email("email_en_multiline_2"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_original_message = function(test) { - let email = get_email("email_original_message"); + let email = get_email("email_original_message"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_original_message_2 = function(test) { - let email = get_email("email_original_message_2"); + let email = get_email("email_original_message_2"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_original_message_danish_dash = function(test) { - let email = get_email("email_danish_dash_separator"); + let email = get_email("email_danish_dash_separator"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); } exports.test_email_original_message_french_dash = function(test) { - let email = get_email("email_french_dash_separator"); + let email = get_email("email_french_dash_separator"); - let fragments = email.getFragments(); + let fragments = email.getFragments(); - test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); - test.equal(2, fragments.length); + test.equal(COMMON_FIRST_FRAGMENT, fragments[0].toString().trim()); + test.equal(2, fragments.length); - test.done(); + test.done(); }