1 /* ***** BEGIN LICENSE BLOCK *****
  2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3  *
  4  * The contents of this file are subject to the Mozilla Public License Version
  5  * 1.1 (the "License"); you may not use this file except in compliance with
  6  * the License. You may obtain a copy of the License at
  7  * http://www.mozilla.org/MPL/
  8  *
  9  * Software distributed under the License is distributed on an "AS IS" basis,
 10  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 11  * for the specific language governing rights and limitations under the
 12  * License.
 13  *
 14  * The Original Code is MozMill Test code.
 15  *
 16  * The Initial Developer of the Original Code is the Mozilla Foundation.
 17  * Portions created by the Initial Developer are Copyright (C) 2010
 18  * the Initial Developer. All Rights Reserved.
 19  *
 20  * Contributor(s):
 21  *   Henrik Skupin <mail@hskupin.info>
 22  *   Geo Mealer <gmealer@mozilla.com>
 23  *
 24  * Alternatively, the contents of this file may be used under the terms of
 25  * either the GNU General Public License Version 2 or later (the "GPL"), or
 26  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 27  * in which case the provisions of the GPL or the LGPL are applicable instead
 28  * of those above. If you wish to allow use of your version of this file only
 29  * under the terms of either the GPL or the LGPL, and not to allow others to
 30  * use your version of this file under the terms of the MPL, indicate your
 31  * decision by deleting the provisions above and replace them with the notice
 32  * and other provisions required by the GPL or the LGPL. If you do not delete
 33  * the provisions above, a recipient may use your version of this file under
 34  * the terms of any one of the MPL, the GPL or the LGPL.
 35  *
 36  * ***** END LICENSE BLOCK ***** */
 37 
 38 /**
 39  * @name init
 40  * @namespace Helper methods for the general setup and teardown logic of tests
 41  *            and methods
 42  */
 43 
 44 /**
 45  * @name module
 46  * @namespace Augmented features into the Mozmill module scope
 47  */
 48 
 49 
 50 /**
 51  * Basic initialization we want for every test module
 52  *
 53  * @memberOf init
 54  * @param {object} aModule
 55  *        Test module to initialize
 56  */
 57 function testModule(aModule) {
 58   /**
 59    * Instance of the Assert class to execute tests with fatal assertions
 60    *
 61    * @name assert
 62    * @type assertions.Assert
 63    * @memberOf module
 64    */
 65   aModule.assert = require("assertions").assert;
 66 
 67   /**
 68    * Instance of the Expect class to execute tests with non-fatal assertions
 69    *
 70    * @name expect
 71    * @type assertions.Expect
 72    * @memberOf module
 73    */
 74   aModule.expect = require("assertions").expect;
 75 
 76   /**
 77    * Object with wrapper methods for back-end services
 78    *
 79    * @name services
 80    * @type services
 81    * @memberOf module
 82    */
 83   aModule.services = require("services");
 84 
 85 
 86   aModule.Browser = require("ui/browser");
 87   // Initialize the test module
 88   // XXX: Holding off on adding this until we're sure how we get the browser
 89   // module.browser = require("ui/browser").get();
 90 }
 91 
 92 
 93 /**
 94  * Basic initialization we want for every UI module
 95  * Currently can't be used because setupModule isn't called for shared mods
 96  *
 97  * @memberOf init
 98  * @param {object} aModule
 99  *        UI module to initialize
100  */
101 function uiModule(aModule) {
102   // Add generally used requires
103   aModule.Inheritance = require("external/inheritance");
104   aModule.Widgets = require("ui/widgets");
105 }
106 
107 
108 // Export of methods
109 exports.testModule = testModule;
110 exports.uiModule = uiModule;
111