@@ -86,6 +86,15 @@ else {
8686 } ) ;
8787}
8888
89+ test ( 'mailto' , function ( ) {
90+ deepEqual ( window . url ( 'email' , 'mailto:[email protected] ' ) , '[email protected] ' ) ; 91+ deepEqual ( window . url ( 'protocol' , 'mailto:[email protected] ' ) , 'mailto' ) ; 92+ deepEqual ( window . url ( 'email' , 'mailto:/[email protected] ' ) , undefined ) ; 93+ deepEqual ( window . url ( 'email' , 'mailto://[email protected] ' ) , undefined ) ; 94+ deepEqual ( window . url ( 'protocol' , 'mailto:/[email protected] ' ) , 'http' ) ; 95+ deepEqual ( window . url ( 'mailto:' , 'mailto:/[email protected] ' ) , undefined ) ; 96+ } ) ;
97+
8998test ( 'hostname' , function ( ) {
9099 deepEqual ( window . url ( 'hostname' , url ) , 'www.domain.com' ) ;
91100 deepEqual ( window . url ( 'hostname' , urlIp ) , '1.2.3.4' ) ;
@@ -101,14 +110,7 @@ test('domain parts', function() {
101110
102111test ( 'auth' , function ( ) {
103112 deepEqual ( window . url ( 'auth' , url ) , 'rob:abcd1234' ) ;
104- } ) ;
105-
106- test ( 'user' , function ( ) {
107113 deepEqual ( window . url ( 'user' , url ) , 'rob' ) ;
108- deepEqual ( window . url ( 'email' , 'mailto:[email protected] ' ) , '[email protected] ' ) ; 109- } ) ;
110-
111- test ( 'pass' , function ( ) {
112114 deepEqual ( window . url ( 'pass' , url ) , 'abcd1234' ) ;
113115} ) ;
114116
@@ -124,6 +126,7 @@ test('port', function() {
124126 deepEqual ( window . url ( 'port' , 'http://domain.com:443' ) , '443' ) ;
125127 deepEqual ( window . url ( 'port' , 'http://domain.com' ) , '80' ) ;
126128 deepEqual ( window . url ( 'port' , 'https://domain.com' ) , '443' ) ;
129+ deepEqual ( window . url ( 'port' , '[email protected] ' ) , '80' ) ; 127130} ) ;
128131
129132test ( 'protocol' , function ( ) {
@@ -135,7 +138,7 @@ test('protocol', function() {
135138 deepEqual ( window . url ( 'protocol' , 'domain.com:443' ) , 'https' ) ;
136139 deepEqual ( window . url ( 'protocol' , 'https://domain.com:443' ) , 'https' ) ;
137140 deepEqual ( window . url ( 'protocol' , 'https://domain.com:80' ) , 'https' ) ;
138- deepEqual ( window . url ( 'protocol' , 'mailto: rob@websanova .com' ) , 'mailto ' ) ;
141+ deepEqual ( window . url ( 'protocol' , 'rob@domain .com' ) , 'http ' ) ;
139142} ) ;
140143
141144test ( 'path' , function ( ) {
@@ -166,6 +169,9 @@ test('file', function() {
166169 deepEqual ( window . url ( 'file' , url ) , 'index.html' ) ;
167170 deepEqual ( window . url ( 'filename' , url ) , 'index' ) ;
168171 deepEqual ( window . url ( 'fileext' , url ) , 'html' ) ;
172+ deepEqual ( window . url ( 'file' , 'http://domain.com' ) , undefined ) ;
173+ deepEqual ( window . url ( 'filename' , 'http://domain.com' ) , undefined ) ;
174+ deepEqual ( window . url ( 'fileext' , 'http://domain.com' ) , undefined ) ;
169175} ) ;
170176
171177test ( 'url parts' , function ( ) {
@@ -198,6 +204,8 @@ test('query string', function() {
198204 deepEqual ( window . url ( '?key' , 'http://domain.com?key=value=va?key2=value' ) , 'value=va?key2=value' ) ;
199205 deepEqual ( window . url ( '?poo' , 'http://domain.com:400?poo=a:b' ) , 'a:b' ) ;
200206 deepEqual ( window . url ( '?poo' , 'http://domain.com:400? & & &' ) , undefined ) ;
207+ deepEqual ( window . url ( '?test' , 'http://domain.com?test=45#5' ) , '45' ) ;
208+ deepEqual ( window . url ( '?test' , 'http://domain.com?test=45?5' ) , '45?5' ) ;
201209
202210 deepEqual ( window . url ( '?field[0]' , 'http://domain.com?field[0]=zero&firled[1]=one' ) , 'zero' ) ;
203211 deepEqual ( window . url ( '?field' , 'http://domain.com?field[0]=zero&field[1]=one&var=test' ) , [ 'zero' , 'one' ] ) ;
@@ -216,6 +224,7 @@ test('hash string', function() {
216224 deepEqual ( window . url ( '#poo' , 'http://domain.com#poo' ) , '' ) ;
217225 deepEqual ( window . url ( '#poo' , 'http://domain.com#' ) , undefined ) ;
218226 deepEqual ( window . url ( '#poo' , 'http://domain.com' ) , undefined ) ;
227+ deepEqual ( window . url ( '#test' , 'http://domain.com#test=45#5' ) , '45#5' ) ;
219228
220229 deepEqual ( window . url ( '#field[0]' , 'http://domain.com#field[0]=zero&firled[1]=one' ) , 'zero' ) ;
221230 deepEqual ( window . url ( '#field' , 'http://domain.com#field[0]=zero&field[1]=one&var=test' ) , [ 'zero' , 'one' ] ) ;
0 commit comments