#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# File: test/js/YTestWrapAfter.js

    //Setting up our aliases..
    Y.Test = YUITest;
    Y.Object.each(YUITest, function(item, name) {
        var name = name.replace('Test', '');
        Y.Test[name] = item;
    });

    } //End of else in top wrapper

    Y.Assert = YUITest.Assert;
    Y.Assert.Error = Y.Test.AssertionError;
    Y.Assert.ComparisonFailure = Y.Test.ComparisonFailure;
    Y.Assert.UnexpectedValue = Y.Test.UnexpectedValue;
    Y.Mock = Y.Test.Mock;
    Y.ObjectAssert = Y.Test.ObjectAssert;
    Y.ArrayAssert = Y.Test.ArrayAssert;
    Y.DateAssert = Y.Test.DateAssert;
    Y.Test.ResultsFormat = Y.Test.TestFormat;

    var itemsAreEqual = Y.Test.ArrayAssert.itemsAreEqual;

    Y.Test.ArrayAssert.itemsAreEqual = function(expected, actual, message) {
        return itemsAreEqual.call(this, Y.Array(expected), Y.Array(actual), message);
    };

    /**
     * Asserts that a given condition is true. If not, then a Y.Assert.Error object is thrown
     * and the test fails.
     * @method assert
     * @param {Boolean} condition The condition to test.
     * @param {String} message The message to display if the assertion fails.
     * @for YUI
     * @static
     */
    Y.assert = function(condition, message){
        Y.Assert._increment();
        if (!condition){
            throw new Y.Assert.Error(Y.Assert._formatMessage(message, "Assertion failed."));
        }
    };

    /**
     * Forces an assertion error to occur. Shortcut for Y.Assert.fail().
     * @method fail
     * @param {String} message (Optional) The message to display with the failure.
     * @for YUI
     * @static
     */
    Y.fail = Y.Assert.fail;

    Y.Test.Runner.once = Y.Test.Runner.subscribe;

    Y.Test.Runner.disableLogging = function() {
        Y.Test.Runner._log = false;
    };

    Y.Test.Runner.enableLogging = function() {
        Y.Test.Runner._log = true;
    };

    Y.Test.Runner._ignoreEmpty = true;
    Y.Test.Runner._log = true;

    Y.Test.Runner.on = Y.Test.Runner.attach;

    //Only allow one instance of YUITest
    if (!YUI.YUITest) {

        if (Y.config.win) {
            Y.config.win.YUITest = YUITest;
        }

        YUI.YUITest = Y.Test;

        //Only setup the listeners once.
        var logEvent = function(event) {

            //data variables
            var message = "";
            var messageType = "";

            switch(event.type){
                case this.BEGIN_EVENT:
                    message = "Testing began at " + (new Date()).toString() + ".";
                    messageType = "info";
                    break;

                case this.COMPLETE_EVENT:
                    message = Y.Lang.sub("Testing completed at " +
                        (new Date()).toString() + ".\n" +
                        "Passed:{passed} Failed:{failed} " +
                        "Total:{total} ({ignored} ignored)",
                        event.results);
                    messageType = "info";
                    break;

                case this.TEST_FAIL_EVENT:
                    message = event.testName + ": failed.\n" + event.error.getMessage();
                    messageType = "fail";
                    break;

                case this.TEST_IGNORE_EVENT:
                    message = event.testName + ": ignored.";
                    messageType = "ignore";
                    break;

                case this.TEST_PASS_EVENT:
                    message = event.testName + ": passed.";
                    messageType = "pass";
                    break;

                case this.TEST_SUITE_BEGIN_EVENT:
                    message = "Test suite \"" + event.testSuite.name + "\" started.";
                    messageType = "info";
                    break;

                case this.TEST_SUITE_COMPLETE_EVENT:
                    message = Y.Lang.sub("Test suite \"" +
                        event.testSuite.name + "\" completed" + ".\n" +
                        "Passed:{passed} Failed:{failed} " +
                        "Total:{total} ({ignored} ignored)",
                        event.results);
                    messageType = "info";
                    break;

                case this.TEST_CASE_BEGIN_EVENT:
                    message = "Test case \"" + event.testCase.name + "\" started.";
                    messageType = "info";
                    break;

                case this.TEST_CASE_COMPLETE_EVENT:
                    message = Y.Lang.sub("Test case \"" +
                        event.testCase.name + "\" completed.\n" +
                        "Passed:{passed} Failed:{failed} " +
                        "Total:{total} ({ignored} ignored)",
                        event.results);
                    messageType = "info";
                    break;
                default:
                    message = "Unexpected event " + event.type;
                    messageType = "info";
            }

            if (Y.Test.Runner._log) {
                Y.log(message, messageType, "TestRunner");
            }
        };

        var i, name;

        for (i in Y.Test.Runner) {
            name = Y.Test.Runner[i];
            if (i.indexOf('_EVENT') > -1) {
                Y.Test.Runner.subscribe(name, logEvent);
            }
        };

    } //End if for YUI.YUITest