@@ -1654,6 +1654,7 @@ describe('Test lib.js:', function() {
16541654
16551655        function  consoleFn ( name ,  hasApply ,  messages )  { 
16561656            var  out  =  function ( )  { 
1657+                 if ( hasApply )  expect ( this ) . toBe ( window . console ) ; 
16571658                var  args  =  [ ] ; 
16581659                for ( var  i  =  0 ;  i  <  arguments . length ;  i ++ )  args . push ( arguments [ i ] ) ; 
16591660                messages . push ( [ name ,  args ] ) ; 
@@ -1664,12 +1665,13 @@ describe('Test lib.js:', function() {
16641665            return  out ; 
16651666        } 
16661667
1667-         function  mockConsole ( hasApply ,  hasTrace )  { 
1668+         function  mockConsole ( hasApply ,  hasTrace ,   hasError )  { 
16681669            var  out  =  { 
16691670                MESSAGES : [ ] 
16701671            } ; 
16711672            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 ) ; 
16731675
16741676            if ( hasTrace )  out . trace  =  consoleFn ( 'trace' ,  hasApply ,  out . MESSAGES ) ; 
16751677
@@ -1687,7 +1689,7 @@ describe('Test lib.js:', function() {
16871689        } ) ; 
16881690
16891691        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 ) ; 
16911693            config . logging  =  2 ; 
16921694
16931695            Lib . log ( 'tick' ,  'tock' ,  'tick' ,  'tock' ,  1 ) ; 
@@ -1702,7 +1704,7 @@ describe('Test lib.js:', function() {
17021704        } ) ; 
17031705
17041706        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 ) ; 
17061708            config . logging  =  2 ; 
17071709
17081710            Lib . log ( 'Hi' ) ; 
@@ -1715,7 +1717,7 @@ describe('Test lib.js:', function() {
17151717        } ) ; 
17161718
17171719        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 ) ; 
17191721            config . logging  =  2 ; 
17201722
17211723            Lib . log ( 'tick' ,  'tock' ,  'tick' ,  'tock' ,  1 ) ; 
@@ -1744,7 +1746,7 @@ describe('Test lib.js:', function() {
17441746        } ) ; 
17451747
17461748        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 ) ; 
17481750            config . logging  =  1 ; 
17491751
17501752            Lib . log ( 1 ) ; 
@@ -1758,7 +1760,7 @@ describe('Test lib.js:', function() {
17581760        } ) ; 
17591761
17601762        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 ) ; 
17621764            config . logging  =  0 ; 
17631765
17641766            Lib . log ( 1 ) ; 
@@ -1767,6 +1769,22 @@ describe('Test lib.js:', function() {
17671769
17681770            expect ( c . MESSAGES ) . toEqual ( [ ] ) ; 
17691771        } ) ; 
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+         } ) ; 
17701788    } ) ; 
17711789
17721790    describe ( 'keyedContainer' ,  function ( )  { 
0 commit comments