File: test/js/TestSuite.js
-
-
- /**
- * A test suite that can contain a collection of TestCase and TestSuite objects.
- * @param {String||Object} data The name of the test suite or an object containing
- * a name property as well as setUp and tearDown methods.
- * @namespace Test
- * @module test
- * @class TestSuite
- * @constructor
- */
- YUITest.TestSuite = function (data) {
-
- /**
- * The name of the test suite.
- * @type String
- * @property name
- */
- this.name = "";
-
- /**
- * Array of test suites and test cases.
- * @type Array
- * @property items
- * @private
- */
- this.items = [];
-
- //initialize the properties
- if (typeof data == "string"){
- this.name = data;
- } else if (data instanceof Object){
- for (var prop in data){
- if (data.hasOwnProperty(prop)){
- this[prop] = data[prop];
- }
- }
- }
-
- //double-check name
- if (this.name === "" || !this.name) {
- this.name = YUITest.guid("testSuite_");
- }
-
- };
-
- YUITest.TestSuite.prototype = {
-
- //restore constructor
- constructor: YUITest.TestSuite,
-
- /**
- * Adds a test suite or test case to the test suite.
- * @param {Test.TestSuite||YUITest.TestCase} testObject The test suite or test case to add.
- * @method add
- */
- add : function (testObject) {
- if (testObject instanceof YUITest.TestSuite || testObject instanceof YUITest.TestCase) {
- this.items.push(testObject);
- }
- return this;
- },
-
- //-------------------------------------------------------------------------
- // Stub Methods
- //-------------------------------------------------------------------------
-
- /**
- * Function to run before each test is executed.
- * @method setUp
- */
- setUp : function () {
- },
-
- /**
- * Function to run after each test is executed.
- * @method tearDown
- */
- tearDown: function () {
- }
-
- };
-
-