RegressionTests__URLTest.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2247 78f2b8da16ec
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2247
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
     1
"{ Encoding: utf8 }"
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
     2
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 330
diff changeset
     3
"{ Package: 'stx:goodies/regression' }"
330
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     4
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     5
"{ NameSpace: RegressionTests }"
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     6
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     7
TestCase subclass:#URLTest
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     8
	instanceVariableNames:''
a811a2f64f86 initial checkin
ca
parents:
diff changeset
     9
	classVariableNames:''
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    10
	poolDictionaries:''
2247
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
    11
	category:'tests-Regression-Files and Encodings'
330
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    12
!
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    13
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    14
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    15
!URLTest methodsFor:'testing'!
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    16
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    17
test01_fromString
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    18
    |u|
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    19
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    20
    u := URL fromString:'foo'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    21
    self assert:u host isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    22
    self assert:u path = 'foo'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    23
    self assert:u method isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    24
    self assert:u port isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    25
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    26
    u := URL fromString:'fff/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    27
    self assert:u host isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    28
    self assert:u path = 'fff/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    29
    self assert:u method isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    30
    self assert:u port isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    31
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    32
    u := URL fromString:'localhost:8080/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    33
    self assert:u host = 'localhost'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    34
    self assert:u path isEmptyOrNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    35
    self assert:u method isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    36
    self assert:u port = 8080.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    37
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    38
    u := URL fromString:'http://localhost/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    39
    self assert:u host = 'localhost'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    40
    self assert:u path isEmptyOrNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    41
    self assert:u method = 'http'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    42
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    43
    u := URL fromString:'http://www.exept.de/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    44
    self assert:u host = 'www.exept.de'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    45
    self assert:u path isEmptyOrNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    46
    self assert:u method = 'http'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    47
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    48
    "
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    49
     self new test01_fromString
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    50
    "
1595
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    51
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    52
    "Modified: / 28-02-2017 / 16:04:43 / cg"
330
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    53
!
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    54
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    55
test02_construct
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    56
    |u1 u2|
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    57
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    58
    u1 := URL fromString:'http://localhost/'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    59
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    60
    u2 := u1 construct:'subdir1'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    61
    self assert:u2 host = 'localhost'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    62
    self assert:u2 path = '/subdir1'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    63
    self assert:u2 method = 'http'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    64
    self assert:u2 port isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    65
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    66
    u2 := u1 construct:'/subdir1'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    67
    self assert:u2 host = 'localhost'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    68
    self assert:u2 path = '/subdir1'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    69
    self assert:u2 method = 'http'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    70
    self assert:u2 port isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    71
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    72
    u2 := u1 construct:'http://www.google.de:/top.html'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    73
    self assert:u2 host = 'www.google.de'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    74
    self assert:u2 path = '/top.html'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    75
    self assert:u2 method = 'http'.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    76
    self assert:u2 port isNil.
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    77
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    78
    "
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    79
     self new test02_construct
a811a2f64f86 initial checkin
ca
parents:
diff changeset
    80
    "
1595
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    81
!
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    82
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    83
test03_missingParts
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    84
    |u|
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    85
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    86
    u := URL fromString:'http://:8080/foo'.
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    87
    self assert:u host isNil.
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    88
    self assert:u path = '/foo'.
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    89
    self assert:u method = 'http'.
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    90
    self assert:u port = 8080.
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    91
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    92
    "
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    93
     self new test03_missingParts
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    94
    "
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    95
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    96
    "Created: / 28-02-2017 / 16:05:44 / cg"
2247
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
    97
!
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
    98
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
    99
test04_differentSchemes
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   100
    |u|
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   101
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   102
    u := URL fromString:'ftp://ftp.is.co.za/rfc/rfc1808.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   103
    self assert:u method = 'ftp'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   104
    self assert:u host = 'ftp.is.co.za'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   105
    self assert:u path = '/rfc/rfc1808.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   106
    self assert:u port isNil.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   107
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   108
    u := URL fromString:'http://www.ietf.org/rfc/rfc2396.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   109
    self assert:u method = 'http'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   110
    self assert:u host = 'www.ietf.org'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   111
    self assert:u path = '/rfc/rfc2396.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   112
    self assert:u port isNil.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   113
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   114
    u := URL fromString:'https://www.ietf.org/rfc/rfc2396.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   115
    self assert:u method = 'https'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   116
    self assert:u host = 'www.ietf.org'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   117
    self assert:u path = '/rfc/rfc2396.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   118
    self assert:u port isNil.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   119
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   120
    u := URL fromString:'ldap://[2001:db8::7]/c=GB?objectClass?one'. 
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   121
    self assert:u method = 'ldap'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   122
    self assert:u host = '2001:db8::7'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   123
    self assert:u hostIsIPv6.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   124
"/    self assert:u path = '/c=GB?objectClass?one'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   125
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   126
"/    u := URL fromString:'mailto:John.Doe@example.com'. 
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   127
"/    self assert:u method = 'mailto'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   128
"/    self assert:u host = 'www.ietf.org'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   129
"/    self assert:u path = '/rfc/rfc2396.txt'.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   130
"/    self assert:u port isNil.
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   131
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   132
"/    u := URL fromString:'news:comp.infosystems.www.servers.unix'. 
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   133
"/
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   134
"/    u := URL fromString:'tel:+1-816-555-1212'. 
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   135
"/
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   136
"/    u := URL fromString:'telnet://192.0.2.16:80/'. 
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   137
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   138
    "
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   139
     self new test03_missingParts
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   140
    "
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   141
78f2b8da16ec #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1595
diff changeset
   142
    "Created: / 27-05-2019 / 16:54:41 / Claus Gittinger"
330
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   143
! !
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   144
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   145
!URLTest class methodsFor:'documentation'!
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   146
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   147
version
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   148
    ^ '$Header$'
a811a2f64f86 initial checkin
ca
parents:
diff changeset
   149
! !
1595
15a0dc2e5a04 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   150