[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