mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 14:57:39 -02:30
deal with capped lines
This commit is contained in:
@@ -27,6 +27,7 @@ export default ['$log', 'moment', function($log, moment){
|
|||||||
line = line.replace(/u001b/g, '');
|
line = line.replace(/u001b/g, '');
|
||||||
|
|
||||||
// ansi classes
|
// ansi classes
|
||||||
|
line = line.replace(/\[1;im/g, '<i>');
|
||||||
line = line.replace(/\[1;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;31m/g, '<span class="ansi1 ansi31">');
|
||||||
line = line.replace(/\[0;32m/g, '<span class="ansi32">');
|
line = line.replace(/\[0;32m/g, '<span class="ansi32">');
|
||||||
@@ -39,6 +40,7 @@ export default ['$log', 'moment', function($log, moment){
|
|||||||
line = line.replace(/(<host.*?>)\s/g, '$1');
|
line = line.replace(/(<host.*?>)\s/g, '$1');
|
||||||
|
|
||||||
//end span
|
//end span
|
||||||
|
line = line.replace(/\[0im/g, '</i>');
|
||||||
line = line.replace(/\[0m/g, '</span>');
|
line = line.replace(/\[0m/g, '</span>');
|
||||||
} else {
|
} else {
|
||||||
// For the host event modal in the standard out tab,
|
// For the host event modal in the standard out tab,
|
||||||
@@ -192,10 +194,22 @@ export default ['$log', 'moment', function($log, moment){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
getLineArr: function(event) {
|
getLineArr: function(event) {
|
||||||
return _
|
let lineNums = _.range(event.start_line + 1,
|
||||||
.zip(_.range(event.start_line + 1,
|
event.end_line + 1);
|
||||||
event.end_line + 1),
|
|
||||||
event.stdout.replace("\t", " ").split("\r\n")).slice(0, -1);
|
let lines = event.stdout
|
||||||
|
.replace("\t", " ")
|
||||||
|
.split("\r\n");
|
||||||
|
|
||||||
|
if (lineNums.length > lines.length) {
|
||||||
|
let padBy = lineNums.length - lines.length;
|
||||||
|
|
||||||
|
for (let i = 0; i <= padBy; i++) {
|
||||||
|
lines.push("[1;imline capped.[0im");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _.zip(lineNums, lines).slice(0, -1);
|
||||||
},
|
},
|
||||||
// public function that provides the parsed stdout line, given a
|
// public function that provides the parsed stdout line, given a
|
||||||
// job_event
|
// job_event
|
||||||
|
|||||||
@@ -115,6 +115,19 @@ describe('parseStdoutService', () => {
|
|||||||
|
|
||||||
expect(returnedEvent).toEqual(expectedReturn);
|
expect(returnedEvent).toEqual(expectedReturn);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('deals correctly with capped lines', () => {
|
||||||
|
let mockEvent = {
|
||||||
|
start_line: 7,
|
||||||
|
end_line: 11,
|
||||||
|
stdout: "a\r\nb\r\nc..."
|
||||||
|
};
|
||||||
|
let expectedReturn = [[8, "a"],[9, "b"], [10,"c..."], [11, "[1;imline capped.[0im"]];
|
||||||
|
|
||||||
|
let returnedEvent = parseStdoutService.getLineArr(mockEvent);
|
||||||
|
|
||||||
|
expect(returnedEvent).toEqual(expectedReturn);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('parseStdout()', () => {
|
describe('parseStdout()', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user