Version 3.18.1
Show:

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 () {
                }
            
            };