summaryrefslogtreecommitdiffstats
path: root/comm/mail/test/browser/composition/browser_subjectWas.js
blob: c76a719ce5243c8b8b33edfc9a8bfb1783604da9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
 * Tests that replying in to mail with subject change (was: old) style will
 * do the right thing.
 */

"use strict";

var { close_compose_window, open_compose_with_reply } = ChromeUtils.import(
  "resource://testing-common/mozmill/ComposeHelpers.jsm"
);
var {
  add_message_to_folder,
  assert_selected_and_displayed,
  be_in_folder,
  create_folder,
  create_message,
  mc,
  select_click_row,
} = ChromeUtils.import(
  "resource://testing-common/mozmill/FolderDisplayHelpers.jsm"
);

var folder = null;

add_setup(async function () {
  folder = await create_folder("SubjectWas");
  await add_message_to_folder(
    [folder],
    create_message({
      subject: "New subject (was: Old subject)",
      body: { body: "Testing thread subject switch reply." },
      clobberHeaders: {
        References: "<97010db3-bd55-34e0-b08b-841b2a9ff0ec@test>",
      },
    })
  );
  registerCleanupFunction(() => folder.deleteSelf(null));
});

/**
 * Test that the subject is set properly in the replied message.
 */
add_task(async function test_was_reply_subj() {
  await be_in_folder(folder);

  let msg = select_click_row(0);
  assert_selected_and_displayed(mc, msg);

  let cwc = open_compose_with_reply();

  let msgSubject = cwc.window.document.getElementById("msgSubject").value;

  // Subject should be Re: <the original subject stripped of the was: part>
  Assert.equal(
    msgSubject,
    "Re: New subject",
    "was: part of subject should have been removed"
  );

  close_compose_window(cwc);
});