test-console-debug.js revision 28fbe45f7ac8a614b3c436a6896bfee82a8989ae
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan GroveYUI.add('test-console', function(Y) {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove/**
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan GroveProvides a specialized log console widget that's pre-configured to display YUI
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan GroveTest output with no extra configuration.
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@example
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove <div id="log" class="yui3-skin-sam"></div>
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove <script>
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove YUI().use('test-console', function (Y) {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove // ... set up your test cases here ...
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove // Render the console inside the #log div, then run the tests.
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove new Y.Test.Console().render('#log');
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove Y.Test.Runner.run();
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove });
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove </script>
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@module test-console
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@namespace Test
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@class Console
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@extends Console
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@constructor
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@param {Object} [config] Config attributes.
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove @param {Object} [config.filters] Category filter configuration.
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove@since 3.5.0
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove**/
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grovefunction TestConsole() {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove TestConsole.superclass.constructor.apply(this, arguments);
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove}
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan GroveY.namespace('Test').Console = Y.extend(TestConsole, Y.Console, {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove initializer: function (config) {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove this.on('entry', this._onEntry);
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove this.plug(Y.Plugin.ConsoleFilters, {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove category: Y.merge({
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove info : true,
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove pass : false,
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove fail : true,
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove status: false
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove }, (config && config.filters) || {})
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove });
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove },
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove // -- Protected Event Handlers ---------------------------------------------
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove _onEntry: function (e) {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove var msg = e.message;
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove if (msg.category === 'info'
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove && /\s(?:case|suite)\s|yuitests\d+|began/.test(msg.message)) {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove msg.category = 'status';
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove } else if (msg.category === 'fail') {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove this.printBuffer();
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove }
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove }
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove}, {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove NAME: 'testConsole',
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove ATTRS: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove entryTemplate: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove value:
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove '<div class="{entry_class} {cat_class} {src_class}">' +
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove '<div class="{entry_content_class}">{message}</div>' +
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove '</div>'
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove },
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove height: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove value: '350px'
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove },
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove newestOnTop: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove value: false
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove },
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove style: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove value: 'block'
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove },
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove width: {
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove value: Y.UA.ie && Y.UA.ie < 9 ? '100%' : 'inherit'
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove }
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove }
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove});
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove
28fbe45f7ac8a614b3c436a6896bfee82a8989aeRyan Grove}, '@VERSION@' ,{requires:['console-filters', 'test'], skinnable:true});