fix(strict mode): fix all issues discovered by strict mode and unit/e2e tests

This commit is contained in:
Igor Minar 2011-07-17 00:47:11 -07:00
parent c43ce91b25
commit 4c6d26a38f
8 changed files with 24 additions and 27 deletions

View file

@ -115,7 +115,7 @@ var _undefined = undefined,
angularCallbacks = extensionMap(angular, 'callbacks'),
nodeName_,
rngScript = /^(|.*\/)angular(-.*?)?(\.min)?.js(\?[^#]*)?(#(.*))?$/,
uid = ['0', '0', '0'];
uid = ['0', '0', '0'],
DATE_ISOSTRING_LN = 24;
/**

View file

@ -523,7 +523,8 @@ function TzDate(offset, timestamp) {
};
//hide all methods not implemented in this mock that the Date prototype exposes
var unimplementedMethods = ['getMilliseconds', 'getTime', 'getUTCDay',
var self = this,
unimplementedMethods = ['getMilliseconds', 'getUTCDay',
'getUTCMilliseconds', 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds',
'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear',
'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds',
@ -531,7 +532,7 @@ function TzDate(offset, timestamp) {
'toLocaleTimeString', 'toSource', 'toString', 'toTimeString', 'toUTCString', 'valueOf'];
angular.forEach(unimplementedMethods, function(methodName) {
this[methodName] = function() {
self[methodName] = function() {
throw {
name: "MethodNotImplemented",
message: "Method '" + methodName + "' is not implemented in the TzDate mock"

View file

@ -114,7 +114,7 @@ angularFilter.number = function(number, fractionSize){
pow = Math.pow(10, fractionSize),
whole = '' + number,
formatedText = '',
i;
i, fraction;
if (whole.indexOf('e') > -1) return whole;

View file

@ -290,11 +290,9 @@ function parser(text, json){
var token = peek(e1, e2, e3, e4);
if (token) {
if (json && !token.json) {
index = token.index;
throwError("is not valid json", token);
}
tokens.shift();
this.currentToken = token;
return token;
}
return false;

View file

@ -1,6 +1,5 @@
describe('angular.scenario.output.html', function() {
var runner, model, spec, listeners;
var ui, context;
var runner, model, spec, step, listeners, ui, context;
beforeEach(function() {
listeners = [];

View file

@ -40,31 +40,31 @@ describe('$defer', function() {
it('should call eval after each callback is executed', function() {
var eval = this.spyOn(scope, '$eval').andCallThrough();
var evalSpy = this.spyOn(scope, '$eval').andCallThrough();
$defer(function() {});
expect(eval).not.toHaveBeenCalled();
expect(evalSpy).not.toHaveBeenCalled();
$browser.defer.flush();
expect(eval).toHaveBeenCalled();
expect(evalSpy).toHaveBeenCalled();
eval.reset(); //reset the spy;
evalSpy.reset(); //reset the spy;
$defer(function() {});
$defer(function() {});
$browser.defer.flush();
expect(eval.callCount).toBe(2);
expect(evalSpy.callCount).toBe(2);
});
it('should call eval even if an exception is thrown in callback', function() {
var eval = this.spyOn(scope, '$eval').andCallThrough();
var evalSpy = this.spyOn(scope, '$eval').andCallThrough();
$defer(function() {throw "Test Error";});
expect(eval).not.toHaveBeenCalled();
expect(evalSpy).not.toHaveBeenCalled();
$browser.defer.flush();
expect(eval).toHaveBeenCalled();
expect(evalSpy).toHaveBeenCalled();
});
it('should allow you to specify the delay time', function(){

View file

@ -124,21 +124,21 @@ describe('$xhr.cache', function() {
it('should call eval after callbacks for both cache hit and cache miss execute', function() {
var eval = this.spyOn(scope, '$eval').andCallThrough();
var evalSpy = this.spyOn(scope, '$eval').andCallThrough();
$browserXhr.expectGET('/url').respond('+');
cache('GET', '/url', null, callback);
expect(eval).not.toHaveBeenCalled();
expect(evalSpy).not.toHaveBeenCalled();
$browserXhr.flush();
expect(eval).toHaveBeenCalled();
expect(evalSpy).toHaveBeenCalled();
eval.reset(); //reset the spy
evalSpy.reset(); //reset the spy
cache('GET', '/url', null, callback);
expect(eval).not.toHaveBeenCalled();
expect(evalSpy).not.toHaveBeenCalled();
$browser.defer.flush();
expect(eval).toHaveBeenCalled();
expect(evalSpy).toHaveBeenCalled();
});
});

View file

@ -8,7 +8,7 @@ _jQuery.event.special.change = undefined;
if (window.jstestdriver) {
jstd = jstestdriver;
window.jstd = jstestdriver;
window.dump = function(){
var args = [];
forEach(arguments, function(arg){
@ -175,8 +175,7 @@ extend(angular, {
'isFunction': isFunction,
'isObject': isObject,
'isNumber': isNumber,
'isArray': isArray,
'forEach': forEach
'isArray': isArray
});
@ -317,8 +316,8 @@ function assertThrows(error, fn){
assertEquals(error, exception);
}
log = noop;
error = noop;
window.log = noop;
window.error = noop;
function rethrow(e) {
if(e) {