Mocha Septa Reporter
Shame! Shame! Shame! 🔔
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
-
Will play the shame sound (voice + bell)
-
Will display the shame message :
Shame! Shame! Shame! 🔔
Shame! Shame! Shame! 🔔
Shame! Shame! Shame! 🔔 -
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