@@ -1503,4 +1503,54 @@ describe('utilities', function () {
15031503 } ) ;
15041504 } ) ;
15051505 } ) ;
1506+
1507+ describe ( 'eventEmitter' , function ( ) {
1508+ var eventHandler = null ;
1509+
1510+ beforeEach ( function ( ) {
1511+ if ( eventHandler ) {
1512+ chai . util . events . removeEventListener ( "addMethod" , eventHandler ) ;
1513+ chai . util . events . removeEventListener ( "addProperty" , eventHandler ) ;
1514+ }
1515+ eventHandler = null ;
1516+ delete chai . Assertion . prototype . eqqqual ;
1517+ delete chai . Assertion . prototype . tea ;
1518+ } ) ;
1519+
1520+ it ( 'emits addMethod' , function ( ) {
1521+ var calledTimes = 0 ;
1522+
1523+ chai . use ( function ( _chai , _utils ) {
1524+ const eqqqual = function ( str ) {
1525+ var object = _utils . flag ( this , 'object' ) ;
1526+ new _chai . Assertion ( object ) . to . be . eql ( str ) ;
1527+ }
1528+ chai . util . events . addEventListener ( "addMethod" , eventHandler = function ( { name, fn } ) {
1529+ if ( name === 'eqqqual' && fn === eqqqual )
1530+ calledTimes ++ ;
1531+ } ) ;
1532+ _chai . Assertion . addMethod ( 'eqqqual' , eqqqual ) ;
1533+ } ) ;
1534+
1535+ expect ( calledTimes ) . to . equal ( 1 ) ;
1536+ } ) ;
1537+
1538+ it ( 'emits addProperty' , function ( ) {
1539+ var calledTimes = 0 ;
1540+
1541+ chai . use ( function ( _chai , _utils ) {
1542+ const getter = function ( ) {
1543+ return 'chai' ;
1544+ }
1545+ chai . util . events . addEventListener ( "addProperty" , eventHandler = function ( { name, fn } ) {
1546+ if ( name === 'tea' && fn === getter )
1547+ calledTimes ++ ;
1548+ } ) ;
1549+ _chai . Assertion . addProperty ( 'tea' , getter ) ;
1550+
1551+ } ) ;
1552+
1553+ expect ( calledTimes ) . to . equal ( 1 ) ;
1554+ } ) ;
1555+ } ) ;
15061556} ) ;
0 commit comments