1
0

improve tests and fix bug.

This commit is contained in:
Nathan TeBlunthuis 2025-07-05 10:19:24 -07:00
parent 1d73eef722
commit 83ebedfb41
2 changed files with 13 additions and 5 deletions

View File

@ -104,7 +104,7 @@ static PyObject *pywikidiff2_inline_json_diff(pywikidiff2Obj *self, PyObject *ar
PyErr_SetString(PyExc_ValueError, "Error in arguments to inline_json_diff"); PyErr_SetString(PyExc_ValueError, "Error in arguments to inline_json_diff");
return NULL; return NULL;
} }
if(numContextLines == NULL){ if(numContextLines != NULL){
*(&self->config.numContextLines) = numContextLines; *(&self->config.numContextLines) = numContextLines;
} }
Wikidiff2 wikidiff2( *(&self->config)); Wikidiff2 wikidiff2( *(&self->config));
@ -118,7 +118,6 @@ static PyObject *pywikidiff2_inline_json_diff(pywikidiff2Obj *self, PyObject *ar
wikidiff2.addFormatter(formatter); wikidiff2.addFormatter(formatter);
wikidiff2.execute(text1String, text2String); wikidiff2.execute(text1String, text2String);
Wikidiff2::String ret = formatter.getResult().str(); Wikidiff2::String ret = formatter.getResult().str();
PySys_WriteStdout(ret.c_str());
return PyUnicode_FromFormat("%s",ret.c_str()); return PyUnicode_FromFormat("%s",ret.c_str());
}; };

View File

@ -1,8 +1,9 @@
import pywikidiff2 import pywikidiff2
import json
num_context_lines = 100000
obj = pywikidiff2.pywikidiff2() obj = pywikidiff2.pywikidiff2()
obj = pywikidiff2.pywikidiff2(numContextLines=500000) obj = pywikidiff2.pywikidiff2(numContextLines=num_context_lines)
print(obj.num_context_lines()) assert obj.num_context_lines() == num_context_lines
print(obj.moved_line_threshold()) print(obj.moved_line_threshold())
print(obj.change_threshold()) print(obj.change_threshold())
print(obj.moved_paragraph_detection_cutoff()) print(obj.moved_paragraph_detection_cutoff())
@ -13,3 +14,11 @@ print(obj.final_split_threshold())
res = obj.inline_json_diff("help! \n I'm alive", "help! \n dead I am") res = obj.inline_json_diff("help! \n I'm alive", "help! \n dead I am")
print('\n') print('\n')
print(res) print(res)
res = obj.inline_json_diff(open("test/1295229484",'r').read(),
open("test/1295229484_parmove_and_change",'r').read())
res = json.loads(res)
assert res["diff"][0]["type"] == 0
print(res)
res = obj.inline_json_diff(open("test/1295229484",'r').read(),
open("test/1295229484_parmove_and_change",'r').read(),
numContextLines=10)