The page range algos have been implemented in citeproc-js. The tests are here:
http://bitbucket.org/fbennett/citeproc-js/src/tip/std/humans/page_Chicago.txt
http://bitbucket.org/fbennett/citeproc-js/src/tip/std/humans/page_Expand.txt
http://bitbucket.org/fbennett/citeproc-js/src/tip/std/humans/page_Minimal.txt
http://bitbucket.org/fbennett/citeproc-js/src/tip/std/humans/page_NoOption.txt
If you spot any problems, let me know, or feel free to amend the tests
and send me a note.
Frank