@@ -196,6 +196,19 @@ function testGenerateUsesAbsoluteUrlWithGivenPort() {
196196 assertEquals ( 'http://localhost:8000/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
197197}
198198
199+ function testGenerateUsesAbsoluteUrlWithGivenPortAndHostWithPort ( ) {
200+ var router = new fos . Router ( { base_url : '/foo' , host : "localhost:8080" , scheme : "http" , port : "8080" } , {
201+ homepage : {
202+ tokens : [ [ 'text' , '/bar' ] ] ,
203+ defaults : { } ,
204+ requirements : { } ,
205+ hosttokens : [ ]
206+ }
207+ } ) ;
208+
209+ assertEquals ( 'http://localhost:8080/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
210+ }
211+
199212function testGenerateUsesAbsoluteUrlWhenSchemeRequirementGiven ( ) {
200213 var router = new fos . Router ( { base_url : '/foo' , host : "localhost" , scheme : "http" } , {
201214 homepage : {
@@ -222,6 +235,19 @@ function testGenerateUsesAbsoluteUrlWithGivenPortWhenSchemeRequirementGiven() {
222235 assertEquals ( 'http://localhost:8080/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
223236}
224237
238+ function testGenerateUsesAbsoluteUrlWithGivenPortWhenSchemeRequirementAndHostWithPortGiven ( ) {
239+ var router = new fos . Router ( { base_url : '/foo' , host : "localhost:8080" , scheme : "http" , port : "8080" } , {
240+ homepage : {
241+ tokens : [ [ 'text' , '/bar' ] ] ,
242+ defaults : { } ,
243+ requirements : { "_scheme" : "http" } ,
244+ hosttokens : [ ]
245+ }
246+ } ) ;
247+
248+ assertEquals ( 'http://localhost:8080/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
249+ }
250+
225251function testGenerateUsesAbsoluteUrlWhenSchemeGiven ( ) {
226252 var router = new fos . Router ( { base_url : '/foo' , host : "localhost" , scheme : "http" } , {
227253 homepage : {
@@ -252,6 +278,21 @@ function testGenerateUsesAbsoluteUrlWithGivenPortWhenSchemeGiven() {
252278 assertEquals ( 'http://localhost:1234/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
253279}
254280
281+ function testGenerateUsesAbsoluteUrlWithGivenPortWhenSchemeAndHostWithPortGiven ( ) {
282+ var router = new fos . Router ( { base_url : '/foo' , host : "localhost:8080" , scheme : "http" , port :"8080" } , {
283+ homepage : {
284+ tokens : [ [ 'text' , '/bar' ] ] ,
285+ defaults : { } ,
286+ requirements : { } ,
287+ hosttokens : [ ] ,
288+ schemes : [ 'http' ] ,
289+ methods : [ ]
290+ }
291+ } ) ;
292+
293+ assertEquals ( 'http://localhost:8080/foo/bar' , router . generate ( 'homepage' , [ ] , true ) ) ;
294+ }
295+
255296function testGenerateWithOptionalTrailingParam ( ) {
256297 var router = new fos . Router ( { base_url : '' } , {
257298 posts : {
0 commit comments