diff-match-patch example for eudoc/eutest
- Posted by ne1uno Jan 06, 2011
- 1775 views
I've posted a zip of my partial conversion of diff-match-patch with euphoria 4 at diff_match_patch_euphoria download
this is not a best practices or tutorial, but a work in progress. I thought it may be useful as an example of how to use unittest, eutest, and eudoc & creole to create a one page doc of a module and unittest and coverage report while working on a module. these tools are all included in the eu4 final distribution. the only real examples of usage are in the makefile and it can be hard to find out how to use these tools in your own projects.
only diff, diff tests and a few misc routines are converted so far. the zip has a batch file dmp_doc.bat to run off a html doc, another dmp_test.bat creates the unittest and the coverage report on the module. the shell script is not usable but will be in future versions. you will probably have to adjust paths and edit the batch files to get usable results on your system.
at this stage, euphoria diff-match-patch is not ready for prime time, the archive was created so others can take a look and possibly contribute to bug fixes and optomization while I do the rest of the conversion.
this needs a little more work and another set of eyes. many of the tests are failing, probably one off errors from my conversion or some other reason. base0/1 etc.
this also needs to be optimized in places instead of using the 1:1 conversion from java and cpp or lua, using their idioms.
this project is useful for a few reasons:
- this diff has versions for c#, cpp, python, lua, java, javascript.
- benchmarks between the various languages.
- it has a timeout and interline character difference display. could be useful on the wiki once debugged.
- the full conversion can produce patches and matches.
- it will showcase euphoria builtins and distributed tools for creating documentation using creole markup and integrated unittesting. including coverage reports and html generation of same.
- there is likely no language with this capability out of the box.
- diff-match-patch is a popular lib and euphoria should be represented.
- has an active developer and growing user community.
- Diff, Match and Patch download/wiki/issues google-diff-match-patch
- list http://groups.google.com/group/diff-match-patch/topics
- author: http://neil.fraser.name/software/lpt/ euphoria archive contributer, but source missing.
- results of the official diff-match-patch speedtest] http://neil.fraser.name/news/2010/12/17/
euphoria results not yet valid untill all tests pass and, obviously, not included in the official speedtest. the euphoria/euphoria directory contains the speedtest, but it currently does not do the translation or run the executable vrs interpreted results.
feel free to comment, ne1 <eltronic at lycos.com> or here on the forum or on eu4qt issues tracker.