-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
This diff tool seems to have some issues. I encountered this by chance, but output like ('-',0) appears, which doesn't make any sense.
For example
old = 'e_"thati,"rgam i,"rgao i,"rgats""\ttj_n"l,"_e_rmem:o\ngoctep_"l,"_e_rmerg""\thwi:o\ner"n\ndg""\tlyrg""\n\t}\n}'
new = '\n\t\t3,\n\t\t\t5,\n\t\t\t5\n\t\t}\n\t},\n\tall = {\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t7,\n\t\t8,\n\t\t9,\n\t\t10,\n\t\t11,\n\t\t12\n\t}\n}\n'
dif = diff(old,new)
returns
[('-', 96), ('+', 95), ('=', 4), ('-', 0), ('=', 1), ('+', 1)]
As soon as I change anything the -0 disappears and leaves me with a =5 though.
Another thing I found is alternating + and - which also does not make sense:
old = 'log",\n\t\t"ot: "log",\n\t\t"error": "print",\n\t\t"debug": "log",\n\t\t"all_key_warning": "log"\n\t}\n}'
new = '12,\n\t\t\t3,\n\t\t\t5,\n\t\t\t5\n\t\t}\n\t},\n\tall = {\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t7,\n\t\t8,\n\t\t9,\n\t\t10,\n\t\t11,\n\t\t12\n\t}\n}\n'
dif = diff(old,new)
returns
[('-', 18), ('+', 8), ('=', 4), ('+', 1), ('-', 16), ('+', 1), ('=', 4), ('+', 1), ('-', 42), ('+', 80), ('=', 5), ('+', 1)]
Whether these are issues with the base library or just this port I was unable to tell. At least the python port for the original google script didn't have these issues with these exact test strings.
Metadata
Metadata
Assignees
Labels
No labels