Bug 468214: Add mochitest support for Fennec, r=mfinkle
authorEzadkiel Marbella <zadkiel.m@gmail.com>
Wed, 18 Mar 2009 22:28:42 -0500
changeset 65128 4ea10fc4bf82f45b7cd09604bc584d6d207260cf
parent 65127 d915228f398d570113a3186410667e691f501696
child 65129 7eb7487f5e7f16cf25177de4e2c8343c44c121c7
push idunknown
push userunknown
push dateunknown
reviewersmfinkle
bugs468214
Bug 468214: Add mochitest support for Fennec, r=mfinkle
mobile/build.mk
mobile/chrome/Makefile.in
mobile/chrome/tests/Makefile.in
mobile/chrome/tests/browser_mainui.js
--- a/mobile/build.mk
+++ b/mobile/build.mk
@@ -40,16 +40,22 @@ TIERS += app
 ifdef MOZ_EXTENSIONS
 tier_app_dirs += extensions
 endif
 
 tier_app_dirs += \
   mobile \
   $(NULL)
 
+ifdef ENABLE_TESTS
+tier_testharness_dirs += \
+  testing/mochitest \
+  $(NULL)
+endif
+
 installer:
 	@echo "Mobile doesn't have an installer yet."
 	@exit 1
 
 package:
 	@$(MAKE) -C mobile/installer
 
 install::
--- a/mobile/chrome/Makefile.in
+++ b/mobile/chrome/Makefile.in
@@ -39,9 +39,13 @@ DEPTH     = ../..
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 DEFINES += -DAB_CD=$(MOZ_UI_LOCALE) -DPACKAGE=browser
 
+ifdef ENABLE_TESTS
+DIRS += tests
+endif
+
 include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/mobile/chrome/tests/Makefile.in
@@ -0,0 +1,52 @@
+# ***** 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 Mozilla.
+#
+# The Initial Developer of the Original Code is
+# the Mozilla Foundation <http://www.mozilla.org/>.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#   Mark Finkle <mfinkle@mozilla.com>
+#
+# 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 *****
+
+DEPTH     = ../../..
+topsrcdir = @top_srcdir@
+srcdir    = @srcdir@
+VPATH     = @srcdir@
+relativesrcdir  = mobile/chrome
+
+include $(DEPTH)/config/autoconf.mk
+include $(topsrcdir)/config/rules.mk
+
+_BROWSER_FILES = \
+  browser_mainui.js \
+  $(NULL)
+
+libs:: $(_BROWSER_FILES)
+	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
new file mode 100644
--- /dev/null
+++ b/mobile/chrome/tests/browser_mainui.js
@@ -0,0 +1,13 @@
+    const Cc = Components.classes;
+    const Ci = Components.interfaces;
+
+    function test(){
+       var mainWindow = window;
+       is(mainWindow.location.href, "chrome://browser/content/browser.xul", "Did not get main window");
+
+       mainWindow.focus();
+
+       var browser = mainWindow.getBrowser();
+       isnot(browser, null, "Should have a browser");
+       is(browser.currentURI.spec, "about:blank", "Should be displaying the blank page");
+    }