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]; }