'From Squeak3.7alpha of ''11 September 2003'' [latest update: #5657] on 13 February 2004 at 2:57:11 pm'! "Change Set: UrlTestFixes-gk Date: 12 February 2004 Author: Gšran Krampe A bunch of extra tests for FileUrl given the FileUrlRewrite."! !UrlTest methodsFor: 'testing' stamp: 'gk 2/12/2004 21:30'! testAbsoluteFILE3 "Just a few selected tests for FileUrl, not complete by any means." {'file:'. 'file:/'. 'file://'} do: [:s | url _ FileUrl absoluteFromText: s. self assert: (url asString = 'file:///'). self assert: (url host = ''). self assert: url isAbsolute]. url _ FileUrl absoluteFromText: 'file://localhost/dir/file.txt'. self assert: (url asString = 'file://localhost/dir/file.txt'). self assert: (url host = 'localhost'). url _ FileUrl absoluteFromText: 'file://localhost/dir/file.txt'. self assert: (url asString = 'file://localhost/dir/file.txt'). self assert: (url host = 'localhost'). self assert: url isAbsolute. url _ FileUrl absoluteFromText: 'file:///dir/file.txt'. self assert: (url asString = 'file:///dir/file.txt'). self assert: (url host = ''). self assert: url isAbsolute. url _ FileUrl absoluteFromText: '/dir/file.txt'. self assert: (url asString = 'file:///dir/file.txt'). self assert: url isAbsolute. url _ FileUrl absoluteFromText: 'dir/file.txt'. self assert: (url asString = 'file:///dir/file.txt'). self deny: url isAbsolute. url _ FileUrl absoluteFromText: 'c:/dir/file.txt'. self assert: (url asString = 'file:///c%3A/dir/file.txt'). self assert: url isAbsolute. "Only a drive letter doesn't refer to a directory." url _ FileUrl absoluteFromText: 'c:'. self assert: (url asString = 'file:///c%3A/'). self assert: url isAbsolute. url _ FileUrl absoluteFromText: 'c:/'. self assert: (url asString = 'file:///c%3A/'). self assert: url isAbsolute! ! !UrlTest methodsFor: 'testing' stamp: 'gk 2/12/2004 21:32'! testRelativeFILE | url2 | baseUrl _ 'file:/some/dir#fragment1' asUrl. url _ baseUrl newFromRelativeText: 'file:../another/dir/#fragment2'. self assert: url toText = 'file:///another/dir/#fragment2'. url _ FileUrl absoluteFromText: 'file://localhost/dir/dir2/file.txt'. url2 _ FileUrl absoluteFromText: 'file://hostname/flip/file.txt'. url2 privateInitializeFromText: '../file2.txt' relativeTo: url. self assert: (url2 asString = 'file://localhost/dir/file2.txt'). self assert: (url2 host = 'localhost'). self assert: url2 isAbsolute. url _ FileUrl absoluteFromText: 'file://localhost/dir/dir2/file.txt'. url2 _ FileUrl absoluteFromText: 'flip/file.txt'. self deny: url2 isAbsolute. url2 privateInitializeFromText: '.././flip/file.txt' relativeTo: url. self assert: (url2 asString = 'file://localhost/dir/flip/file.txt'). self assert: (url2 host = 'localhost'). self assert: url2 isAbsolute. ! ! !UrlTest methodsFor: 'testing' stamp: 'gk 2/12/2004 21:31'! testRoundTripFILE "File URLs should round-trip OK. This test should ultimately be tested on all platforms." | fileName | fileName _ FileDirectory default fullNameFor: 'xxx.st'. url _ FileDirectory urlForFileNamed: fileName. self assert: (url pathForFile = fileName) description: 'fileName didn''t round-trip'.! !