[Pkg-mozext-commits] [compactheader] 379/441: Version 2.0.7beta3: Add a new option to darken the header pane, if the message pane has focus. Updated test infrastructure.
David Prévot
taffit at moszumanska.debian.org
Wed Mar 18 12:29:19 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 76650e5069eaf0e8e4223da0da1bf99f846c96aa
Author: Joachim Herb <Joachim.Herb at gmx.de>
Date: Wed Jan 2 18:36:36 2013 +0100
Version 2.0.7beta3: Add a new option to darken the header pane, if the message pane has focus. Updated test infrastructure.
---
.../CompactHeader/content/compactHeaderOverlay.js | 70 +++++++-
chrome/CompactHeader/content/preferences.xul | 5 +
chrome/CompactHeader/locale/cs/preferences.dtd | 5 +-
chrome/CompactHeader/locale/da/preferences.dtd | 3 +-
chrome/CompactHeader/locale/de/preferences.dtd | 3 +-
chrome/CompactHeader/locale/en-US/preferences.dtd | 3 +-
chrome/CompactHeader/locale/es-ES/preferences.dtd | 3 +-
chrome/CompactHeader/locale/fr/preferences.dtd | 3 +-
chrome/CompactHeader/locale/it/preferences.dtd | 3 +-
chrome/CompactHeader/locale/ja/preferences.dtd | 3 +-
chrome/CompactHeader/locale/pl/preferences.dtd | 3 +-
chrome/CompactHeader/locale/ru/preferences.dtd | 3 +-
chrome/CompactHeader/locale/sr/preferences.dtd | 3 +-
chrome/CompactHeader/locale/tr/preferences.dtd | 3 +-
chrome/CompactHeader/locale/zh-CN/preferences.dtd | 3 +-
defaults/preferences/prefs.js | 1 +
install.rdf | 4 +-
.../test-compactheader-dark-on-focus.js | 194 +++++++++++++++++++++
test/executeTests.pl | 46 +++--
test/shared-modules/test-compactheader-helpers.js | 20 ++-
test/testapps.csv | 12 +-
21 files changed, 353 insertions(+), 40 deletions(-)
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index f98e442..5af95bb 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -804,15 +804,82 @@ org.mozdev.compactHeader.pane = function() {
}
var multiMessage = document.getElementById("multimessage");
- if (multiMessage){
+ if (multiMessage) {
org.mozdev.compactHeader.debug.log("multiMessage " + multiMessage);
multiMessage.addEventListener("DOMContentLoaded", multiMessageLoaded, true);
}
+ addMessagePaneBoxFocusHandler();
setDblClickHeaderEventHandler();
org.mozdev.compactHeader.debug.log("coheInitializeOverlay stop");
};
+ function addMessagePaneBoxFocusHandler() {
+ let messagepanebox = document.getElementById("messagepanebox");
+ if (messagepanebox) {
+ messagepanebox.addEventListener("focus", messagePaneBoxFocus, true);
+ messagepanebox.addEventListener("blur", messagePaneBoxBlur, true);
+ }
+ }
+
+ var msgHeaderViewBackground;
+
+ function messagePaneBoxFocus(event) {
+ org.mozdev.compactHeader.debug.log("messagePaneBoxFocus start");
+ let msgHeaderView = document.getElementById("msgHeaderView");
+ let wintype = document.documentElement.getAttribute("windowtype");
+// let tabmail = document.getElementById("tabmail");
+ if (cohePrefBranch.getBoolPref("header.darkenonfocus") &&
+ msgHeaderView && wintype && wintype == "mail:3pane" ) {
+// && tabmail && tabmail.tabContainer.selectedIndex == 0) {
+ org.mozdev.compactHeader.debug.log("background: " +
+ msgHeaderViewBackground);
+ if (typeof msgHeaderViewBackground === "undefined") {
+ var style =
+ document.defaultView.getComputedStyle(msgHeaderView, null);
+ msgHeaderViewBackground = style.getPropertyValue("background-color");
+ }
+ org.mozdev.compactHeader.debug.log("style: " + style);
+ org.mozdev.compactHeader.debug.log("background: " +
+ msgHeaderViewBackground);
+ let newColor = darkenColor(msgHeaderViewBackground);
+ msgHeaderView.style.backgroundColor = newColor;
+ // msgHeaderView.setAttribute('style', 'background-color:darkblue;');
+ }
+ org.mozdev.compactHeader.debug.log("messagePaneBoxFocus stop");
+ }
+
+ function darkenColor(color) {
+ var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
+
+ var red = parseInt(digits[2]);
+ var green = parseInt(digits[3]);
+ var blue = parseInt(digits[4]);
+
+ let factor = 0.9;
+
+ red = red * factor;
+ green = green * factor;
+ blue = blue * factor;
+
+ var rgb = blue | (green << 8) | (red << 16);
+ return digits[1] + '#' + rgb.toString(16);
+}
+
+ function messagePaneBoxBlur(event) {
+ let msgHeaderView = document.getElementById("msgHeaderView");
+ let wintype = document.documentElement.getAttribute("windowtype");
+ let tabmail = document.getElementById("tabmail");
+// if (msgHeaderView && wintype && wintype == "mail:3pane" &&
+// tabmail && tabmail.tabContainer.selectedIndex == 0) {
+ if (msgHeaderView) {
+ if (!(typeof msgHeaderViewBackground === "undefined")) {
+ msgHeaderView.style.backgroundColor = msgHeaderViewBackground;
+ msgHeaderViewBackground = undefined;
+ }
+ }
+ }
+
function setDblClickHeaderEventHandler() {
var msgHeaderViewDeck = document.getElementById("msgHeaderViewDeck");
if (msgHeaderViewDeck){
@@ -823,6 +890,7 @@ org.mozdev.compactHeader.pane = function() {
msgHeaderViewDeck.removeEventListener("dblclick", org.mozdev.compactHeader.pane.coheToggleHeaderView, true);
}
}
+
function multiMessageLoaded() {
org.mozdev.compactHeader.debug.log("multiMessageLoaded start");
org.mozdev.compactHeader.toolbar.setCurrentToolboxPosition(gCoheCollapsedHeaderViewMode);
diff --git a/chrome/CompactHeader/content/preferences.xul b/chrome/CompactHeader/content/preferences.xul
index d59ba3b..67e9461 100644
--- a/chrome/CompactHeader/content/preferences.xul
+++ b/chrome/CompactHeader/content/preferences.xul
@@ -34,6 +34,8 @@
name="extensions.CompactHeader.headersize.flatButtons" type="bool"/>
<preference id="CompactHeader_dblclick_header"
name="extensions.CompactHeader.header.doubleclick" type="bool"/>
+ <preference id="CompactHeader_darken_on_focus"
+ name="extensions.CompactHeader.header.darkenonfocus" type="bool"/>
<preference id="CompactHeader_position"
name="extensions.CompactHeader.toolbox.position" type="string"/>
</preferences>
@@ -53,6 +55,9 @@
<checkbox id="CompactHeader_checkbox_dblclick_header"
preference="CompactHeader_dblclick_header"
label="&CompactHeader_menu.dblclick_header.caption;"/>
+ <checkbox id="CompactHeader_checkbox_darken_on_focus"
+ preference="CompactHeader_darken_on_focus"
+ label="&CompactHeader_menu.darken_on_focus.caption;"/>
<groupbox id="CompactHeader_radiobox.ToolbarPosition">
<caption label="&CompactHeader_radiobox.ToolbarPosition.caption;"/>
<radiogroup id="CompactHeader_hdrToolbox.pos"
diff --git a/chrome/CompactHeader/locale/cs/preferences.dtd b/chrome/CompactHeader/locale/cs/preferences.dtd
index 758674c..d14c248 100644
--- a/chrome/CompactHeader/locale/cs/preferences.dtd
+++ b/chrome/CompactHeader/locale/cs/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader Nastavení">
<!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Zobrazit dva řádky v kompaktním zobrazení">
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "střed">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "vlevo">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "neviditelný">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/da/preferences.dtd b/chrome/CompactHeader/locale/da/preferences.dtd
index 2ebff1e..e7df4b1 100644
--- a/chrome/CompactHeader/locale/da/preferences.dtd
+++ b/chrome/CompactHeader/locale/da/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader Indstillinger">
<!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Vis to linjer i sammenfoldet visning">
@@ -46,3 +46,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "venstre">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "usynlig">
<!ENTITY CompactHeader_menu.dblclick_header.caption "Vis/skjul meddelelseshovedet med dobbeltklik">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/de/preferences.dtd b/chrome/CompactHeader/locale/de/preferences.dtd
index f780410..a3e08e7 100644
--- a/chrome/CompactHeader/locale/de/preferences.dtd
+++ b/chrome/CompactHeader/locale/de/preferences.dtd
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "oben">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "links">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "unsichtbar">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Umschalten der Kopfzeilen mit Doppelklick">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Umschalten der Kopfzeilen mit Doppelklick">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Kopfzeile dunkel, falls Fokus auf Meldungsfläche">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/en-US/preferences.dtd b/chrome/CompactHeader/locale/en-US/preferences.dtd
index f059356..74969bf 100644
--- a/chrome/CompactHeader/locale/en-US/preferences.dtd
+++ b/chrome/CompactHeader/locale/en-US/preferences.dtd
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "top">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "left">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "invisible">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/es-ES/preferences.dtd b/chrome/CompactHeader/locale/es-ES/preferences.dtd
index edbe44c..e2d8533 100644
--- a/chrome/CompactHeader/locale/es-ES/preferences.dtd
+++ b/chrome/CompactHeader/locale/es-ES/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "Preferencias de CompactHeader">
<!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Usar dos filas para la vista compacta">
@@ -46,3 +46,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "Izquierda">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "Invisible">
<!ENTITY CompactHeader_menu.dblclick_header.caption "Alternar la vista de las cabeceras mediante doble clic">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/fr/preferences.dtd b/chrome/CompactHeader/locale/fr/preferences.dtd
index e9469a0..60d2ead 100644
--- a/chrome/CompactHeader/locale/fr/preferences.dtd
+++ b/chrome/CompactHeader/locale/fr/preferences.dtd
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "haut">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "gauche">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "invisible">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/it/preferences.dtd b/chrome/CompactHeader/locale/it/preferences.dtd
index dcbe392..e8f056e 100644
--- a/chrome/CompactHeader/locale/it/preferences.dtd
+++ b/chrome/CompactHeader/locale/it/preferences.dtd
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "alto">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "sinistra">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "invisibile">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/ja/preferences.dtd b/chrome/CompactHeader/locale/ja/preferences.dtd
index 8d14426..3fa63b9 100644
--- a/chrome/CompactHeader/locale/ja/preferences.dtd
+++ b/chrome/CompactHeader/locale/ja/preferences.dtd
@@ -34,7 +34,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader 設定">
<!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "2 行表示">
@@ -47,3 +47,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "左">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "非表示">
<!ENTITY CompactHeader_menu.dblclick_header.caption "ダブルクリックでヘッダ表示を切り替える">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/pl/preferences.dtd b/chrome/CompactHeader/locale/pl/preferences.dtd
index c65e794..7cfaa37 100644
--- a/chrome/CompactHeader/locale/pl/preferences.dtd
+++ b/chrome/CompactHeader/locale/pl/preferences.dtd
@@ -45,4 +45,5 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.top "na górze">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "po lewej">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "niewidoczny">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/ru/preferences.dtd b/chrome/CompactHeader/locale/ru/preferences.dtd
index 7a45851..d854e3b 100644
--- a/chrome/CompactHeader/locale/ru/preferences.dtd
+++ b/chrome/CompactHeader/locale/ru/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "Настройки CompactHeader">
@@ -47,3 +47,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "слева">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "невидимa">
<!ENTITY CompactHeader_menu.dblclick_header.caption "Переключение режима двойным щелчком мышки">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/sr/preferences.dtd b/chrome/CompactHeader/locale/sr/preferences.dtd
index 3c88705..b7baaf6 100644
--- a/chrome/CompactHeader/locale/sr/preferences.dtd
+++ b/chrome/CompactHeader/locale/sr/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader - опције">
@@ -47,3 +47,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "лево">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "невидљива">
<!ENTITY CompactHeader_menu.dblclick_header.caption "Дуплим кликом пребацуј између заглавља">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/tr/preferences.dtd b/chrome/CompactHeader/locale/tr/preferences.dtd
index 8bbe602..4126b1f 100644
--- a/chrome/CompactHeader/locale/tr/preferences.dtd
+++ b/chrome/CompactHeader/locale/tr/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader Tercihleri">
<!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Kompakt görünümde iki satır göster">
@@ -46,3 +46,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "sol">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "görünmez">
<!ENTITY CompactHeader_menu.dblclick_header.caption "Başlığı çift tıklamayla aç-kapat">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/zh-CN/preferences.dtd b/chrome/CompactHeader/locale/zh-CN/preferences.dtd
index dda12d8..004ad71 100644
--- a/chrome/CompactHeader/locale/zh-CN/preferences.dtd
+++ b/chrome/CompactHeader/locale/zh-CN/preferences.dtd
@@ -33,7 +33,7 @@
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****
+ ***** END LICENSE BLOCK *****
-->
<!ENTITY CompactHeader_dialog.title "CompactHeader 首选项">
@@ -47,3 +47,4 @@
<!ENTITY CompactHeader_radiobox.ToolbarPosition.left "左">
<!ENTITY CompactHeader_radiobox.ToolbarPosition.none "不可见">
<!ENTITY CompactHeader_menu.dblclick_header.caption "双击切换标题头">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js
index 75baead..98c53e4 100644
--- a/defaults/preferences/prefs.js
+++ b/defaults/preferences/prefs.js
@@ -8,6 +8,7 @@ pref("extensions.CompactHeader.headersize.flatButtons", false);
pref("extensions.CompactHeader.toolbox.position", "top");
pref("extensions.CompactHeader.header.doubleclick", true);
+pref("extensions.CompactHeader.header.darkenonfocus", false);
pref("extensions.CompactHeader.version", "0");
pref("extensions.CompactHeader.firstrun", true);
diff --git a/install.rdf b/install.rdf
index 90d527b..c991558 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.7beta2</em:version>
+ <em:version>2.0.7beta3</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>
@@ -24,7 +24,7 @@
<RDF:Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>8.0</em:minVersion>
- <em:maxVersion>18.0a1</em:maxVersion>
+ <em:maxVersion>20.0a1</em:maxVersion>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
diff --git a/test/compactheader/test-compactheader-dark-on-focus.js b/test/compactheader/test-compactheader-dark-on-focus.js
new file mode 100644
index 0000000..30d069f
--- /dev/null
+++ b/test/compactheader/test-compactheader-dark-on-focus.js
@@ -0,0 +1,194 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Thunderbird Mail Client.
+ *
+ * The Initial Developer of the Original Code is
+ * the Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2009
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Joachim Herb <Joachim.Herb at gmx.de>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var MODULE_NAME = 'test-compactheader-dark-on-focus';
+
+var RELATIVE_ROOT = '../shared-modules';
+var MODULE_REQUIRES = ['folder-display-helpers', 'window-helpers',
+ 'address-book-helpers', 'mouse-event-helpers',
+ 'compactheader-helpers'];
+
+const DARKEN_PREF="extensions.CompactHeader.header.darkenonfocus";
+
+var elib = {};
+Cu.import('resource://mozmill/modules/elementslib.js', elib);
+var controller = {};
+Cu.import('resource://mozmill/modules/controller.js', controller);
+
+// The WindowHelper module
+var WindowHelper;
+
+var folder1;
+var normalBackground;
+
+function setupModule(module) {
+ let fdh = collector.getModule('folder-display-helpers');
+ fdh.installInto(module);
+ WindowHelper = collector.getModule('window-helpers');
+ WindowHelper.installInto(module);
+ let abh = collector.getModule('address-book-helpers');
+ abh.installInto(module);
+ let meh = collector.getModule('mouse-event-helpers');
+ meh.installInto(module);
+ let meh = collector.getModule('mouse-event-helpers');
+ meh.installInto(module);
+ let chh = collector.getModule('compactheader-helpers');
+ chh.installInto(module);
+
+ folder1 = create_folder("DarkenTest1");
+
+ let msg = create_message({cc: msgGen.makeNamesAndAddresses(3),
+ to: msgGen.makeNamesAndAddresses(1)
+ });
+
+ add_message_to_folder(folder1, msg);
+ let curMessage = select_message_in_folder(folder1, 0, mc);
+ let msgHeaderView = mc.window.document.getElementById("msgHeaderView");
+ normalBackground = mc.window.getComputedStyle(msgHeaderView)
+ .getPropertyValue("background-color");
+ mc.sleep(1000);
+}
+
+function teardownModule() {
+ Services.prefs.clearUserPref(DARKEN_PREF);
+ let abwc = openAddressBook();
+ close3PaneWindow();
+ mc = open3PaneWindow();
+ abwc.window.close();
+}
+
+function test_normal_background() {
+ let curMessage = select_message_in_folder(folder1, 0, mc);
+ set_pane_layout(kClassicMailLayout);
+ assert_pane_layout(kClassicMailLayout);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+ set_pane_layout(kWideMailLayout);
+ assert_pane_layout(kWideMailLayout);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+ set_pane_layout(kClassicMailLayout);
+ assert_pane_layout(kClassicMailLayout);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+}
+
+function test_darken_background() {
+ let abwc = openAddressBook();
+ close3PaneWindow();
+ mc = open3PaneWindow();
+ abwc.window.close();
+
+ let darkenBackground = darkenColor(normalBackground, 0.9);
+
+ let curMessage = select_message_in_folder(folder1, 0, mc);
+ expand_and_assert_header(mc);
+ open_preferences_dialog(mc, set_preferences_darken);
+
+ sub_test_background(normalBackground, mc, mc.eid('displayDeck'));
+
+ sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+ set_pane_layout(kWideMailLayout);
+ assert_pane_layout(kWideMailLayout);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+ let msgc = open_selected_message_in_new_window();
+ sub_test_background(normalBackground, msgc, msgc.eid('messagepane'));
+ close_window(msgc);
+
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+ open_preferences_dialog(mc, set_preferences_non_darken);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+ set_pane_layout(kClassicMailLayout);
+ assert_pane_layout(kClassicMailLayout);
+ sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+ sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+}
+
+function sub_test_background(aColor, aController, aTarget) {
+ expand_and_assert_header(aController);
+ mc.click(aTarget);
+ let msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+ let background = aController.window.getComputedStyle(msgHeaderView)
+ .getPropertyValue("background-color");
+
+ assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+
+ open_preferences_dialog(aController, set_preferences_twoline);
+ aController.sleep(10);
+ collapse_and_assert_header(aController);
+ mc.click(aTarget);
+ msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+ background = aController.window.getComputedStyle(msgHeaderView)
+ .getPropertyValue("background-color");
+ assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+
+ open_preferences_dialog(aController, set_preferences_oneline);
+ aController.sleep(10);
+ collapse_and_assert_header(aController);
+ mc.click(aTarget);
+ msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+ background = aController.window.getComputedStyle(msgHeaderView)
+ .getPropertyValue("background-color");
+ assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+}
+
+function darkenColor(color, factor) {
+ if (color.substr(0, 1) === '#') {
+ return color;
+ }
+ var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
+
+ var red = parseInt(digits[2]);
+ var green = parseInt(digits[3]);
+ var blue = parseInt(digits[4]);
+
+ red = red * factor;
+ green = green * factor;
+ blue = blue * factor;
+
+ var rgb = blue | (green << 8) | (red << 16);
+ return digits[1] + '#' + rgb.toString(16);
+}
diff --git a/test/executeTests.pl b/test/executeTests.pl
index 3c7f4c0..8d1de50 100644
--- a/test/executeTests.pl
+++ b/test/executeTests.pl
@@ -47,10 +47,15 @@ use Getopt::Long;
my $file = 'testapps.csv';
my $xpiversion = `grep 'version>' ../install.rdf | sed -e 's/.*version>\\(.*\\)<\\/em.*/\\1/'`;
chomp($xpiversion);
-my $xpi = "../../../AMO/CompactHeader-${xpiversion}.xpi";
+my $xpi = getcwd . "/../AMO/CompactHeader-${xpiversion}.xpi";
+
print "xpi: $xpi\n";
-my $ftpdir = "ftp";
+my $ftpdir = "/tmp/compactheader/ftp";
+mkdir "$ftpdir";
+copy($xpi, $ftpdir);
+$xpi = "../../ftp/CompactHeader-${xpiversion}.xpi";
+print "xpi: $xpi\n";
my ($ostype,$hosttype,$version,$ftppath,$app,$tests,$lightning,$checksum);
my ($unpack, $unpackargs, $unpacktargetargs, $appbin, $virtualpython);
@@ -64,7 +69,6 @@ GetOptions('version:s' => \$testversion,
open (F, $file) || die ("Could not open $file!");
-mkdir "$ftpdir";
if ($^O eq "msys") {
$unpack = "unzip";
@@ -92,12 +96,8 @@ my $mnenhy = "https://addons.mozilla.org/thunderbird/downloads/latest/2516/addon
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>)
{
@@ -118,7 +118,8 @@ while (my $line = <F>)
foreach my $file (@files) {
unlink($file);
}
- # print "wget -r -l1 --no-parent --follow-ftp -A$checksums $ftppath -nd -P $ftpdir 2>&1\n";
+ #print "wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P $ftpdir 2>&1\n";
+ #print "wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P \"$ftpdir\";\n";
`wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P "$ftpdir" 2>&1`;
@files = glob("$ftpdir/thunderbird*$checksum");
@@ -153,7 +154,7 @@ while (my $line = <F>)
print "child: $ostype\t$hosttype\t$ftppath\t$app\t$tests\n";
- my $testdir = "test-$version";
+ my $testdir = "/tmp/compactheader/test-$version";
mkdir "$testdir";
system "wget", "-q", "-P", "$ftpdir/$ostype-$hosttype-$version", "-N", "$ftppath/$app";
@@ -208,7 +209,7 @@ foreach my $pid (@children) {
print "$pid\t$ostype\t$hosttype\t$version\t$appbin\t$tests\n";
- my $testdir = "test-$version";
+ my $testdir = "/tmp/compactheader/test-$version";
chdir "$testdir/mozmill";
#system "pwd";
@@ -217,7 +218,10 @@ foreach my $pid (@children) {
no warnings;
if (int($version) >= 9) {
- use warnings;
+ use warnings;
+ print "\n";
+ print getcwd;
+ print "... installing mozmill\n";
`python resources/installmozmill.py ../mozmill-virtualenv`;
$python = "$virtualpython";
}
@@ -225,22 +229,32 @@ foreach my $pid (@children) {
$python = "python"
}
+ my @dispMUAfiles = glob("../../ftp/display_*");
+ $dispMUAfile = $dispMUAfiles[-1];
+ my @mnenhyfiles = glob("$ftpdir/mnenhy-*");
+ $mnenhyfile = $mnenhyfiles[-1];
+
# 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",
-# "../../$mnenhyfile" # activate when mozmill can handle this addon:
+ glob("../../ftp/$ostype-$hosttype-$version/lightning*.xpi"),
+ "$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";
+ print "\n";
+
+ print "\n$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`;
+ print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t message-header 2>&1\n";
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t message-header 2>&1`;
+ print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t folder-display 2>&1\n";
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t folder-display 2>&1`;
+ print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-toolbar.js 2>&1\n";
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-toolbar.js 2>&1`;
+ print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-preferences.js 2>&1\n";
$log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-preferences.js 2>&1`;
chdir "$currentdir";
diff --git a/test/shared-modules/test-compactheader-helpers.js b/test/shared-modules/test-compactheader-helpers.js
index 114913a..8a69413 100644
--- a/test/shared-modules/test-compactheader-helpers.js
+++ b/test/shared-modules/test-compactheader-helpers.js
@@ -85,6 +85,8 @@ function installInto(module) {
module.subtest_change_twoline = subtest_change_twoline;
module.set_preferences_twoline = set_preferences_twoline;
module.set_preferences_oneline = set_preferences_oneline;
+ module.set_preferences_darken = set_preferences_darken;
+ module.set_preferences_non_darken = set_preferences_non_darken;
module.subtest_change_dblclick = subtest_change_dblclick;
module.subtest_change_no_dblclick = subtest_change_no_dblclick;
module.assert_collapsed = assert_collapsed;
@@ -418,6 +420,22 @@ function set_preferences_oneline(aController) {
close_preferences_dialog(aController);
}
+function set_preferences_darken(aController) {
+ let checkboxDarken = aController.eid("CompactHeader_checkbox_darken_on_focus");
+ if (!checkboxDarken.node.getAttribute("checked")) {
+ aController.click(checkboxDarken);
+ }
+ close_preferences_dialog(aController);
+}
+
+function set_preferences_non_darken(aController) {
+ let checkboxDarken = aController.eid("CompactHeader_checkbox_darken_on_focus");
+ if (checkboxDarken.node.getAttribute("checked")) {
+ aController.click(checkboxDarken);
+ }
+ close_preferences_dialog(aController);
+}
+
function isVisible(aElem) {
if (aElem.hidden || aElem.collapsed)
return false;
@@ -437,7 +455,7 @@ function subtest_change_no_dblclick(aController) {
if (dblClickNode.hasAttribute("checked")) {
aController.click(dblClick);
}
-
+
close_preferences_dialog(aController);
}
diff --git a/test/testapps.csv b/test/testapps.csv
index b87cac0..d518c28 100644
--- a/test/testapps.csv
+++ b/test/testapps.csv
@@ -1,10 +1,10 @@
-"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:5/addon-2313-latest.xpi"
-"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
-"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
+"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:5/addon-2313-latest.xpi"
+"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
+"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
-"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/win32/lightning.xpi"
-"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
-"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
+"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/win32/lightning.xpi"
+"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
+"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-aurora/","thunderbird-_VER_.en-US.win32.zip","thunderbird-_VER_.en-US.win32.tests.zip",".en-US.win32.checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-aurora/win32-xpi/lightning.xpi"
"linux","i686""https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-aurora/","thunderbird-_VER_.en-US.linux-i686.tar.bz2","thunderbird-_VER_.en-US.linux-i686.tests.zip",".en-US.linux-i686.checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-miramar/linux-xpi/lightning.xpi"
--
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