| function mark_diffs(expected, actual) { |
| var expected_lines = expected.split("\n"); |
| var actual_lines = actual.split("\n"); |
| |
| var max_length = Math.max(expected_lines.length, actual_lines.length); |
| |
| var expected_diff = ["code", {}]; |
| var actual_diff = ["code", {}]; |
| |
| for (var i=0; i<max_length; i++) { |
| if (expected_lines[i] === actual_lines[i]) { |
| expected_diff.push(expected_lines[i] + "\n"); |
| actual_diff.push(actual_lines[i] + "\n"); |
| } else { |
| if (expected_lines[i]) { |
| expected_diff.push(["span", {style:"color:red"}, expected_lines[i] + "\n"]); |
| } |
| if (actual_lines[i]) { |
| actual_diff.push(["span", {style:"color:red"}, actual_lines[i] + "\n"]); |
| } |
| } |
| } |
| return [expected_diff, actual_diff]; |
| } |