Utility function to generate the patch between two objects.

This commit is contained in:
Dave Gamble
2016-05-29 18:16:19 +01:00
parent e79fa9472b
commit 3a7bd6924a
3 changed files with 48 additions and 1 deletions

View File

@@ -148,5 +148,18 @@ int main()
free(before);free(patchtext);free(after);cJSON_Delete(object);cJSON_Delete(patch);
}
/* Generate Merge tests: */
for (i=0;i<15;i++)
{
cJSON *from=cJSON_Parse(merges[i][0]);
cJSON *to=cJSON_Parse(merges[i][2]);
cJSON *patch=cJSONUtils_GenerateMergePatch(from,to);
from=cJSONUtils_MergePatch(from,patch);
char *patchtext=cJSON_PrintUnformatted(patch);
char *patchedtext=cJSON_PrintUnformatted(from);
printf("Patch [%s] vs [%s] = [%s] vs [%s] (%s)\n",patchtext,merges[i][1],patchedtext,merges[i][2],strcmp(patchedtext,merges[i][2])?"FAIL":"OK");
cJSON_Delete(from);cJSON_Delete(to);cJSON_Delete(patch);free(patchtext);free(patchedtext);
}
}