anchor.diff:  import 'dart:convert';
   import 'dart:math' as MATH;
   
  +
  +const lineTerminators = const ['\n', '\r', '\r\n'];
   
   void main() {
     testSimpleConvert();
  
positive.code: }
  
  void testSimpleConvert() {
    var test = """line1
  line2
  line3""";
  
  
    var decoder = new LineSplitter();
    var result = decoder.convert(test);
  
    Expect.listEquals(['line1', 'line2', 'line3'], result);
  
    test = "Line1\nLine2\r\nLine3\rLi"
        "ne4\n"
         "\n\n\r\n\r\n\r\r";
  
    result = decoder.convert(test);
  
    Expect.listEquals(
        ['Line1', 'Line2', 'Line3', 'Line4', '', '', '', '', '', ''],
  
negative.code: }
  
  void testSplitWithOffsets() {
    for (var lf in lineTerminators) {
      var test = "line1${lf}line2${lf}line3";
      var i2 = 5 + lf.length;  // index of "line2".
      Expect.equals(5 + lf.length, i2);
  
      var result = LineSplitter.split(test, 4).toList();
      Expect.listEquals(['1', 'line2', 'line3'], result);
  
      result = LineSplitter.split(test, 5).toList();
      Expect.listEquals(['', 'line2', 'line3'], result);
  
      result = LineSplitter.split(test, i2).toList();
      Expect.listEquals(['line2', 'line3'], result);
  
      result = LineSplitter.split(test, 0, i2 + 2).toList();
      Expect.listEquals(['line1', 'li'], result);
  
      result = LineSplitter.split(test, i2, i2 + 5).toList();
      Expect.listEquals(['line2'], result);
    }
  
    var test = "Line1\nLine2\r\nLine3\rLine4\n\n\n\r\n\r\n\r\r";
  
    var result = LineSplitter.split(test).toList();
  
    Expect.listEquals(
        ['Line1', 'Line2', 'Line3', 'Line4', '', '', '', '', '', ''],
  