[Pkg-mozext-commits] [compactheader] 345/441: Version 2.0.4beta1 Another try to fix the compatibility with mnenhy addon.
David Prévot
taffit at moszumanska.debian.org
Wed Mar 18 12:29:16 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository compactheader.
commit fa42663771b506e9b4b1570a0dc9cc09c5dcc7e2
Author: Joachim Herb <Joachim.Herb at gmx.de>
Date: Fri Apr 13 22:37:56 2012 +0200
Version 2.0.4beta1 Another try to fix the compatibility with mnenhy addon.
---
.../CompactHeader/content/compactHeaderOverlay.js | 54 ++++++----
install.rdf | 2 +-
test/compactheader/test-compactheader-collapse.js | 86 ++++++++++++++--
.../test-compactheader-preferences.js | 2 -
test/compactheader/test-compactheader-toolbar.js | 12 ---
test/compactheader/test-more-button.js | 113 +++++++++++++++++++--
test/executeTests.pl | 16 ++-
test/shared-modules/test-compactheader-helpers.js | 12 +++
8 files changed, 244 insertions(+), 53 deletions(-)
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index c8f9e60..09317f4 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -106,6 +106,8 @@ org.mozdev.compactHeader.pane = function() {
var coheFirstTime = true;
var headerFirstTime = true;
+
+ var pressMores = null;
function coheOutputSubject(headerEntry, headerValue) {
var subjectBox;
@@ -200,29 +202,12 @@ org.mozdev.compactHeader.pane = function() {
}
let moreButton = document.getAnonymousElementByAttribute(document.getElementById("CompactHeader_collapsed2LtoCcBccBox"),
"anonid", "more");
- let moreButtonTo = document.getAnonymousElementByAttribute(document.getElementById("expandedtoBox"),
- "anonid", "more");
- let moreButtonCC = document.getAnonymousElementByAttribute(document.getElementById("expandedccBox"),
- "anonid", "more");
- let moreButtonBCC = document.getAnonymousElementByAttribute(document.getElementById("expandedbccBox"),
- "anonid", "more");
if (moreButton) {
let oldToggleWrap = moreButton.parentNode.toggleWrap;
moreButton.parentNode.toggleWrap = function() {
+ pressMores = pressMoreButtons;
pub.coheToggleHeaderView();
- if (!moreButtonTo.hasAttribute("collapsed")) {
- moreButtonTo.click();
- org.mozdev.compactHeader.debug.log("toggle To");
- }
- if (!moreButtonCC.hasAttribute("collapsed")) {
- moreButtonCC.click();
- org.mozdev.compactHeader.debug.log("toggle cc");
- }
- if (!moreButtonBCC.hasAttribute("collapsed")) {
- moreButtonBCC.click();
- org.mozdev.compactHeader.debug.log("toggle bcc");
- }
};
}
} else {
@@ -235,6 +220,28 @@ org.mozdev.compactHeader.pane = function() {
org.mozdev.compactHeader.RSSLinkify.InitializeHeaderViewTables();
}
+ function pressMoreButtons() {
+ let moreButtonTo = document.getAnonymousElementByAttribute(document.getElementById("expandedtoBox"),
+ "anonid", "more");
+ let moreButtonCC = document.getAnonymousElementByAttribute(document.getElementById("expandedccBox"),
+ "anonid", "more");
+ let moreButtonBCC = document.getAnonymousElementByAttribute(document.getElementById("expandedbccBox"),
+ "anonid", "more");
+ if (!moreButtonTo.hasAttribute("collapsed")) {
+ moreButtonTo.click();
+ org.mozdev.compactHeader.debug.log("toggle To");
+ }
+ if (!moreButtonCC.hasAttribute("collapsed")) {
+ moreButtonCC.click();
+ org.mozdev.compactHeader.debug.log("toggle cc");
+ }
+ if (!moreButtonBCC.hasAttribute("collapsed")) {
+ moreButtonBCC.click();
+ org.mozdev.compactHeader.debug.log("toggle bcc");
+ }
+ pressMores = null;
+ }
+
pub.coheOnLoadMsgHeaderPane = function() {
org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane start");
@@ -322,6 +329,10 @@ org.mozdev.compactHeader.pane = function() {
function cML_onEndHeaders() {
ClearHeaderView(gCoheCollapsedHeaderView);
coheUpdateMessageHeaders();
+ if (pressMores) {
+ pressMoreButtons();
+ pressMore = null;
+ }
},
onEndAttachments: function cML_onEndAttachments(){}
@@ -413,12 +424,13 @@ org.mozdev.compactHeader.pane = function() {
if (gCoheCollapsedHeaderViewMode) {
deck.selectedPanel = document.getElementById("CompactHeader_collapsedHeaderView")
- coheUpdateMessageHeaders();
+ gDBView.reloadMessage();
+ //coheUpdateMessageHeaders();
} else {
deck.selectedPanel = document.getElementById("expandedHeaderView");
//ClearHeaderView(gExpandedHeaderView);
- UpdateExpandedMessageHeaders();
- //gDBView.reloadMessage();
+ gDBView.reloadMessage();
+ //UpdateExpandedMessageHeaders();
}
// Work around a xul deck bug where the height of the deck is determined
diff --git a/install.rdf b/install.rdf
index 5561631..354109e 100644
--- a/install.rdf
+++ b/install.rdf
@@ -6,7 +6,7 @@
<RDF:Description about="urn:mozilla:install-manifest">
<em:name>CompactHeader</em:name>
- <em:version>2.0.3</em:version>
+ <em:version>2.0.4beta1</em:version>
<em:description>Add ability to reduce header size to one or two lines. Linkify subjects in RSS feeds.</em:description>
<em:creator>Joachim Herb</em:creator>
<em:contributor>Zamula</em:contributor>
diff --git a/test/compactheader/test-compactheader-collapse.js b/test/compactheader/test-compactheader-collapse.js
index 1ca96cc..a2ed1ed 100644
--- a/test/compactheader/test-compactheader-collapse.js
+++ b/test/compactheader/test-compactheader-collapse.js
@@ -35,7 +35,7 @@
*
* ***** END LICENSE BLOCK ***** */
-var MODULE_NAME = 'test-compactheader-preferences';
+var MODULE_NAME = 'test-compactheader-collapse';
var RELATIVE_ROOT = '../shared-modules';
var MODULE_REQUIRES = ['folder-display-helpers', 'window-helpers',
@@ -53,10 +53,6 @@ var WindowHelper;
var folder1;
var folder2;
-const PREF = "browser.preferences.instantApply";
-var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService).getBranch(null);
-
var messageBodyISO8859_1 = "ae: " + String.fromCharCode(228) +
", oe: " + String.fromCharCode(246) +
", ue: " + String.fromCharCode(252) +
@@ -93,7 +89,6 @@ function setupModule(module) {
"Content-Base": "http://example.com/",
"Bcc": "Richard Roe <richard.roe at momo.invalid>"
}});
-
add_message_to_folder(folder1, msg);
let msg = create_message({cc: msgGen.makeNamesAndAddresses(2), // YYY
@@ -104,7 +99,6 @@ function setupModule(module) {
"Content-Base": "http://example.com/",
"Bcc": "Richard Roe <richard.roe at momo.invalid>"
}});
-
add_message_to_folder(folder1, msg);
let msg = create_message({
@@ -115,7 +109,11 @@ function setupModule(module) {
"cc": "S Soe <s.soe at s.invalid>",
},
});
+ add_message_to_folder(folder1, msg);
+ let msg = create_message({cc: msgGen.makeNamesAndAddresses(3),
+ to: msgGen.makeNamesAndAddresses(1)
+ });
add_message_to_folder(folder1, msg);
}
@@ -294,3 +292,77 @@ function test_address_type_order(){
currentAddressType = addressType;
}
}
+
+function test_addresses_do_not_double(){
+ const MORE_PREF = "mailnews.headers.show_n_lines_before_more";
+ Services.prefs.setIntPref(MORE_PREF, 2);
+
+ select_message_in_folder(folder1, 2, mc);
+ collapse_and_assert_header(mc);
+ expand_and_assert_header(mc);
+ select_message_in_folder(folder1, 3, mc);
+
+ let addrs;
+
+ let fromDescription = mc.a('expandedfromBox', {class: "headerValue"});
+ addrs = fromDescription.getElementsByTagName('mail-emailaddress');
+ let firstFromAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstFromAddrNum += 1;
+ }
+ }
+
+ let toDescription = mc.a('expandedtoBox', {class: "headerValue"});
+ addrs = toDescription.getElementsByTagName('mail-emailaddress');
+ let firstToAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstToAddrNum += 1;
+ }
+ }
+
+ let ccDescription = mc.a('expandedccBox', {class: "headerValue"});
+ addrs = ccDescription.getElementsByTagName('mail-emailaddress');
+ let firstCCAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstCCAddrNum += 1;
+ }
+ }
+
+ collapse_and_assert_header(mc);
+ expand_and_assert_header(mc);
+
+ addrs = fromDescription.getElementsByTagName('mail-emailaddress');
+ let secondFromAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ secondFromAddrNum += 1;
+ }
+ }
+
+ addrs = toDescription.getElementsByTagName('mail-emailaddress');
+ let secondToAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ secondToAddrNum += 1;
+ }
+ }
+
+ addrs = ccDescription.getElementsByTagName('mail-emailaddress');
+ let secondCCAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ secondCCAddrNum += 1;
+ }
+ }
+
+ assert_true(firstFromAddrNum == secondFromAddrNum, "number of from addresses changed from " +
+ firstFromAddrNum + " to " + secondFromAddrNum);
+ assert_true(firstToAddrNum == secondToAddrNum, "number of to addresses changed from " +
+ firstToAddrNum + " to " + secondToAddrNum);
+ assert_true(firstCCAddrNum == secondCCAddrNum, "number of cc addresses changed from " +
+ firstCCAddrNum + " to " + secondCCAddrNum);
+ Services.prefs.clearUserPref(MORE_PREF);
+}
diff --git a/test/compactheader/test-compactheader-preferences.js b/test/compactheader/test-compactheader-preferences.js
index 4024be0..dc11904 100644
--- a/test/compactheader/test-compactheader-preferences.js
+++ b/test/compactheader/test-compactheader-preferences.js
@@ -54,8 +54,6 @@ var folder1;
var folder2;
const PREF = "browser.preferences.instantApply";
-var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService).getBranch(null);
var messageBodyISO8859_1 = "ae: " + String.fromCharCode(228) +
", oe: " + String.fromCharCode(246) +
diff --git a/test/compactheader/test-compactheader-toolbar.js b/test/compactheader/test-compactheader-toolbar.js
index de8e42f..0d23489 100644
--- a/test/compactheader/test-compactheader-toolbar.js
+++ b/test/compactheader/test-compactheader-toolbar.js
@@ -787,15 +787,3 @@ function subtest_buttons_style(aIconVisibility, aLabelVisibility)
}
}
}
-
-function isVisible(aElem) {
- if (aElem.hidden || aElem.collapsed)
- return false;
- let parent = aElem.parentNode;
- if (parent == null)
- return true;
- if (("selectedPanel" in parent) &&
- parent.selectedPanel != aElem)
- return false;
- return isVisible(parent);
-}
\ No newline at end of file
diff --git a/test/compactheader/test-more-button.js b/test/compactheader/test-more-button.js
index bc47e84..08c13b6 100644
--- a/test/compactheader/test-more-button.js
+++ b/test/compactheader/test-more-button.js
@@ -52,9 +52,6 @@ var WindowHelper;
var folder1;
-var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService).getBranch(null);
-
function setupModule(module) {
let fdh = collector.getModule('folder-display-helpers');
fdh.installInto(module);
@@ -74,16 +71,20 @@ function setupModule(module) {
let msg = create_message({cc: msgGen.makeNamesAndAddresses(10),
to: msgGen.makeNamesAndAddresses(10)
});
-
add_message_to_folder(folder1, msg);
+
let msg2 = create_message({cc: msgGen.makeNamesAndAddresses(10),
to: msgGen.makeNamesAndAddresses(10)
});
add_message_to_folder(folder1, msg2);
- prefBranch.clearUserPref("mailnews.headers.show_n_lines_before_more");
+ const MORE_PREF = "mailnews.headers.show_n_lines_before_more";
+ Services.prefs.clearUserPref(MORE_PREF);
}
+/* click the more button in compact view should change to expanded
+ * header view
+ */
function test_click_more(){
select_message_in_folder(folder1, 1, mc);
select_message_in_folder(folder1, 0, mc);
@@ -96,10 +97,11 @@ function test_click_more(){
let moreIndicator = mc.window.document.getAnonymousElementByAttribute(
L2Box, "anonid", "more");
moreIndicator = new elementslib.Elem(moreIndicator);
+ assert_not_equals(null, moreIndicator);
+ assert_true(isVisible(moreIndicator))
if (moreIndicator) {
mc.click(moreIndicator);
- }
-
+ }
assert_expanded(mc);
let expandedToBox = mc.e("expandedtoBox");
@@ -117,6 +119,9 @@ function test_click_more(){
assert_equals(eBCCmoreIndicator.getAttribute("collapsed"), "true");
}
+/* all to and cc addresses should show up in the compact header view more
+ * button tooltip
+ */
function test_more_tooltip(){
select_message_in_folder(folder1, 0, mc);
let msg = select_message_in_folder(folder1, 1, mc);
@@ -133,17 +138,19 @@ function test_more_tooltip(){
let headerParser = Cc["@mozilla.org/messenger/headerparser;1"]
.getService(Ci.nsIMsgHeaderParser);
+
+ // check that all cc addresses are in more buttons tooltip
let addresses = {};
let fullNames = {};
let names = {};
let numAddresses = headerParser.parseHeadersWithArray(
msg.ccList, addresses, names, fullNames);
-
for (let i = 0; i < numAddresses; i++)
{
assert_true(tooltiptext.indexOf(fullNames.value[i]) != -1, fullNames.value[i]);
}
+ // check that all to addresses are in more buttons tooltip
addresses = {};
fullNames = {};
names = {};
@@ -156,3 +163,93 @@ function test_more_tooltip(){
}
}
+/* check if more button shows correct number of missing addresses
+ */
+function test_more_number_indicator(){
+ select_message_in_folder(folder1, 0, mc);
+ let msg = select_message_in_folder(folder1, 1, mc);
+ open_preferences_dialog(mc, set_preferences_twoline);
+ mc.sleep(10);
+ collapse_and_assert_header(mc);
+
+ let headerParser = Cc["@mozilla.org/messenger/headerparser;1"]
+ .getService(Ci.nsIMsgHeaderParser);
+
+ // check for more indicator number of collapsed header view
+ let addresses = {};
+ let fullNames = {};
+ let names = {};
+ let numAddressesCC = headerParser.parseHeadersWithArray(
+ msg.ccList, addresses, names, fullNames);
+ let numAddressesTo = headerParser.parseHeadersWithArray(
+ msg.recipients, addresses, names, fullNames);
+
+ let toCcBccDescription = mc.a('CompactHeader_collapsed2LtoCcBccBox', {class: "headerValue"});
+ let addrs = toCcBccDescription.getElementsByTagName('mail-emailaddress');
+ let firstToCCBccAddrNum = 0;
+ for (let i=0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstToCCBccAddrNum += 1;
+ }
+ }
+
+ let hiddenAddresses = numAddressesCC + numAddressesTo - firstToCCBccAddrNum;
+
+ let moreIndicator = mc.eid("CompactHeader_collapsed2LtoCcBccBox");
+ moreIndicator = mc.window.document.getAnonymousElementByAttribute(
+ moreIndicator.node, "anonid", "more");
+ let moreText = moreIndicator.getAttribute("value");
+ let moreSplit = moreText.split(" ");
+ let moreNumber = parseInt(moreSplit[0])
+
+ assert_not_equals(NaN, moreNumber);
+ assert_equals(hiddenAddresses, moreNumber);
+
+ // check for more indicator number of expanded header view
+ expand_and_assert_header(mc);
+
+ let ccDescription = mc.a('expandedccBox', {class: "headerValue"});
+ addrs = ccDescription.getElementsByTagName('mail-emailaddress');
+ let firstCCAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstCCAddrNum += 1;
+ }
+ }
+ let toDescription = mc.a('expandedtoBox', {class: "headerValue"});
+ addrs = toDescription.getElementsByTagName('mail-emailaddress');
+ let firstToAddrNum = 0;
+ for (let i = 0; i<addrs.length; i++) {
+ if (isVisible(addrs[i])) {
+ firstToAddrNum += 1;
+ }
+ }
+
+ let hiddenAddressesCC = numAddressesCC - firstCCAddrNum;
+ let hiddenAddressesTo = numAddressesTo - firstToAddrNum;
+
+ let expandedToBox = mc.e("expandedtoBox");
+ let expandedCCBox = mc.e("expandedccBox");
+
+ let expandedToBox = mc.e("expandedtoBox");
+ let expandedCCBox = mc.e("expandedccBox");
+ let eTOmoreIndicator = mc.window.document.getAnonymousElementByAttribute(
+ expandedToBox, "anonid", "more");
+ let eCCmoreIndicator = mc.window.document.getAnonymousElementByAttribute(
+ expandedCCBox, "anonid", "more");
+ let moreTextTo = eTOmoreIndicator.getAttribute("value");
+ let moreTextCC = eCCmoreIndicator.getAttribute("value");
+
+ let moreSplitTo = moreTextTo.split(" ");
+ let moreNumberTo = parseInt(moreSplitTo[0])
+
+ assert_not_equals(NaN, moreNumberTo);
+ assert_equals(hiddenAddressesTo, moreNumberTo)
+
+ let moreSplitCC = moreTextCC.split(" ");
+ let moreNumberCC = parseInt(moreSplitCC[0])
+
+ assert_not_equals(NaN, moreNumberCC);
+ assert_equals(hiddenAddressesCC, moreNumberCC)
+}
+
diff --git a/test/executeTests.pl b/test/executeTests.pl
index 8291e5c..1b91189 100644
--- a/test/executeTests.pl
+++ b/test/executeTests.pl
@@ -83,12 +83,20 @@ my @children;
my @files;
my $dispMUAfile;
my $dispMUA = "https://addons.mozilla.org/thunderbird/downloads/latest/562/addon-562-latest.xpi";
+
+my $mnenhyfile;
+my $mnenhy = "https://addons.mozilla.org/thunderbird/downloads/latest/2516/addon-2516-latest.xpi";
+
my %testSpecs;
system "wget", "-q", "-P", "$ftpdir", "-N", "$dispMUA";
my @dispMUAfiles = glob("$ftpdir/display_*");
$dispMUAfile = $dispMUAfiles[-1];
+system "wget", "-q", "-P", "$ftpdir", "-N", "$mnenhy";
+my @mnenhyfiles = glob("$ftpdir/mnenhy-*");
+$mnenhyfile = $mnenhyfiles[-1];
+
while (my $line = <F>)
{
($ostype,$hosttype,$ftppath,$app,$tests,$checksum, $lightning) =
@@ -210,13 +218,17 @@ foreach my $pid (@children) {
$python = "python"
}
- # We have own tests for this, so delete it
+ # We have out own tests for this, so delete it
unlink("message-header/test-header-toolbar.js");
my @compatibility_apps = (
glob("../../ftp//$ostype-$hosttype-$version/lightning*.xpi"),
- "../../$dispMUAfile"
+ "../../$dispMUAfile",
+# "../../$mnenhyfile" # activate when mozmill can handle this addon:
);
+
my $comp_apps = join(",", @compatibility_apps);
+
+ print $comp_apps;
# print "$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t compactheader 2>&1\n";
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t compactheader 2>&1`;
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t message-header 2>&1`;
diff --git a/test/shared-modules/test-compactheader-helpers.js b/test/shared-modules/test-compactheader-helpers.js
index 6e3daa8..a22d80d 100644
--- a/test/shared-modules/test-compactheader-helpers.js
+++ b/test/shared-modules/test-compactheader-helpers.js
@@ -87,6 +87,7 @@ function installInto(module) {
module.set_preferences_oneline = set_preferences_oneline;
module.assert_collapsed = assert_collapsed;
module.assert_expanded = assert_expanded;
+ module.isVisible = isVisible;
}
function reopen_3pane_window() {
@@ -415,3 +416,14 @@ function set_preferences_oneline(aController) {
close_preferences_dialog(aController);
}
+function isVisible(aElem) {
+ if (aElem.hidden || aElem.collapsed)
+ return false;
+ let parent = aElem.parentNode;
+ if (parent == null)
+ return true;
+ if (("selectedPanel" in parent) &&
+ parent.selectedPanel != aElem)
+ return false;
+ return isVisible(parent);
+}
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/compactheader.git
More information about the Pkg-mozext-commits
mailing list