[squeak-dev] The Trunk: NetworkTests-pre.63.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jun 8 09:24:50 UTC 2022
Patrick Rein uploaded a new version of NetworkTests to project The Trunk:
http://source.squeak.org/trunk/NetworkTests-pre.63.mcz
==================== Summary ====================
Name: NetworkTests-pre.63
Author: pre
Time: 8 June 2022, 11:24:47.974975 am
UUID: f3b9135b-3bc7-964f-a587-737361164a14
Ancestors: NetworkTests-pre.62
Renames TestURI to URITest because it is a ClassTestCase and should correspons to its naming scheme. Removes #classToBeTested from URITest as it is now covered by the naming convention.
=============== Diff against NetworkTests-pre.62 ===============
Item was removed:
- ClassTestCase subclass: #TestURI
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'NetworkTests-URI'!
-
- !TestURI commentStamp: 'pre 4/22/2022 21:05' prior: 0!
- Some parsers allow the scheme name to be present in a relative URI if
- it is the same as the base URI scheme. This is considered to be a
- loophole in prior specifications of partial URI [RFC1630]. Its use
- should be avoided.
-
- http:g = http:g ; for validating parsers
- | http://a/b/c/g ; for backwards compatibility
- !
Item was removed:
- ----- Method: TestURI class>>generateAbnormalResolverTests (in category 'test generation') -----
- generateAbnormalResolverTests
- "TestURI generateAbnormalResolverTests"
-
- | relURIString result method testPairs pair |
-
- testPairs := #(
- #('../../../g' 'http://a/../g' )
- #('../../../../g' 'http://a/../../g' )
- #('/./g' 'http://a/./g' )
- #('/../g' 'http://a/../g' )
- #('g.' 'http://a/b/c/g.' )
- #('.g' 'http://a/b/c/.g' )
- #('g..' 'http://a/b/c/g..' )
- #('..g' 'http://a/b/c/..g' )
- #('./../g' 'http://a/b/g' )
- #('./g/.' 'http://a/b/c/g/' )
- #('g/./h' 'http://a/b/c/g/h' )
- #('g/../h' 'http://a/b/c/h' )
- #('g;x=1/./y' 'http://a/b/c/g;x=1/y' )
- #('g;x=1/../y' 'http://a/b/c/y' )
- #('g?y/./x' 'http://a/b/c/g?y/./x' )
- #('g?y/../x' 'http://a/b/c/g?y/../x' )
- #('g#s/./x' 'http://a/b/c/g#s/./x' )
- #('g#s/../x' 'http://a/b/c/g#s/../x' )
- ).
- 1 to: testPairs size do: [:index |
- pair := testPairs at: index.
- relURIString := pair first.
- result := pair last.
- method := String streamContents: [:stream |
- stream nextPutAll: 'testResolveAbnormal' , index printString; cr.
- stream
- nextPutAll: ' | baseURI relURI resolvedURI |' ; cr;
- nextPutAll: ' baseURI := ''http://a/b/c/d;p?q'' asURI.' ; cr;
- nextPutAll: ' relURI := '; nextPut: $'; nextPutAll: relURIString; nextPutAll: '''.' ; cr;
- nextPutAll: ' resolvedURI := baseURI resolveRelativeURI: relURI.' ; cr;
- nextPutAll: ' self should: [resolvedURI asString = '''; nextPutAll: result; nextPutAll: '''].' ; cr].
- self compile: method classified: 'running resolving'].
- !
Item was removed:
- ----- Method: TestURI class>>generateNormalResolverTests (in category 'test generation') -----
- generateNormalResolverTests
- "TestURI generateNormalResolverTests"
-
- | relURIString result method testPairs pair |
-
- testPairs := #(
- #('g:h' 'g:h' )
- #('g' 'http://a/b/c/g' )
- #('./g' 'http://a/b/c/g' )
- #('g/' 'http://a/b/c/g/' )
- #('/g' 'http://a/g' )
- #('//g' 'http://g' )
- #('?y' 'http://a/b/c/?y' )
- #('g?y' 'http://a/b/c/g?y' )
- #('g#s' 'http://a/b/c/g#s' )
- #('g?y#s' 'http://a/b/c/g?y#s' )
- #(';x' 'http://a/b/c/;x' )
- #('g;x' 'http://a/b/c/g;x' )
- #('g;x?y#s' 'http://a/b/c/g;x?y#s' )
- #('.' 'http://a/b/c/' )
- #('./' 'http://a/b/c/' )
- #('..' 'http://a/b/' )
- #('../' 'http://a/b/' )
- #('../g' 'http://a/b/g' )
- #('../..' 'http://a/' )
- #('../../' 'http://a/' )
- #('../../g' 'http://a/g' )
- ).
- 1 to: testPairs size do: [:index |
- pair := testPairs at: index.
- relURIString := pair first.
- result := pair last.
- method := String streamContents: [:stream |
- stream nextPutAll: 'testResolveNormal' , index printString; cr.
- stream
- nextPutAll: ' | baseURI relURI resolvedURI |' ; cr;
- nextPutAll: ' baseURI := ''http://a/b/c/d;p?q'' asURI.' ; cr;
- nextPutAll: ' relURI := '; nextPut: $'; nextPutAll: relURIString; nextPutAll: '''.' ; cr;
- nextPutAll: ' resolvedURI := baseURI resolveRelativeURI: relURI.' ; cr;
- nextPutAll: ' self should: [resolvedURI asString = '''; nextPutAll: result; nextPutAll: '''].' ; cr].
- self compile: method classified: 'running resolving'].
- !
Item was removed:
- ----- Method: TestURI>>classToBeTested (in category 'coverage') -----
- classToBeTested
-
- ^ URI!
Item was removed:
- ----- Method: TestURI>>testDefaultDirRoundtrip (in category 'tests - file') -----
- testDefaultDirRoundtrip
- | defaultDir defaultURI uriDir |
- defaultDir := FileDirectory default.
- defaultURI := defaultDir uri.
- uriDir := FileDirectory uri: defaultURI.
- self should: [defaultDir fullName = uriDir fullName]!
Item was removed:
- ----- Method: TestURI>>testDirWithHash (in category 'tests - file') -----
- testDirWithHash
- "Tests proper escaping of directories with hash mark"
-
- | uriDir origPath origDir dirURI |
- origPath := FileDirectory default pathName, '#123'.
- origDir := FileDirectory on: origPath.
- self assert: origDir pathName = origPath.
-
- dirURI := origDir uri.
- uriDir := FileDirectory uri: dirURI.
- self assert: origDir fullName = uriDir fullName.!
Item was removed:
- ----- Method: TestURI>>testDirectoryRoot (in category 'tests - file') -----
- testDirectoryRoot
-
- | rootDir uriRoot uriDir |
- rootDir := FileDirectory root.
- uriRoot := 'file:///' asURI.
- uriDir := FileDirectory uri: uriRoot.
- self should: [rootDir fullName = uriDir fullName]!
Item was removed:
- ----- Method: TestURI>>testEquals (in category 'tests - comparing') -----
- testEquals
-
- | uri uriString |
- uri := [:string | URI fromString: string].
-
- uriString := 'http://squeak.org/'.
- self assert: (uri value: uriString) = (uri value: uriString).
- uriString := 'http://squeak.org/index.html'.
- self assert: (uri value: uriString) = (uri value: uriString).
- uriString := 'mailto:somebody at somewhere.nowhere#fragment'.
- self assert: (uri value: uriString) = (uri value: uriString).
-
- self deny: (uri value: 'http://squeak.org') = (uri value: 'http://website.com').!
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal1 (in category 'tests - resolving') -----
- testResolveAbnormal1
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../../../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/../g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal10 (in category 'tests - resolving') -----
- testResolveAbnormal10
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := './g/.'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal11 (in category 'tests - resolving') -----
- testResolveAbnormal11
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g/./h'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g/h'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal12 (in category 'tests - resolving') -----
- testResolveAbnormal12
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g/../h'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/h'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal13 (in category 'tests - resolving') -----
- testResolveAbnormal13
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g;x=1/./y'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g;x=1/y'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal14 (in category 'tests - resolving') -----
- testResolveAbnormal14
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g;x=1/../y'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/y'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal15 (in category 'tests - resolving') -----
- testResolveAbnormal15
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g?y/./x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g?y/./x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal16 (in category 'tests - resolving') -----
- testResolveAbnormal16
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g?y/../x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g?y/../x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal17 (in category 'tests - resolving') -----
- testResolveAbnormal17
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g#s/./x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g#s/./x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal18 (in category 'tests - resolving') -----
- testResolveAbnormal18
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g#s/../x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g#s/../x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal2 (in category 'tests - resolving') -----
- testResolveAbnormal2
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../../../../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/../../g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal3 (in category 'tests - resolving') -----
- testResolveAbnormal3
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '/./g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/./g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal4 (in category 'tests - resolving') -----
- testResolveAbnormal4
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '/../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/../g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal5 (in category 'tests - resolving') -----
- testResolveAbnormal5
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g.'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g.'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal6 (in category 'tests - resolving') -----
- testResolveAbnormal6
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '.g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/.g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal7 (in category 'tests - resolving') -----
- testResolveAbnormal7
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g..'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g..'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal8 (in category 'tests - resolving') -----
- testResolveAbnormal8
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '..g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/..g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveAbnormal9 (in category 'tests - resolving') -----
- testResolveAbnormal9
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := './../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal1 (in category 'tests - resolving') -----
- testResolveNormal1
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g:h'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'g:h'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal10 (in category 'tests - resolving') -----
- testResolveNormal10
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g?y#s'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g?y#s'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal11 (in category 'tests - resolving') -----
- testResolveNormal11
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := ';x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/;x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal12 (in category 'tests - resolving') -----
- testResolveNormal12
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g;x'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g;x'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal13 (in category 'tests - resolving') -----
- testResolveNormal13
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g;x?y#s'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g;x?y#s'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal14 (in category 'tests - resolving') -----
- testResolveNormal14
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '.'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal15 (in category 'tests - resolving') -----
- testResolveNormal15
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := './'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal16 (in category 'tests - resolving') -----
- testResolveNormal16
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '..'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal17 (in category 'tests - resolving') -----
- testResolveNormal17
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal18 (in category 'tests - resolving') -----
- testResolveNormal18
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal19 (in category 'tests - resolving') -----
- testResolveNormal19
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../..'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal2 (in category 'tests - resolving') -----
- testResolveNormal2
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal20 (in category 'tests - resolving') -----
- testResolveNormal20
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../../'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal21 (in category 'tests - resolving') -----
- testResolveNormal21
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '../../g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal3 (in category 'tests - resolving') -----
- testResolveNormal3
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := './g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal4 (in category 'tests - resolving') -----
- testResolveNormal4
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g/'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g/'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal5 (in category 'tests - resolving') -----
- testResolveNormal5
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '/g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal6 (in category 'tests - resolving') -----
- testResolveNormal6
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '//g'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://g'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal7 (in category 'tests - resolving') -----
- testResolveNormal7
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := '?y'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/?y'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal8 (in category 'tests - resolving') -----
- testResolveNormal8
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g?y'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g?y'].
- !
Item was removed:
- ----- Method: TestURI>>testResolveNormal9 (in category 'tests - resolving') -----
- testResolveNormal9
- | baseURI relURI resolvedURI |
- baseURI := 'http://a/b/c/d;p?q' asURI.
- relURI := 'g#s'.
- resolvedURI := baseURI resolveRelativeURI: relURI.
- self should: [resolvedURI asString = 'http://a/b/c/g#s'].
- !
Item was removed:
- ----- Method: TestURI>>testSchemeAbsoluteFail1 (in category 'tests - parsing') -----
- testSchemeAbsoluteFail1
- self should: [URI fromString: 'http:'] raise: IllegalURIException!
Item was removed:
- ----- Method: TestURI>>testSchemeAbsolutePass1 (in category 'tests - parsing') -----
- testSchemeAbsolutePass1
- | uri |
- uri := URI fromString: 'http://www.squeakland.org'.
- self should: [uri scheme = 'http'].
- self should: [uri isAbsolute].
- self shouldnt: [uri isOpaque].
- self shouldnt: [uri isRelative]!
Item was removed:
- ----- Method: TestURI>>testSchemeAbsolutePass2 (in category 'tests - parsing') -----
- testSchemeAbsolutePass2
- | uri |
- uri := URI fromString: 'mailto:somebody at somewhere.nowhere'.
- self should: [uri scheme = 'mailto'].
- self should: [uri isAbsolute].
- self should: [uri isOpaque].
- self shouldnt: [uri isRelative]!
Item was removed:
- ----- Method: TestURI>>testSchemeAbsolutePass3 (in category 'tests - parsing') -----
- testSchemeAbsolutePass3
- | uri |
- uri := URI fromString: 'ftp://ftp@squeak.org'.
- self should: [uri scheme = 'ftp'].
- self should: [uri isAbsolute].
- self shouldnt: [uri isOpaque].
- self shouldnt: [uri isRelative].
- self should: [uri userInfo = 'ftp'].
- self should: [uri host = 'squeak.org'].
- self should: [uri port isNil].
- !
Item was removed:
- ----- Method: TestURI>>testSchemeAbsolutePass4 (in category 'tests - parsing') -----
- testSchemeAbsolutePass4
- | uri |
- uri := URI fromString: 'mailto:somebody at somewhere.nowhere#fragment'.
- self should: [uri scheme = 'mailto'].
- self should: [uri isAbsolute].
- self should: [uri isOpaque].
- self shouldnt: [uri isRelative].
- self should: [uri fragment = 'fragment'].
- !
Item was removed:
- ----- Method: TestURI>>testSchemeAbsolutePass5 (in category 'tests - parsing') -----
- testSchemeAbsolutePass5
- | uri |
- uri := URI fromString: 'http://www.squeakland.org#fragment'.
- self should: [uri scheme = 'http'].
- self should: [uri isAbsolute].
- self shouldnt: [uri isOpaque].
- self shouldnt: [uri isRelative].
- self should: [uri fragment = 'fragment'].
- !
Item was added:
+ ClassTestCase subclass: #URITest
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'NetworkTests-URI'!
+
+ !URITest commentStamp: 'pre 4/22/2022 21:05' prior: 0!
+ Some parsers allow the scheme name to be present in a relative URI if
+ it is the same as the base URI scheme. This is considered to be a
+ loophole in prior specifications of partial URI [RFC1630]. Its use
+ should be avoided.
+
+ http:g = http:g ; for validating parsers
+ | http://a/b/c/g ; for backwards compatibility
+ !
Item was added:
+ ----- Method: URITest class>>generateAbnormalResolverTests (in category 'test generation') -----
+ generateAbnormalResolverTests
+ "TestURI generateAbnormalResolverTests"
+
+ | relURIString result method testPairs pair |
+
+ testPairs := #(
+ #('../../../g' 'http://a/../g' )
+ #('../../../../g' 'http://a/../../g' )
+ #('/./g' 'http://a/./g' )
+ #('/../g' 'http://a/../g' )
+ #('g.' 'http://a/b/c/g.' )
+ #('.g' 'http://a/b/c/.g' )
+ #('g..' 'http://a/b/c/g..' )
+ #('..g' 'http://a/b/c/..g' )
+ #('./../g' 'http://a/b/g' )
+ #('./g/.' 'http://a/b/c/g/' )
+ #('g/./h' 'http://a/b/c/g/h' )
+ #('g/../h' 'http://a/b/c/h' )
+ #('g;x=1/./y' 'http://a/b/c/g;x=1/y' )
+ #('g;x=1/../y' 'http://a/b/c/y' )
+ #('g?y/./x' 'http://a/b/c/g?y/./x' )
+ #('g?y/../x' 'http://a/b/c/g?y/../x' )
+ #('g#s/./x' 'http://a/b/c/g#s/./x' )
+ #('g#s/../x' 'http://a/b/c/g#s/../x' )
+ ).
+ 1 to: testPairs size do: [:index |
+ pair := testPairs at: index.
+ relURIString := pair first.
+ result := pair last.
+ method := String streamContents: [:stream |
+ stream nextPutAll: 'testResolveAbnormal' , index printString; cr.
+ stream
+ nextPutAll: ' | baseURI relURI resolvedURI |' ; cr;
+ nextPutAll: ' baseURI := ''http://a/b/c/d;p?q'' asURI.' ; cr;
+ nextPutAll: ' relURI := '; nextPut: $'; nextPutAll: relURIString; nextPutAll: '''.' ; cr;
+ nextPutAll: ' resolvedURI := baseURI resolveRelativeURI: relURI.' ; cr;
+ nextPutAll: ' self should: [resolvedURI asString = '''; nextPutAll: result; nextPutAll: '''].' ; cr].
+ self compile: method classified: 'running resolving'].
+ !
Item was added:
+ ----- Method: URITest class>>generateNormalResolverTests (in category 'test generation') -----
+ generateNormalResolverTests
+ "TestURI generateNormalResolverTests"
+
+ | relURIString result method testPairs pair |
+
+ testPairs := #(
+ #('g:h' 'g:h' )
+ #('g' 'http://a/b/c/g' )
+ #('./g' 'http://a/b/c/g' )
+ #('g/' 'http://a/b/c/g/' )
+ #('/g' 'http://a/g' )
+ #('//g' 'http://g' )
+ #('?y' 'http://a/b/c/?y' )
+ #('g?y' 'http://a/b/c/g?y' )
+ #('g#s' 'http://a/b/c/g#s' )
+ #('g?y#s' 'http://a/b/c/g?y#s' )
+ #(';x' 'http://a/b/c/;x' )
+ #('g;x' 'http://a/b/c/g;x' )
+ #('g;x?y#s' 'http://a/b/c/g;x?y#s' )
+ #('.' 'http://a/b/c/' )
+ #('./' 'http://a/b/c/' )
+ #('..' 'http://a/b/' )
+ #('../' 'http://a/b/' )
+ #('../g' 'http://a/b/g' )
+ #('../..' 'http://a/' )
+ #('../../' 'http://a/' )
+ #('../../g' 'http://a/g' )
+ ).
+ 1 to: testPairs size do: [:index |
+ pair := testPairs at: index.
+ relURIString := pair first.
+ result := pair last.
+ method := String streamContents: [:stream |
+ stream nextPutAll: 'testResolveNormal' , index printString; cr.
+ stream
+ nextPutAll: ' | baseURI relURI resolvedURI |' ; cr;
+ nextPutAll: ' baseURI := ''http://a/b/c/d;p?q'' asURI.' ; cr;
+ nextPutAll: ' relURI := '; nextPut: $'; nextPutAll: relURIString; nextPutAll: '''.' ; cr;
+ nextPutAll: ' resolvedURI := baseURI resolveRelativeURI: relURI.' ; cr;
+ nextPutAll: ' self should: [resolvedURI asString = '''; nextPutAll: result; nextPutAll: '''].' ; cr].
+ self compile: method classified: 'running resolving'].
+ !
Item was added:
+ ----- Method: URITest>>testDefaultDirRoundtrip (in category 'tests - file') -----
+ testDefaultDirRoundtrip
+ | defaultDir defaultURI uriDir |
+ defaultDir := FileDirectory default.
+ defaultURI := defaultDir uri.
+ uriDir := FileDirectory uri: defaultURI.
+ self should: [defaultDir fullName = uriDir fullName]!
Item was added:
+ ----- Method: URITest>>testDirWithHash (in category 'tests - file') -----
+ testDirWithHash
+ "Tests proper escaping of directories with hash mark"
+
+ | uriDir origPath origDir dirURI |
+ origPath := FileDirectory default pathName, '#123'.
+ origDir := FileDirectory on: origPath.
+ self assert: origDir pathName = origPath.
+
+ dirURI := origDir uri.
+ uriDir := FileDirectory uri: dirURI.
+ self assert: origDir fullName = uriDir fullName.!
Item was added:
+ ----- Method: URITest>>testDirectoryRoot (in category 'tests - file') -----
+ testDirectoryRoot
+
+ | rootDir uriRoot uriDir |
+ rootDir := FileDirectory root.
+ uriRoot := 'file:///' asURI.
+ uriDir := FileDirectory uri: uriRoot.
+ self should: [rootDir fullName = uriDir fullName]!
Item was added:
+ ----- Method: URITest>>testEquals (in category 'tests - comparing') -----
+ testEquals
+
+ | uri uriString |
+ uri := [:string | URI fromString: string].
+
+ uriString := 'http://squeak.org/'.
+ self assert: (uri value: uriString) = (uri value: uriString).
+ uriString := 'http://squeak.org/index.html'.
+ self assert: (uri value: uriString) = (uri value: uriString).
+ uriString := 'mailto:somebody at somewhere.nowhere#fragment'.
+ self assert: (uri value: uriString) = (uri value: uriString).
+
+ self deny: (uri value: 'http://squeak.org') = (uri value: 'http://website.com').!
Item was added:
+ ----- Method: URITest>>testResolveAbnormal1 (in category 'tests - resolving') -----
+ testResolveAbnormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../../../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/../g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal10 (in category 'tests - resolving') -----
+ testResolveAbnormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := './g/.'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal11 (in category 'tests - resolving') -----
+ testResolveAbnormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g/./h'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/h'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal12 (in category 'tests - resolving') -----
+ testResolveAbnormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g/../h'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/h'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal13 (in category 'tests - resolving') -----
+ testResolveAbnormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g;x=1/./y'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x=1/y'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal14 (in category 'tests - resolving') -----
+ testResolveAbnormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g;x=1/../y'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/y'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal15 (in category 'tests - resolving') -----
+ testResolveAbnormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g?y/./x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y/./x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal16 (in category 'tests - resolving') -----
+ testResolveAbnormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g?y/../x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y/../x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal17 (in category 'tests - resolving') -----
+ testResolveAbnormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g#s/./x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s/./x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal18 (in category 'tests - resolving') -----
+ testResolveAbnormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g#s/../x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s/../x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal2 (in category 'tests - resolving') -----
+ testResolveAbnormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../../../../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/../../g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal3 (in category 'tests - resolving') -----
+ testResolveAbnormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '/./g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/./g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal4 (in category 'tests - resolving') -----
+ testResolveAbnormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '/../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/../g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal5 (in category 'tests - resolving') -----
+ testResolveAbnormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g.'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g.'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal6 (in category 'tests - resolving') -----
+ testResolveAbnormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '.g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/.g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal7 (in category 'tests - resolving') -----
+ testResolveAbnormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g..'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g..'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal8 (in category 'tests - resolving') -----
+ testResolveAbnormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '..g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/..g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveAbnormal9 (in category 'tests - resolving') -----
+ testResolveAbnormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := './../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal1 (in category 'tests - resolving') -----
+ testResolveNormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g:h'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'g:h'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal10 (in category 'tests - resolving') -----
+ testResolveNormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g?y#s'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y#s'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal11 (in category 'tests - resolving') -----
+ testResolveNormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := ';x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/;x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal12 (in category 'tests - resolving') -----
+ testResolveNormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g;x'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal13 (in category 'tests - resolving') -----
+ testResolveNormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g;x?y#s'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x?y#s'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal14 (in category 'tests - resolving') -----
+ testResolveNormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '.'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal15 (in category 'tests - resolving') -----
+ testResolveNormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := './'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal16 (in category 'tests - resolving') -----
+ testResolveNormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '..'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal17 (in category 'tests - resolving') -----
+ testResolveNormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal18 (in category 'tests - resolving') -----
+ testResolveNormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal19 (in category 'tests - resolving') -----
+ testResolveNormal19
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../..'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal2 (in category 'tests - resolving') -----
+ testResolveNormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal20 (in category 'tests - resolving') -----
+ testResolveNormal20
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../../'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal21 (in category 'tests - resolving') -----
+ testResolveNormal21
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '../../g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal3 (in category 'tests - resolving') -----
+ testResolveNormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := './g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal4 (in category 'tests - resolving') -----
+ testResolveNormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g/'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal5 (in category 'tests - resolving') -----
+ testResolveNormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '/g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal6 (in category 'tests - resolving') -----
+ testResolveNormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '//g'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://g'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal7 (in category 'tests - resolving') -----
+ testResolveNormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := '?y'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/?y'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal8 (in category 'tests - resolving') -----
+ testResolveNormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g?y'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y'].
+ !
Item was added:
+ ----- Method: URITest>>testResolveNormal9 (in category 'tests - resolving') -----
+ testResolveNormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asURI.
+ relURI := 'g#s'.
+ resolvedURI := baseURI resolveRelativeURI: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s'].
+ !
Item was added:
+ ----- Method: URITest>>testSchemeAbsoluteFail1 (in category 'tests - parsing') -----
+ testSchemeAbsoluteFail1
+ self should: [URI fromString: 'http:'] raise: IllegalURIException!
Item was added:
+ ----- Method: URITest>>testSchemeAbsolutePass1 (in category 'tests - parsing') -----
+ testSchemeAbsolutePass1
+ | uri |
+ uri := URI fromString: 'http://www.squeakland.org'.
+ self should: [uri scheme = 'http'].
+ self should: [uri isAbsolute].
+ self shouldnt: [uri isOpaque].
+ self shouldnt: [uri isRelative]!
Item was added:
+ ----- Method: URITest>>testSchemeAbsolutePass2 (in category 'tests - parsing') -----
+ testSchemeAbsolutePass2
+ | uri |
+ uri := URI fromString: 'mailto:somebody at somewhere.nowhere'.
+ self should: [uri scheme = 'mailto'].
+ self should: [uri isAbsolute].
+ self should: [uri isOpaque].
+ self shouldnt: [uri isRelative]!
Item was added:
+ ----- Method: URITest>>testSchemeAbsolutePass3 (in category 'tests - parsing') -----
+ testSchemeAbsolutePass3
+ | uri |
+ uri := URI fromString: 'ftp://ftp@squeak.org'.
+ self should: [uri scheme = 'ftp'].
+ self should: [uri isAbsolute].
+ self shouldnt: [uri isOpaque].
+ self shouldnt: [uri isRelative].
+ self should: [uri userInfo = 'ftp'].
+ self should: [uri host = 'squeak.org'].
+ self should: [uri port isNil].
+ !
Item was added:
+ ----- Method: URITest>>testSchemeAbsolutePass4 (in category 'tests - parsing') -----
+ testSchemeAbsolutePass4
+ | uri |
+ uri := URI fromString: 'mailto:somebody at somewhere.nowhere#fragment'.
+ self should: [uri scheme = 'mailto'].
+ self should: [uri isAbsolute].
+ self should: [uri isOpaque].
+ self shouldnt: [uri isRelative].
+ self should: [uri fragment = 'fragment'].
+ !
Item was added:
+ ----- Method: URITest>>testSchemeAbsolutePass5 (in category 'tests - parsing') -----
+ testSchemeAbsolutePass5
+ | uri |
+ uri := URI fromString: 'http://www.squeakland.org#fragment'.
+ self should: [uri scheme = 'http'].
+ self should: [uri isAbsolute].
+ self shouldnt: [uri isOpaque].
+ self shouldnt: [uri isRelative].
+ self should: [uri fragment = 'fragment'].
+ !
More information about the Squeak-dev
mailing list
|