Differ.coffee
1 {Differ} = require '..' 2 3 suite 'Differ' 4 5 test '#_qformat', -> 6 d = new Differ 7 results = d._qformat('\tabcDefghiJkl\n', '\tabcdefGhijkl\n', 8 ' ^ ^ ^ ', ' ^ ^ ^ ') 9 results.should.eql [ 10 '- \tabcDefghiJkl\n', 11 '? \t ^ ^ ^\n', 12 '+ \tabcdefGhijkl\n', 13 '? \t ^ ^ ^\n' 14 ] 15 16 test '#_fancyReplace', -> 17 d = new Differ 18 d._fancyReplace(['abcDefghiJkl\n'], 0, 1, 19 ['abcdefGhijkl\n'], 0, 1).should.eql [ 20 '- abcDefghiJkl\n', 21 '? ^ ^ ^\n', 22 '+ abcdefGhijkl\n', 23 '? ^ ^ ^\n' 24 ] 25 26 test '#compare', -> 27 d = new Differ 28 d.compare(['one\n', 'two\n', 'three\n'], 29 ['ore\n', 'tree\n', 'emu\n']).should.eql [ 30 '- one\n', 31 '? ^\n', 32 '+ ore\n', 33 '? ^\n', 34 '- two\n', 35 '- three\n', 36 '? -\n', 37 '+ tree\n', 38 '+ emu\n' 39 ] 40 41 text1 = [ 42 '1. Beautiful is better than ugly.\n', 43 '2. Explicit is better than implicit.\n', 44 '3. Simple is better than complex.\n', 45 '4. Complex is better than complicated.\n' 46 ] 47 text2 = [ 48 '1. Beautiful is better than ugly.\n', 49 '3. Simple is better than complex.\n', 50 '4. Complicated is better than complex.\n', 51 '5. Flat is better than nested.\n' 52 ] 53 d = new Differ() 54 d.compare(text1, text2).should.eql [ 55 ' 1. Beautiful is better than ugly.\n', 56 '- 2. Explicit is better than implicit.\n', 57 '- 3. Simple is better than complex.\n', 58 '+ 3. Simple is better than complex.\n', 59 '? ++\n', 60 '- 4. Complex is better than complicated.\n', 61 '? ^ ---- ^\n', 62 '+ 4. Complicated is better than complex.\n', 63 '? ++++ ^ ^\n', 64 '+ 5. Flat is better than nested.\n' 65 ]