Skip to content

Commit

Permalink
Add info to debug functions
Browse files Browse the repository at this point in the history
  • Loading branch information
mmun committed Aug 27, 2015
1 parent 311ae50 commit def813c
Show file tree
Hide file tree
Showing 11 changed files with 56 additions and 28 deletions.
2 changes: 1 addition & 1 deletion Brocfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function babelConfigFor(environment) {

if (isProduction) {
plugins.push(filterImports({
'ember-metal/debug': ['assert','debug','deprecate','runInDebug','warn']
'ember-metal/debug': ['assert','debug','deprecate','info','runInDebug','warn']
}));
}

Expand Down
5 changes: 1 addition & 4 deletions features.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,5 @@
"ember-registry-container-reform": true,
"ember-routing-routable-components": null
},
"debugStatements": [
"Ember.Logger.info",
"Ember.default.Logger.info"
]
"debugStatements": []
}
5 changes: 2 additions & 3 deletions packages/ember-application/lib/system/resolver.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
*/

import Ember from 'ember-metal/core';
import { assert } from 'ember-metal/debug';
import { assert, info } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';
import Logger from 'ember-metal/logger';
import {
classify,
capitalize,
Expand Down Expand Up @@ -431,7 +430,7 @@ export default EmberObject.extend({
padding = new Array(60 - parsedName.fullName.length).join('.');
}

Logger.info(symbol, parsedName.fullName, padding, this.lookupDescription(parsedName.fullName));
info(symbol, parsedName.fullName, padding, this.lookupDescription(parsedName.fullName));
},

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/* globals EmberDev */
import Ember from 'ember-metal/core'; // Ember.TEMPLATES
import { getDebugFunction, setDebugFunction } from 'ember-metal/debug';
import run from 'ember-metal/run_loop';
import Logger from 'ember-metal/logger';
import Controller from 'ember-runtime/controllers/controller';
import Route from 'ember-routing/system/route';
import Component from 'ember-views/components/component';
Expand All @@ -15,7 +16,7 @@ import {
registerHelper
} from 'ember-htmlbars/helpers';

var registry, locator, application, originalLookup, originalLoggerInfo;
var registry, locator, application, originalLookup, originalInfo;

QUnit.module('Ember.Application Dependency Injection - default resolver', {
setup() {
Expand All @@ -24,7 +25,7 @@ QUnit.module('Ember.Application Dependency Injection - default resolver', {

registry = application.__registry__;
locator = application.__container__;
originalLoggerInfo = Logger.info;
originalInfo = getDebugFunction('info');
},

teardown() {
Expand All @@ -34,7 +35,7 @@ QUnit.module('Ember.Application Dependency Injection - default resolver', {
var UserInterfaceNamespace = Namespace.NAMESPACES_BY_ID['UserInterface'];
if (UserInterfaceNamespace) { run(UserInterfaceNamespace, 'destroy'); }

Logger.info = originalLoggerInfo;
setDebugFunction('info', originalInfo);
}
});

Expand Down Expand Up @@ -158,44 +159,59 @@ QUnit.test('the default resolver throws an error if the fullName to resolve is i
});

QUnit.test('the default resolver logs hits if `LOG_RESOLVER` is set', function() {
if (EmberDev && EmberDev.runningProdBuild) {
ok(true, 'Logging does not occur in production builds');
return;
}

expect(3);

application.LOG_RESOLVER = true;
application.ScoobyDoo = EmberObject.extend();
application.toString = function() { return 'App'; };

Logger.info = function(symbol, name, padding, lookupDescription) {
setDebugFunction('info', function(symbol, name, padding, lookupDescription) {
equal(symbol, '[✓]', 'proper symbol is printed when a module is found');
equal(name, 'doo:scooby', 'proper lookup value is logged');
equal(lookupDescription, 'App.ScoobyDoo');
};
});

registry.resolve('doo:scooby');
});

QUnit.test('the default resolver logs misses if `LOG_RESOLVER` is set', function() {
if (EmberDev && EmberDev.runningProdBuild) {
ok(true, 'Logging does not occur in production builds');
return;
}

expect(3);

application.LOG_RESOLVER = true;
application.toString = function() { return 'App'; };

Logger.info = function(symbol, name, padding, lookupDescription) {
setDebugFunction('info', function(symbol, name, padding, lookupDescription) {
equal(symbol, '[ ]', 'proper symbol is printed when a module is not found');
equal(name, 'doo:scooby', 'proper lookup value is logged');
equal(lookupDescription, 'App.ScoobyDoo');
};
});

registry.resolve('doo:scooby');
});

QUnit.test('doesn\'t log without LOG_RESOLVER', function() {
if (EmberDev && EmberDev.runningProdBuild) {
ok(true, 'Logging does not occur in production builds');
return;
}

var infoCount = 0;

application.ScoobyDoo = EmberObject.extend();

Logger.info = function(symbol, name) {
setDebugFunction('info', function(symbol, name) {
infoCount = infoCount + 1;
};
});

registry.resolve('doo:scooby');
registry.resolve('doo:scrappy');
Expand Down
10 changes: 10 additions & 0 deletions packages/ember-debug/lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,16 @@ setDebugFunction('debug', function debug(message) {
Logger.debug('DEBUG: ' + message);
});

/**
Display an info notice.
@method info
@private
*/
setDebugFunction('info', function info() {
Logger.info.apply(undefined, arguments);
});

/**
Alias an old, deprecated method with its new counterpart.
Expand Down
5 changes: 3 additions & 2 deletions packages/ember-htmlbars/lib/keywords/debugger.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
@module ember
@submodule ember-htmlbars
*/
import Logger from 'ember-metal/logger';

import { info } from 'ember-metal/debug';

/**
Execute the `debugger` statement in the current template's context.
Expand Down Expand Up @@ -58,7 +59,7 @@ export default function debuggerKeyword(morph, env, scope) {
return env.hooks.getValue(env.hooks.get(env, scope, path));
}

Logger.info('Use `view`, `context`, and `get(<path>)` to debug this template.');
info('Use `view`, `context`, and `get(<path>)` to debug this template.');

debugger;

Expand Down
4 changes: 2 additions & 2 deletions packages/ember-htmlbars/lib/keywords/outlet.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@submodule ember-templates
*/

import Ember from 'ember-metal/core';
import { info } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';
import ViewNodeManager from 'ember-htmlbars/node-managers/view-node-manager';
import topLevelViewTemplate from 'ember-htmlbars/templates/top-level-view';
Expand Down Expand Up @@ -141,7 +141,7 @@ export default {
template = template || toRender.template && toRender.template.raw;

if (LOG_VIEW_LOOKUPS && ViewClass) {
Ember.Logger.info('Rendering ' + toRender.name + ' with ' + ViewClass, { fullName: 'view:' + toRender.name });
info('Rendering ' + toRender.name + ' with ' + ViewClass, { fullName: 'view:' + toRender.name });
}
}

Expand Down
5 changes: 5 additions & 0 deletions packages/ember-metal/lib/debug.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export let debugFunctions = {
assert() {},
info() {},
warn() {},
debug() {},
deprecate() {},
Expand All @@ -19,6 +20,10 @@ export function assert() {
return debugFunctions.assert.apply(undefined, arguments);
}

export function info() {
return debugFunctions.info.apply(undefined, arguments);
}

export function warn() {
return debugFunctions.warn.apply(undefined, arguments);
}
Expand Down
4 changes: 2 additions & 2 deletions packages/ember-routing/lib/system/generate_controller.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Ember from 'ember-metal/core'; // Logger
import { info } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';

/**
Expand Down Expand Up @@ -51,7 +51,7 @@ export default function generateController(container, controllerName, context) {
var instance = container.lookup(fullName);

if (get(instance, 'namespace.LOG_ACTIVE_GENERATION')) {
Ember.Logger.info(`generated -> ${fullName}`, { fullName: fullName });
info(`generated -> ${fullName}`, { fullName: fullName });
}

return instance;
Expand Down
4 changes: 2 additions & 2 deletions packages/ember-routing/lib/system/route.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember-metal/core'; // FEATURES, A, deprecate, assert, Logger
import { assert, deprecate } from 'ember-metal/debug';
import { assert, deprecate, info } from 'ember-metal/debug';
import isEnabled from 'ember-metal/features';
import EmberError from 'ember-metal/error';
import { get } from 'ember-metal/property_get';
Expand Down Expand Up @@ -2161,7 +2161,7 @@ function buildRenderOptions(route, namePassed, isDefaultRender, name, options) {
assert(`Could not find "${name}" template, view, or component.`, isDefaultRender);
if (LOG_VIEW_LOOKUPS) {
var fullName = `template:${name}`;
Ember.Logger.info(`Could not find "${name}" template or view. Nothing will be rendered`, { fullName: fullName });
info(`Could not find "${name}" template or view. Nothing will be rendered`, { fullName: fullName });
}
}

Expand Down
4 changes: 2 additions & 2 deletions packages/ember-routing/lib/system/router.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember-metal/core';
import { assert } from 'ember-metal/debug';
import { assert, info } from 'ember-metal/debug';
import EmberError from 'ember-metal/error';
import { get } from 'ember-metal/property_get';
import { set } from 'ember-metal/property_set';
Expand Down Expand Up @@ -503,7 +503,7 @@ var EmberRouter = EmberObject.extend(Evented, {
handler = container.lookup(routeName);

if (get(this, 'namespace.LOG_ACTIVE_GENERATION')) {
Ember.Logger.info(`generated -> ${routeName}`, { fullName: routeName });
info(`generated -> ${routeName}`, { fullName: routeName });
}
}

Expand Down

0 comments on commit def813c

Please sign in to comment.