|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 | 3 | describe('$log', function() {
|
4 |
| - var $window; |
5 |
| - var logger; |
| 4 | + var $window, logger, log, warn, info, error; |
| 5 | + |
6 | 6 |
|
7 |
| - function log() { logger+= 'log;'; } |
8 |
| - function warn() { logger+= 'warn;'; } |
9 |
| - function info() { logger+= 'info;'; } |
10 |
| - function error() { logger+= 'error;'; } |
11 | 7 |
|
12 | 8 | beforeEach(module(function($provide){
|
13 | 9 | $window = {};
|
14 | 10 | logger = '';
|
| 11 | + log = function() { logger+= 'log;'; }; |
| 12 | + warn = function() { logger+= 'warn;'; }; |
| 13 | + info = function() { logger+= 'info;'; }; |
| 14 | + error = function() { logger+= 'error;'; }; |
| 15 | + |
15 | 16 | $provide.provider('$log', $LogProvider);
|
16 | 17 | $provide.value('$exceptionHandler', angular.mock.rethrow);
|
17 | 18 | $provide.value('$window', $window);
|
@@ -58,6 +59,28 @@ describe('$log', function() {
|
58 | 59 | ));
|
59 | 60 |
|
60 | 61 |
|
| 62 | + it("should work in IE where console.error doesn't have apply method", inject( |
| 63 | + function() { |
| 64 | + log.apply = log.call = |
| 65 | + warn.apply = warn.call = |
| 66 | + info.apply = info.call = |
| 67 | + error.apply = error.call = null; |
| 68 | + |
| 69 | + $window.console = {log: log, |
| 70 | + warn: warn, |
| 71 | + info: info, |
| 72 | + error: error}; |
| 73 | + }, |
| 74 | + function($log) { |
| 75 | + $log.log.apply($log); |
| 76 | + $log.warn.apply($log); |
| 77 | + $log.info.apply($log); |
| 78 | + $log.error.apply($log); |
| 79 | + expect(logger).toEqual('log;warn;info;error;'); |
| 80 | + }) |
| 81 | + ); |
| 82 | + |
| 83 | + |
61 | 84 | describe('$log.error', function() {
|
62 | 85 | var e, $log, errorArgs;
|
63 | 86 |
|
|
0 commit comments