@@ -1654,6 +1654,7 @@ describe('Test lib.js:', function() {
1654
1654
1655
1655
function consoleFn ( name , hasApply , messages ) {
1656
1656
var out = function ( ) {
1657
+ if ( hasApply ) expect ( this ) . toBe ( window . console ) ;
1657
1658
var args = [ ] ;
1658
1659
for ( var i = 0 ; i < arguments . length ; i ++ ) args . push ( arguments [ i ] ) ;
1659
1660
messages . push ( [ name , args ] ) ;
@@ -1664,12 +1665,13 @@ describe('Test lib.js:', function() {
1664
1665
return out ;
1665
1666
}
1666
1667
1667
- function mockConsole ( hasApply , hasTrace ) {
1668
+ function mockConsole ( hasApply , hasTrace , hasError ) {
1668
1669
var out = {
1669
1670
MESSAGES : [ ]
1670
1671
} ;
1671
1672
out . log = consoleFn ( 'log' , hasApply , out . MESSAGES ) ;
1672
- out . error = consoleFn ( 'error' , hasApply , out . MESSAGES ) ;
1673
+
1674
+ if ( hasError ) out . error = consoleFn ( 'error' , hasApply , out . MESSAGES ) ;
1673
1675
1674
1676
if ( hasTrace ) out . trace = consoleFn ( 'trace' , hasApply , out . MESSAGES ) ;
1675
1677
@@ -1687,7 +1689,7 @@ describe('Test lib.js:', function() {
1687
1689
} ) ;
1688
1690
1689
1691
it ( 'emits one console message if apply is available' , function ( ) {
1690
- var c = window . console = mockConsole ( true , true ) ;
1692
+ var c = window . console = mockConsole ( true , true , true ) ;
1691
1693
config . logging = 2 ;
1692
1694
1693
1695
Lib . log ( 'tick' , 'tock' , 'tick' , 'tock' , 1 ) ;
@@ -1702,7 +1704,7 @@ describe('Test lib.js:', function() {
1702
1704
} ) ;
1703
1705
1704
1706
it ( 'falls back on console.log if no trace' , function ( ) {
1705
- var c = window . console = mockConsole ( true , false ) ;
1707
+ var c = window . console = mockConsole ( true , false , true ) ;
1706
1708
config . logging = 2 ;
1707
1709
1708
1710
Lib . log ( 'Hi' ) ;
@@ -1715,7 +1717,7 @@ describe('Test lib.js:', function() {
1715
1717
} ) ;
1716
1718
1717
1719
it ( 'falls back on separate calls if no apply' , function ( ) {
1718
- var c = window . console = mockConsole ( false , false ) ;
1720
+ var c = window . console = mockConsole ( false , false , true ) ;
1719
1721
config . logging = 2 ;
1720
1722
1721
1723
Lib . log ( 'tick' , 'tock' , 'tick' , 'tock' , 1 ) ;
@@ -1744,7 +1746,7 @@ describe('Test lib.js:', function() {
1744
1746
} ) ;
1745
1747
1746
1748
it ( 'omits .log at log level 1' , function ( ) {
1747
- var c = window . console = mockConsole ( true , true ) ;
1749
+ var c = window . console = mockConsole ( true , true , true ) ;
1748
1750
config . logging = 1 ;
1749
1751
1750
1752
Lib . log ( 1 ) ;
@@ -1758,7 +1760,7 @@ describe('Test lib.js:', function() {
1758
1760
} ) ;
1759
1761
1760
1762
it ( 'logs nothing at log level 0' , function ( ) {
1761
- var c = window . console = mockConsole ( true , true ) ;
1763
+ var c = window . console = mockConsole ( true , true , true ) ;
1762
1764
config . logging = 0 ;
1763
1765
1764
1766
Lib . log ( 1 ) ;
@@ -1767,6 +1769,22 @@ describe('Test lib.js:', function() {
1767
1769
1768
1770
expect ( c . MESSAGES ) . toEqual ( [ ] ) ;
1769
1771
} ) ;
1772
+
1773
+ it ( 'falls back on simple log if there is no console.error' , function ( ) {
1774
+ // TODO
1775
+
1776
+ var c = window . console = mockConsole ( true , true , false ) ;
1777
+ config . logging = 2 ;
1778
+
1779
+ Lib . error ( 'who are you' , 'who who... are you' , { a : 1 , b : 2 } ) ;
1780
+
1781
+ expect ( c . MESSAGES ) . toEqual ( [
1782
+ [ 'log' , [ 'ERROR:' ] ] ,
1783
+ [ 'log' , [ 'who are you' ] ] ,
1784
+ [ 'log' , [ 'who who... are you' ] ] ,
1785
+ [ 'log' , [ { a : 1 , b : 2 } ] ]
1786
+ ] ) ;
1787
+ } ) ;
1770
1788
} ) ;
1771
1789
1772
1790
describe ( 'keyedContainer' , function ( ) {
0 commit comments