Merge pull request #197 from gconsidine/ui/fix/stdout-chars

Ui/fix/stdout chars
This commit is contained in:
Greg Considine
2017-08-04 17:24:05 -04:00
committed by GitHub
2 changed files with 20 additions and 32 deletions

View File

@@ -9,7 +9,6 @@ export default ['$log', 'moment', 'i18n', function($log, moment, i18n){
// parses stdout string from api and formats various codes to the
// correct dom structure
prettify: function(line, unstyled){
line = line
.replace(/&/g, "&")
.replace(/</g, "&lt;")
@@ -27,46 +26,35 @@ export default ['$log', 'moment', 'i18n', function($log, moment, i18n){
line = line.replace(/u001b/g, '');
// ansi classes
line = line.replace(/\[1;im/g, '<span class="JobResultsStdOut-cappedLine">');
line = line.replace(/\[0;30m/g, '<span class="ansi30">');
line = line.replace(/\[1;30m/g, '<span class="ansi1 ansi30">');
line = line.replace(/\[1;31m/g, '<span class="ansi1 ansi31">');
line = line.replace(/\[0;31m/g, '<span class="ansi1 ansi31">');
line = line.replace(/\[1;31m/g, '<span class="ansi1 ansi31">');
line = line.replace(/\[0;31m/g, '<span class="ansi1 ansi31">');
line = line.replace(/\[0;32m/g, '<span class="ansi32">');
line = line.replace(/\[0;32m=/g, '<span class="ansi32">');
line = line.replace(/\[0;32m1/g, '<span class="ansi36">');
line = line.replace(/\[0;33m/g, '<span class="ansi33">');
line = line.replace(/\[0;34m/g, '<span class="ansi34">');
line = line.replace(/\[0;35m/g, '<span class="ansi35">');
line = line.replace(/\[1;35m/g, '<span class="ansi35">');
line = line.replace(/\[0;36m/g, '<span class="ansi36">');
/* jshint ignore:start */
line = line.replace(/(|)\[1;im/g, '<span class="JobResultsStdOut-cappedLine">');
line = line.replace(/(|)\[0;30m/g, '<span class="ansi30">');
line = line.replace(/(|)\[1;30m/g, '<span class="ansi1 ansi30">');
line = line.replace(/(|)\[[0,1];31m/g, '<span class="ansi1 ansi31">');
line = line.replace(/(|)\[0;32m(=|)/g, '<span class="ansi32">');
line = line.replace(/(|)\[0;32m1/g, '<span class="ansi36">');
line = line.replace(/(|)\[0;33m/g, '<span class="ansi33">');
line = line.replace(/(|)\[0;34m/g, '<span class="ansi34">');
line = line.replace(/(|)\[[0,1];35m/g, '<span class="ansi35">');
line = line.replace(/(|)\[0;36m/g, '<span class="ansi36">');
line = line.replace(/(<host.*?>)\s/g, '$1');
//end span
line = line.replace(/\[0m/g, '</span>');
line = line.replace(/(|)\[0m/g, '</span>');
/* jshint ignore:end */
} else {
// For the host event modal in the standard out tab,
// the styling isn't necessary
line = line.replace(/u001b/g, '');
// ansi classes
line = line.replace(/\[0;30m/g, '');
line = line.replace(/\[1;30m/g, '');
line = line.replace(/\[1;31m/g, '');
line = line.replace(/\[0;31m/g, '');
line = line.replace(/\[0;32m/g, '');
line = line.replace(/\[0;32m=/g, '');
line = line.replace(/\[0;32m1/g, '');
line = line.replace(/\[0;33m/g, '');
line = line.replace(/\[0;34m/g, '');
line = line.replace(/\[0;35m/g, '');
line = line.replace(/\[0;36m/g, '');
/* jshint ignore:start */
line = line.replace(/(|)\[[0,1];3[0-9]m(1|=|)/g, '');
line = line.replace(/(<host.*?>)\s/g, '$1');
//end span
line = line.replace(/\[0m/g, '');
line = line.replace(/(|)\[0m/g, '');
/* jshint ignore:end */
}
return line;

View File

@@ -21,14 +21,14 @@ describe('parseStdoutService', () => {
describe('prettify()', () => {
it('returns lines of stdout with styling classes', () => {
let line = "[0;32mok: [host-00]",
styledLine = '<span class="ansi32">ok: [host-00]</span>';
styledLine = '<span class="ansi32">ok: [host-00]</span>';
expect(parseStdoutService.prettify(line)).toBe(styledLine);
});
it('can return lines of stdout without styling classes', () => {
let line = "[0;32mok: [host-00]",
let line = "[0;32mok: [host-00][0m",
unstyled = "unstyled",
unstyledLine = 'ok: [host-00]';
unstyledLine = 'ok: [host-00]';
expect(parseStdoutService.prettify(line, unstyled)).toBe(unstyledLine);
});