Canonicalization of file URLs

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


FAIL canonicalize('file:c:\\foo\\bar.html') should be file:///C:/foo/bar.html. Was file:///tmp/mock/c:/foo/bar.html.
FAIL canonicalize('  File:c|////foo\\bar.html') should be file:///C:////foo/bar.html. Was file:///tmp/mock/c|////foo/bar.html.
FAIL canonicalize('file:') should be file:///. Was file:///tmp/mock/path.
FAIL canonicalize('file:UNChost/path') should be file://unchost/path. Was file:///tmp/mock/UNChost/path.
FAIL canonicalize('c:\\foo\\bar') should be file:///C:/foo/bar. Was c:/foo/bar.
FAIL canonicalize('C|/foo/bar') should be file:///C:/foo/bar. Was file:///tmp/mock/C|/foo/bar.
FAIL canonicalize('/C|\\foo\\bar') should be file:///C:/foo/bar. Was file:///C|/foo/bar.
FAIL canonicalize('//C|/foo/bar') should be file:///C:/foo/bar. Was file://C|/foo/bar.
PASS canonicalize('//server/file') is 'file://server/file'
PASS canonicalize('\\\\server\\file') is 'file://server/file'
PASS canonicalize('/\\server/file') is 'file://server/file'
FAIL canonicalize('file:c:foo/bar.html') should be file:///C:/foo/bar.html. Was file:///tmp/mock/c:foo/bar.html.
FAIL canonicalize('file:/\\/\\C:\\\\//foo\\bar.html') should be file:///C:////foo/bar.html. Was file:////C:////foo/bar.html.
PASS canonicalize('file:///foo/bar.txt') is 'file:///foo/bar.txt'
FAIL canonicalize('FILE:/\\/\\7:\\\\//foo\\bar.html') should be file://7:////foo/bar.html. Was file:////7:////foo/bar.html.
FAIL canonicalize('file:filer/home\\me') should be file://filer/home/me. Was file:///tmp/mock/filer/home/me.
FAIL canonicalize('file:///C:/foo/../../../bar.html') should be file:///C:/bar.html. Was file:///bar.html.
FAIL canonicalize('file:///C:/asdf#\xc2') should be file:///C:/asdf#ï¿½. Was file:///C:/asdf#%C2.
PASS canonicalize('file:///home/me') is 'file:///home/me'
FAIL canonicalize('file:c:\\foo\\bar.html') should be file:///c:/foo/bar.html. Was file:///tmp/mock/c:/foo/bar.html.
FAIL canonicalize('file:c|//foo\\bar.html') should be file:///c%7C//foo/bar.html. Was file:///tmp/mock/c|//foo/bar.html.
FAIL canonicalize('//') should be file:///. Was file:.
PASS canonicalize('///') is 'file:///'
PASS canonicalize('///test') is 'file:///test'
FAIL canonicalize('file://test') should be file://test/. Was file://test.
FAIL canonicalize('file://localhost') should be file://localhost/. Was file:.
FAIL canonicalize('file://localhost/') should be file://localhost/. Was file:///.
FAIL canonicalize('file://localhost/test') should be file://localhost/test. Was file:///test.
PASS successfullyParsed is true

TEST COMPLETE

