2012-03-22 9 views
11

Quando corro Mocha, tenta di mostrare rispettivamente un segno di spunta o una X per un'esecuzione di test di passaggio o non riuscita. Ho visto screenshot di grande impatto dell'output di Mocha. Ma quegli screenshot sono stati tutti portati su Mac o Linux. In una finestra della console su Windows, questi caratteri si presentano entrambi come un carattere vuoto e non classificato, il classico "eh?" glifo:Come posso visualizzare correttamente l'output Unicode di Mocha in una console Windows?

Screenshot of Mocha in the Windows console, with a box character instead of the expected check mark

Se ho evidenziare il testo nella finestra della console e copiarlo negli appunti, io vedo i caratteri Unicode effettivi; Posso incollare i personaggi di fantasia in una casella di testo in un browser Web e vengono visualizzati correttamente (✔, ✖). Quindi l'output Unicode sta arrivando alla finestra della console bene; il problema è che la finestra della console non visualizza correttamente quei caratteri.

Come posso risolvere questo problema in modo che tutte le uscite di Mocha (inclusi ✔ e ✖) vengano visualizzate correttamente in una console Windows?

risposta

7

Update: questo problema è stato risolto. A partire da Mocha 1.7.0, i fallback vengono utilizzati per simboli che non esistono nei font di default della console (√ invece di ✔, × invece di ✖, ecc.). Non è bello come potrebbe essere, ma sicuramente batte i simboli segnaposto vuoti.

Per i dettagli, consultare la relativa richiesta di pull: https://github.com/visionmedia/mocha/pull/641

+2

che in realtà è una migliore risposta, più proattivo del mio - lo rende Basta lavorare, ovunque. Grazie per averlo fatto succedere! –

+0

Nessun problema compagno :) Scattiamo ora su Windows con Mocha! – jsalonen

24

Incollando i caratteri in LinqPad, sono stato in grado di capire che erano 'HEAVY CHECK MARK' (U+2714) e 'HEAVY MULTIPLICATION X' (U+2716). Sembra che nessuno dei due caratteri sia supportato in nessuno dei font di console (Consolas, Lucida Console o Raster Fonts) disponibili in Windows 7. Infatti, su tutti i font forniti con Windows 7, solo un piccolo supporto questi personaggi (Meiryo, Meiryo UI, MS Gothic, MS Mincho, MS PGothic, MS PMincho, MS UI Gothic e Segoe UI Symbol). Quelli che iniziano con "MS" sono tutti i font a larghezza fissa (monospaziale), ma sembrano tutti terribili per le dimensioni dei caratteri tipici di una console. E gli altri sono fuori, dal momento che la console richiede caratteri a larghezza fissa.

Quindi è necessario scaricare un font. Mi piace DejaVu Sans Mono - è gratuito, sembra buono alle dimensioni della console, è facile dire allo 0 dallo O e allo 1 dallo I allo l, e ha tutti i tipi di simboli Unicode di fantasia, incluso il controllo e X che Mocha usa.

Sample of the DejaVu Sans Mono font

Purtroppo, è un po 'un dolore per installare un nuovo font della console, ma è fattibile. (Passi adattato da this post by Scott Hanselman, ma estese per includere le sottigliezze non evidenti di 000.)

Passi:

  1. Download the DejaVu fonts. decomprimere i file. Vai nella directory "ttf" che hai appena decompresso, seleziona tutti i file, fai clic con il tasto destro del mouse e "Installa".
  2. Esegui Regedit e vai a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont.
  3. Aggiungere un nuovo valore di stringa. Dagli un nome che sia una stringa di zeri più lunga della più lunga stringa di zeri che c'è già. Ad esempio, sulla mia installazione di Windows 7, esiste già un valore denominato 0 e uno denominato 00, quindi ho dovuto denominare il nuovo 000.
  4. Fare doppio clic sul nuovo valore e impostarne il valore su DejaVu Sans Mono.
  5. Riavviare. (Sì, questo passaggio è necessario, almeno su sistemi operativi fino a Windows 7 incluso)
  6. Ora è possibile aprire una finestra della console, aprire il menu della finestra, passare a Valori predefiniti> scheda Carattere, e "DejaVu Sans Mono" dovrebbe essere disponibile nella casella di riepilogo Font. Selezionalo e OK.

Ora l'output di Mocha verrà visualizzato in tutta la sua gloria.

Screenshots of Mocha output displaying correctly in a Windows console

+0

Il riavvio è stato indesiderato per me su Windows 7 – xori

+0

Non è necessario riavviare in Windows 10 o – user1740331

Problemi correlati