Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including mocha-septa-reporter with all npm packages installed. Try it out:

var mochaSeptaReporter = require("mocha-septa-reporter")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

mocha-septa-reporter v1.0.3

Mocha reporter that features the Septa, the "nun" from Game Of Thrones

Mocha Septa Reporter

Shame! Shame! Shame! :bell:

Mocha reporter that -should you fail your tests- :

  • Displays an random ASCII art of the Septa - the horrible "nun" in Game Of Thrones
  • Plays her voice
  • Displays relevant text and Emojis

Why?

After a few glasses of wine, it seemed like a good idea.

Installation

npm install mocha-septa-reporter

Usage

mocha --reporter mocha-septa-reporter

  1. Will play the shame sound (voice + bell)

  2. Will display the shame message :

    Shame! Shame! Shame! :bell:
    Shame! Shame! Shame! :bell:
    Shame! Shame! Shame! :bell:

  3. Before the shame message, will display a random ASCII Septa (2 choices so far), such as : (Note: if you're watching this on NPM the ASCII doesn't render well here)

                                                                                  `````````````.                                               
                                                                                .````.`````.```..                                              
                                                                               ..``.........````.,                                             
                                                                              ................,,.`,,                                           
                                                                             ................,,::.`:;                                          
                                                                            `.................,::;:.::                                         
                                                                            ...........,,,,....,,:;;,.,                                        
                                                                           ....,,,.,,,,,,,:++#+,.:;';:,                                        
                                                                          +,..,.,,,,,,,,,,;;;'+@',,''':.                                       
                                                                         #;.,,,,,,,,,,,,,:,,::;+@#;:;':,,                                      
                                                                        ,+,,:::;;::::::::;;;;;'''##+;;++,,                                     
                                                                        +;::;''+++++'''';'';;;;;''+##+#@#:                                     
                                                                       ,+:+@#+;;::,,,::;;'++++'';::;;#@@@;,                                    
  ,`                                                                   @+#@'::,,,,,,,,,,...,:+###+''+'#@@'.,                                   
  :::::::;.`                                                           @+#;;;::::::;''';;:,,,;'##@@@++#@@',.`                                  
  ::::;;;;;;::;';;,`                                                  '@@+'+++';;;''+++';;''::;'+###'#+@@':..                                  
  ;;;;;;;;;;;;;';;;;;;;;;;:`                                          +##';;'++'::'+#++';;;;;;;;'++#+#+@@';.,.                                 
  ;'''''''''''''''';';;;;;;'';;;:;                                    #++;'+#++'..;+++####+'';;;'++++#+#@'',,,                                 
   ''''''++++++++''''''''''';;::::.                                  ;++#'#@##+;..;''++####++';;;'+'##'#@+':,:,                                
    '''++++#++++++++++'''''';;;;;::                                  ;++#'#+';:,.,:;:::;'''++':;;'+'#+'+@#':,,,                                
    ,'++###########+++++++++'''';;;                                  '+'#;;;:::..,::,:,,::;:::::'++;#+'+@#';,,,,                               
     '++##################+++'''';;                                  '+'+:::::..,::,,,::,,,,,,:;;#''#+'+@#'':,,,.                              
      '+#####################+++':                                   '+'+,::,,..,;:,,..,,,,,,::;'+''+'++#@++:,,,,                              
       ++#####################++.                                    ''+;,,,,::;:,:;,.,,,,::::;'++''+'++@#++;,,,,,                             
       `++###################++                                      ''';:,,:''+++:;:,.,,::::;;'+';++;++@#++;:,,:,                             
        '+###################:                                       '+';::,:+#+##';::,,::;;;;'++';++;+#@+#+':,,,,,                            
        '++###++++###########                                        '+';::::;;'''+:,,:::;;;;'+++''+#;#@+'@++;,,::,.                           
        '+++#+++++#######@@#                                         '''':::,::;::,,.,::;;;;;'++';'+#;#@+;@+#;:,,,:,                           
        '++++++++++########.                                         '''':;,,,::,,,,,,:::;;;;+''';+++;#@';@+@';,,::,,                          
        `+++++++++++######+                                          '''';:::;;;':,,:,,:::;:'+';''+#:'@@;;@+@';,,::::                          
         '++++++++++#####+                                           '''';::'#####+;:::::::;+'';;'+@:'@#;;@+##;,,,::::                         
         ''+++'''++++###+.                                          `';'';;+':::::'++';:::;++''';+#+:+@#:;@###':,,:;::                         
         '''+'''''+++##+'                                           ,';';;;';;;;;''';;;;;;'+'+;''+@';#@+:;@##@+;,,::::,                        
         '++++'+++++###+                                            ;+;+;';;''++'';;;;;;;;+++'''+#@:;#@':'@##@+;:,::;:,`                       
         :+++++++++###+'                                            ;';+;';;''';'''';';';#+++'''#@#:'##;:+@##@#':,::;;:,                       
          ++++++######+                                             '';+';';;;,,,:;;;;;;++++'+;##@':'##;:+@##@@';:::::;:,                      
          '++#########+                                             '';'''';::,,,,:::;;+++#'+'+#@@;;+##::+###@@+'::::;:::                      
          '++#########+                                             +';;+'';:::::::;;:+#++++''##@#:'###::+#@#@@#';,::::::,                     
          '''++######++                                             +';'#'';;;;;;;;';+##++++'+#@@+:'##+::+###@@#';:::::;::                     
          :''''######+,                                             +';;#'''''''''''##+##+#'+#@@@;;+##',;++###@@+'::::::;::                    
           ';'+##@###:                                             ;+;';##'#++++++########'+#@@@@:'#@@;:;++@##@@#';:,::::::`                   
           ''++#@##+;                                              '';+;#++'@############'+#@@@@+:'@#@:,'++@##@##+;:,:::;:::                   
           ++++##++'                                              ;';'+;+#'+'@@######@@@'+##@@@@;;+@@#:,'++@##@##+';,::::;;:.                  
           +++##++;                                              .;;;'#:+#'@#+#@@@@@@@#+####@@##:'###+:,+++@##@#@#';:,:::;:::                  
           ;'++#++                                               :;:'+#;+#'#@#++##@##++####@@@##;+@##'::+'#@##@@##+;:,,:::;;:;                 
            ;''+++                                              ,,;;'+#;++'+@@#++++++#####@@@@+:+#@#+'::+'#@@##@@#+';:,,:::::;                 
           :;:;;'+'                                             ,::;'++;'++'+#@@#########@@@@','##@++;,:''@@@##@@@++;:,,::::::;                
          `;::::;';.                                           ,,::'''';;''''+@@@@###+#####@','+#@#+';::'#@#@##@@@#+';,,,,:::::                
          :::::;''::                                          ,::::;'';;:''';'+@@@@@######@;,;+@@@#+';:;'#@#@##@#@#+';:,,,,:::,:               
         ;::::;'';:;;                                         :;;:;;;;;;;'''';'+##@@@@@@@#:,;+##@#+';:,'+#+#@@@#@@@#+';:,,,:;:::`              
        ::,,,:;'';;;;`                                        ''::;;;;:;;:;;'';;'+##@@@@#::'+#@###';:,:'#+++#@@@@@@#+';:,,,:::::,              
        ;:,,,:;;:;;';.                                        '',:;;::::;:;;;+';::::;'+;,'++#@@##+':,:;+++'''@@@@@@##+';:,,:::;:,.             
       ;;::,:::;:;''';                                        ';,:::::::;:;;;'++;:::,,:;'+++#@###':,,:;'''';;+@@@@@##+';;,,,,,:::,             
      ,;:::::::::;''''                                        '::::::,,::;:;;;'++';:;;''''+@@###';,,,:;#':;;;;'@@@@###+';;,,,,:,:::            
      ;::::::::::;''''                                        .,,,,,,,,::':;:;;'+++';;;'++@@###+':,:;';+';:::::+@@@####'';:.,,,::::            
     ;::::::::::;'''''                                         ,,,,,,,,::;:::::;''''';''+@#####';,:'+';+;;::,:::+@@####+'';:,,,::,::           
    `;::::::::::;'+'''                                  ';;::::,,,,,,,,:,:;,:::;;''';''+######+;,:'++''';;;::,:;#@@#@###++';,,,,::,,`          
    ':::::::::::;'+'''                                `:::::;;:,,,,,,,,:,:'::,:::;;;;'+#####+#;,:'+++;+';;:::::+++#@@####+'';,:,,::,;          
   ';::::::::::;;'''''                               :;::;:;;;:,,,,,,,:;,,;:,,,,:::;'++#####+',,'+#+;;#+;:::,:'+';;;+#@@@#++';:,,:::::         
   ':::::::::::;;'''''                              ;;;;;;;;;;:,,,,,,,,;,,:',,,,,,,:'+####++',,;+#+;:;++;:,,,'#';;;;;;'#@##+'';::,:::;         
  :':::::;;;:::;''''''                             ;;;;;;;;;;':,,,,,,,:':,:;;:''''';####++';:,:+#+'::''+;:,,;++';;;;;;;:;+##+'';::,:::;        
  :'::::;;;;;::;''';''                            ;;;;;;;;;;'':,,.,,,,;+':.:':++##@@##++'';:,:+##';:';;';:,:+#';;;;;;;:;:::'#+'';:,,:::        
  :'::;;;'';;;;'++'''+                           ;'';;;;';;;';:,,...,,;#+:,.,;:;'++++''';;:,:+##+;:;';:::,:'#'';;;;;;;;;::::;##+';:::,,+       
  ;;;;;;'''';;;+++'''+                          '+''';''';;;';:,..,..,;##:,,,,;::::::::::,.:+##+;,:+':,,,,'#++'';;;;;;;;;:::;'#++';;;:,'       
  :;;;;;''+''''+++''++                         `'''';'''';;'';:..,,,,,;#+;:,,,.::,::::::,,;+##+;::++;,,,,;##+'';;;''';;;';;;;;'#++;::,:;'      
  ,;;';''+++''++++''++                         '''''''''';'';;;,,...,,;#+;::,,,.,:::;::,,;+##+',:'#':,,,:+@++'';'''';;;;'';;';'++#+';;:;'      
  ,''''''+++''+##++'++`                       :''''+''''';'';;;,,...,,;#+;::::;:::,,,,,;+###+',:'#+;:,,:'@#+';''''';;;'';''';'''# '++'':'      
  :'''++++++'+++++++++;                       '''''+''''';';;'',....,:'#'':;;'''''''''++####',:'##':,,,'###+'''''''';;''''++''''#   '+#++      
  ;+++++++++'+++++++++'                      '''''++'''''';;;'':,...,,'+'':'++++++++++####+'::;+#':,,,'++++''''''''';'+''++'+'''#     '#+      
  '+++++++#+++++++++++'                      '''''++'''''';;;'';,.,.,,++';;'+++++++++##+++:,:;'#+:,,:'+'++''''''''''''++++'++'''#`      '      
  ++++++++#+++++###+++'                     ''''''++''''''''';'',,..,:''';;''++++++++#++',,,;'@#;,:;++;'+'';;''''''''+++++''++''+'             
   +++++++#+#########+'                    `''''''++'''''';;;;'':,..,:+';;'''++++++++++;,,::'##;,,;++::''''''''''''''++''''''++''#             
   +++#+#############+'                    ;''''+'++''''';;;;'';',..,:+';;'''''''++''':,,::'##',:'++::;++'''++++''''+#''''''+++''+             
   ,#############@#@##.                   :;'+''+++++''';;;;;'':',,,.:+';'';;;;;;;;;;,,,::;+#;,:'#':,:;+'''''+++''++##'''''++++''+             
    ###########@@@@@##                    '''++'++#+''''';;;;'',;:,,,;';'''';::;;;;:,:;;'''+;,;'#'::::'+'''''+++''++#+#++'+++++++'`            
    #@####@##@@@@@@@@#                   ''+'++''+#+'''';;;;''',:;:,:,;;+++++';;;:,:;;''+++:,:'#;:,:::''';'''++'''+##++#++++++++'''            
     @###@@@@@@@@@@@@#                  `'++++++'+#+++'';';;;;'''';:,,,:;';;'';;:,:;'''''+:,:+#:,,,,::+;;;''++'''+###+'+#+++'+++''+            
     @@#@@@@@@@@@@@@@#                  '++++'++++#+''+';;;;;;'++'';::,:::::::::,,:::;:;::,;##:,,,,,:'+''';'++'''+#@++++++++''+++'+            
     :@@@@@@@@@@@@@@##+                :+++''''+++#++++''';;;;'''''';:,,:,,,,,,,,,,,,,,,,,;@#;;::,::;+++'+'++'''++#@+++++++'+'+++++            
      @@@@@@@@@@@@@@##+                +++++'''+++#++++'''';';'+++''';:,,,,,,,,,,,,,,,,,:'@#++';:::;;##++++++'''++##++++++++++++++'            
      @@@@@@@@@@@@@@##+'              ''''''++++++#+++''';;';;;'+'''+';,,,,,,,,,,,.,,,::'###+';:,:;'+########''++##@+++'+#+++'++++',           
       @@@@@@@@@@@@@##+'              +''''''''++++''''''';';;''+'''++':,:,,,:,,,.,,:;''++''';:::;;'+++++####+++###@@+++##++'++++''+           
       #@@@@@@@@@@@####+;            ''''''''''+++#++''''''';;'''++''+++:,,,,,::;;'+++++''''':,:''+#+''''+##+++####@@++##++''+++'+++           
       ,@@@@@@@@@@@####++           .+'''''''++++##++++'''';;'''''#+''+#+';;;''''+########+':::'+#@#'';''''+''++##@@@###+++'+++'++''           
        @@@@@@@@@@@####++'          '';;''''''++###++++'''''';'''''##+'+##+++++++########+'::;'#@#+';;;;;;;;';'++#@@##@##+'++++'++''           
        @@@@@@@@@@#####++'         ;;'''++++++++###++++''''''''''''+##+++##++++++++++++''::'+#@@#+''''++++'';''++#@@##@#+++++++++++'           
         @###@@@@@#####+++;        ';'';;;'''++##@@++++''''''''''''++#@#++++++++''''';;;;+##@@@++'''++##@@@@+++++#@@#@#++++++++++++'           
         @##@@@@@@######+#'       ';;'';';'''+++##@++++'''''''''''''++##@####++'';;;''++#@@@@#++''''''+++#@@@@@###@@#@#++++''';'''''`          
         ,##@@@@@@########+:     `;'++++++#+###@@@@++++''''''''''''''+++#@@@####+#####@@@@##+++'''++++'++++#@@@@@@@@###+++++#++'''+';          
          @#@@@@#######+##+'     ;;''++'''''+++##@@#++'''''''''''''''++++#@@@######@@@@##++++''''''''''+++++##@@@@@@@###+++++##+;'++'          
          ##@@@@##########+':   :''+###########@@@@#+++++''+''''''+'+++++++##@@@@@@@##++++++''+'''''''+'+'+++###@@@@@##+++++''+'''+'+          
           ##@@@###@######+''   ''''+######++##@@@@@#++++'+++++++++++++++++++#######++++++'+''''+'''''''++'+++++#@@@@#+++'''''''++''+          
           @@@@###########++'. +''++''+########@@@@@#+++++++++++++++++++++++++#+++++++++++'++'++''''''++++++++#@@@@@@#####+++''+#+'''          
           ,@@@##@#@######+++' +#''''''+##@#@@@@@@@`#++++++++++++++++++++++++++++++++++++++++++'+''''+++++++####@@@@######++''++##'''          
            #@@@#@@@######+++'';+#+''++'''++##@@@@  ##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@##++++''''++++''`         
            ##@@@@@@@#@#####++''''##'+++#####@@@@   +###++++++++++++++++++++++++++++++++++++++++++++++###++++#+#@@@@@###++++';'''++'',         
             @#@@@@@@@@#####+++''+'#@++++#@@@@@@     ####++++++++++++++++++++++++++++++++++++++++++++++###+######@@@@###+++++'++''++'+         
             ##@@@@@@@@#####++++''#'#@+###@@@@@      ########++++++++++++++++++++++++++++++++++++++++++###+######@@@@##++++++++'''++'+         
             .##@@@@@@@#######+++++#+###@@@@@@        ########++++++++++++++++++++++++++++++++++++++############@@@@@##+++''+++;;+++''         
              ##@@@@@@@##@@####++++@++##@@@@@         @#######+++++++++++++++++++++++++++++#++####+###########@@@@@@@@##++'''''''++++'         
              #@#@@@@@@@@@@######++#####@@@@          ,########++++++++++++++++++++++++++++##############@####@@@@@@@####++''+''';''''         
               #@@@@@@@@@@@#@####++#@##@@@@            #######++++++++++++++++++++++++++++#############@@@@@@@@@@@@@@##@###++++++'''++         
               #@@@@@@@@@@@@@####++#@###@@             @#####++++++++++++++++++++++++++++##############@@@@@@@@@@@@@@@#+#@++++++++'''+.        
               .@@@@@@@@@@@@@#######@@#@@               #####+++++++++++++++++++++++++++++##########@@@@@@@@@@@@@@@@@###+##+++'''++''+'        
                @@@@@@@@@@@@@@@@####@##@                @####++++++++++++++++++++++++++++##########@@@@@@@@@@@@@@@@@@@###+#@#++''+++'++        
                #@@@@@@@@@@@@@@@###@@@@                 '####++++++++++++++++++++++++++++++######@@@@@@@@@@@@@@@@@@@@@#++#++##+''''+'++        
                 @@@@@@@@@@@@@@@###@@#                  ,####+++++++++++++++++++++++++#++#######@@@@@@@@@@@@@##@@@@@####++#++##+''+++'#        
                 ##@@@@@@@@@@@@@@@@@#                    #####++++++++++++++++++++++++++++#######@@@@@@@@@@@@@@@@@@##@#+++++#'+#+'''+'+        
                  #@@@@@@@@@@@@@@@@@                     ####+++++++++++++++++++++++++++++#######@@@@@@@@@@@@@@@@@@##@##+#+++#+'#+'''++        
                  '#@@@@@@@@@@@@@@@                      #######++++++++++++++++++++##+++##########@@@@@@@@@@@@@@@@##@######'+#+'+#+'++`       
                   ##@@@@@@@@@@@@@                       ######+++++++++++##++##+#++################@@@@@@@@@@@@@@@##@@+++##@#'+#''++'+;       
                    #@@@@@@@@@@@.                        ###++#+#++++++++++++++++++++++++##################@@@#@@@@##@@##'+++#@#++#''+'#       
                       @@@@@@@@                          #####+++++++++++++++++++++++++++#####@@@@@@###########@@@@##@####+'+++###+++''#       
                          ,@@                            ######+++++++++++++++++++++++++########@@@@@@@@########@#######++''+++++###++'#       
                                                         ########++++++++++'++++++++++############@@@@@@@@@@@@@@@####@@#@@@@+''+'+#+@#+'       
                                                         ####++++++++++++++++'''+++++++++++#####@##@########@@@@@####@@##++#@@++++'#++@+#      
                                                         +######++++++++++++++++++++++++++##+++#####+++###@@@@@@######@@@@#+++##+'+'+#'#+      
                                                         ,####++++++++++++++##++++++++++++##+++#######@@@@@@@@@@######@@####+'+#@#++++#'+#     
                                                         `###+++++++++++++'''''++++++#++#############@@@@#####@@#######+###++##'++@#+#+#'#     
                                                          #####++++++++++++++++++++++++############@@@@#######@@######@#++#@@@++''+#@#++#+'    
                                                         +##+++++++++++++++++++++++++++++######@@@@@@@#######@@@@#@@@#@@#+'+++####''+@##+##    
                                                         ####+++++++++++++'+++'+''+++++++++++#######+++##########@@@@#@@@#+''''''+#+;'@##++    
                                                        .#####++++++++++++++'++++++++++#+++++++++++++############@@@#@@#####++'';;''++'#@#+    
                                                        +##++++++++++++''++++++++++++++++++++++##########+++#@@++@@@#@@##+#######+''';@'@@+    
                                                        +####++++++++++++'+''+++++++++++++++#########++++##@#++++###@@@@@#+'''++++##+++@+@#    
                                                       '+####+++++++++'++'''+++++++++++++++++#####+++##@#+';''++#@##@@@@@@##+';'''''#+#+@@+    
                                                       ++####+++++++++++++++'+++++++++++++++#########+';;;'+++#@#@@@#@@@@#####+;;;;;'++++##    
                                                      .+++##+++++++++++'+++++++++++++++++++######';;;;'''++#@@@@##@@@@@##++++'''''+#+'''++#    

Tests

Yeah, that. Since it's a reporter for a test runner I should probably add some tests, right ?

Todo / Contributing

  • It would be nice to be able to make each features optional (e.g. "nosound", "noascii" "nofeet")
  • This was tested only on macOS Terminal. Feedback on other platform is welcomed.
  • More ASCII art of the Septa !
  • Something when tests are passing ?
  • Make it ES6 & transpile legacy

Thanks

User (Adalbrosios)[https://www.reddit.com/user/Adalbrosios] on Reddit for the sound. This was largely inspired by the Spec runner, so thanks to the contributors here https://github.com/mochajs/mocha/blob/master/lib/reporters/spec.js

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free