The Inbox: NetworkTests-dtl.59.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: NetworkTests-dtl.59.mcz

commits-2
David T. Lewis uploaded a new version of NetworkTests to project The Inbox:
http://source.squeak.org/inbox/NetworkTests-dtl.59.mcz

==================== Summary ====================

Name: NetworkTests-dtl.59
Author: dtl
Time: 2 June 2019, 11:29:57.148481 am
UUID: 59d383bd-87e9-401b-b288-f952a4905b74
Ancestors: NetworkTests-pre.58

RelativeUrlTest provides tests adapted from TestURL and applied to Url classes. These tests document expected behavior that has not yet been implemented in Url.

Adding the following initial implementation will cause about half of the tests to pass.

Url>>resolveRelativeUrl: pathString
        ^ self newFromRelativeText: pathString

=============== Diff against NetworkTests-pre.58 ===============

Item was added:
+ TestCase subclass: #RelativeUrlTest
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'NetworkTests-Url'!
+
+ !RelativeUrlTest commentStamp: 'dtl 6/2/2019 11:00' prior: 0!
+ A RelativeUrlTest is adapted from TestURI methods for testing relative path resolution as per URI>>resolveRelativeURI:
+
+ Behavior of Url classes is expected to be similar to or the same as that of the original URI implementation.
+
+ Note that testResolveFileNormal5 specifies behavior that may be Windows specific (first path part being a drive letter). This and similar tests may need to be updated for non-Windows platforms.
+
+ ProjectLauncher>>startUpAfterLogin relies on relative path resolution by URI. A similar implemenation is needed for Url classes in order to permit removal of deprecated URI classes.!

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal1 (in category 'tests - resolving') -----
+ testResolveAbnormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal10 (in category 'tests - resolving') -----
+ testResolveAbnormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := './g/.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal11 (in category 'tests - resolving') -----
+ testResolveAbnormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g/./h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal12 (in category 'tests - resolving') -----
+ testResolveAbnormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g/../h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal13 (in category 'tests - resolving') -----
+ testResolveAbnormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g;x=1/./y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x=1/y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal14 (in category 'tests - resolving') -----
+ testResolveAbnormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g;x=1/../y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal15 (in category 'tests - resolving') -----
+ testResolveAbnormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g?y/./x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y/./x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal16 (in category 'tests - resolving') -----
+ testResolveAbnormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g?y/../x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y/../x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal17 (in category 'tests - resolving') -----
+ testResolveAbnormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g#s/./x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s/./x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal18 (in category 'tests - resolving') -----
+ testResolveAbnormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g#s/../x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s/../x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal2 (in category 'tests - resolving') -----
+ testResolveAbnormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../../../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/../../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal3 (in category 'tests - resolving') -----
+ testResolveAbnormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '/./g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/./g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal4 (in category 'tests - resolving') -----
+ testResolveAbnormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '/../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal5 (in category 'tests - resolving') -----
+ testResolveAbnormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g.'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal6 (in category 'tests - resolving') -----
+ testResolveAbnormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '.g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/.g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal7 (in category 'tests - resolving') -----
+ testResolveAbnormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g..'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal8 (in category 'tests - resolving') -----
+ testResolveAbnormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '..g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/..g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveAbnormal9 (in category 'tests - resolving') -----
+ testResolveAbnormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := './../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal1 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal10 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := './g/.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal11 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g/./h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g/h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal12 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g/../h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal13 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g;x=1/./y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g;x=1/y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal14 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g;x=1/../y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal15 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g?y/./x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g?y/./x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal16 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g?y/../x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g?y/../x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal17 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g#s/./x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g#s/./x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal18 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g#s/../x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g#s/../x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal2 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../../../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/../../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal3 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '/./g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/./g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal4 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '/../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/../g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal5 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g.'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal6 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '.g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/.g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal7 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g..'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal8 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '..g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/..g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileAbnormal9 (in category 'tests - resolving - file') -----
+ testResolveFileAbnormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := './../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal1 (in category 'tests - resolving - file') -----
+ testResolveFileNormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g:h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'g:h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal10 (in category 'tests - resolving - file') -----
+ testResolveFileNormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g?y#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g?y#s'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal11 (in category 'tests - resolving - file') -----
+ testResolveFileNormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := ';x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/;x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal12 (in category 'tests - resolving - file') -----
+ testResolveFileNormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g;x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g;x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal13 (in category 'tests - resolving - file') -----
+ testResolveFileNormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g;x?y#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g;x?y#s'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal14 (in category 'tests - resolving - file') -----
+ testResolveFileNormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal15 (in category 'tests - resolving - file') -----
+ testResolveFileNormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := './'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal16 (in category 'tests - resolving - file') -----
+ testResolveFileNormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal17 (in category 'tests - resolving - file') -----
+ testResolveFileNormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ relURI := '../'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal18 (in category 'tests - resolving - file') -----
+ testResolveFileNormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal19 (in category 'tests - resolving - file') -----
+ testResolveFileNormal19
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal2 (in category 'tests - resolving - file') -----
+ testResolveFileNormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal20 (in category 'tests - resolving - file') -----
+ testResolveFileNormal20
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../../'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal21 (in category 'tests - resolving - file') -----
+ testResolveFileNormal21
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal3 (in category 'tests - resolving - file') -----
+ testResolveFileNormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := './g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal4 (in category 'tests - resolving - file') -----
+ testResolveFileNormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g/'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal5 (in category 'tests - resolving - file') -----
+ testResolveFileNormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '/g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal6 (in category 'tests - resolving - file') -----
+ testResolveFileNormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '//g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal7 (in category 'tests - resolving - file') -----
+ testResolveFileNormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := '?y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/?y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal8 (in category 'tests - resolving - file') -----
+ testResolveFileNormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g?y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g?y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveFileNormal9 (in category 'tests - resolving - file') -----
+ testResolveFileNormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'file://a/b/c/d;p?q' asUrl.
+ self assert: FileUrl equals: baseURI class .
+ relURI := 'g#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'file://a/b/c/g#s'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal1 (in category 'tests - resolving') -----
+ testResolveNormal1
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g:h'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'g:h'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal10 (in category 'tests - resolving') -----
+ testResolveNormal10
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g?y#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y#s'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal11 (in category 'tests - resolving') -----
+ testResolveNormal11
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := ';x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/;x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal12 (in category 'tests - resolving') -----
+ testResolveNormal12
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g;x'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal13 (in category 'tests - resolving') -----
+ testResolveNormal13
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g;x?y#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g;x?y#s'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal14 (in category 'tests - resolving') -----
+ testResolveNormal14
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '.'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal15 (in category 'tests - resolving') -----
+ testResolveNormal15
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := './'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal16 (in category 'tests - resolving') -----
+ testResolveNormal16
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal17 (in category 'tests - resolving') -----
+ testResolveNormal17
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal18 (in category 'tests - resolving') -----
+ testResolveNormal18
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal19 (in category 'tests - resolving') -----
+ testResolveNormal19
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../..'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal2 (in category 'tests - resolving') -----
+ testResolveNormal2
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal20 (in category 'tests - resolving') -----
+ testResolveNormal20
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../../'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal21 (in category 'tests - resolving') -----
+ testResolveNormal21
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '../../g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal3 (in category 'tests - resolving') -----
+ testResolveNormal3
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := './g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal4 (in category 'tests - resolving') -----
+ testResolveNormal4
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g/'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g/'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal5 (in category 'tests - resolving') -----
+ testResolveNormal5
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '/g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal6 (in category 'tests - resolving') -----
+ testResolveNormal6
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '//g'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://g'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal7 (in category 'tests - resolving') -----
+ testResolveNormal7
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := '?y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/?y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal8 (in category 'tests - resolving') -----
+ testResolveNormal8
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g?y'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g?y'].
+ !

Item was added:
+ ----- Method: RelativeUrlTest>>testResolveNormal9 (in category 'tests - resolving') -----
+ testResolveNormal9
+ | baseURI relURI resolvedURI |
+ baseURI := 'http://a/b/c/d;p?q' asUrl.
+ self assert: HttpUrl equals: baseURI class .
+ relURI := 'g#s'.
+ resolvedURI := baseURI resolveRelativeUrl: relURI.
+ self should: [resolvedURI asString = 'http://a/b/c/g#s'].
+ !