Skip to content

Commit 569ca0e

Browse files
fix(middleware): Inject config.urlRoot.
Closes #1516.
1 parent eb1c8d2 commit 569ca0e

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed

lib/middleware/source_files.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
/**
2-
* Source Files middleware is responsible for serving all the source files under the test.
3-
*/
4-
51
var from = require('core-js/library/fn/array/from')
62
var querystring = require('querystring')
73
var common = require('./common')
84
var _ = require('../helper')._
5+
var logger = require('../logger')
6+
var log = logger.create('middlware:source-files')
97

108
// Files is a Set
119
var findByPath = function (files, path) {
@@ -14,9 +12,8 @@ var findByPath = function (files, path) {
1412
})
1513
}
1614

17-
var createSourceFilesMiddleware = function (filesPromise, serveFile,
18-
/* config.basePath */ basePath,
19-
/* config.urlRoot */ urlRoot) {
15+
// Source Files middleware is responsible for serving all the source files under the test.
16+
var createSourceFilesMiddleware = function (filesPromise, serveFile, basePath, urlRoot) {
2017
return function (request, response, next) {
2118
var requestedFilePath = querystring.unescape(request.url)
2219
.replace(urlRoot, '/')
@@ -26,6 +23,9 @@ var createSourceFilesMiddleware = function (filesPromise, serveFile,
2623

2724
request.pause()
2825

26+
log.debug('Requesting %s', request.url, urlRoot)
27+
log.debug('Fetching %s', requestedFilePath)
28+
2929
return filesPromise.then(function (files) {
3030
// TODO(vojta): change served to be a map rather then an array
3131
var file = findByPath(files.served, requestedFilePath)
@@ -49,7 +49,9 @@ var createSourceFilesMiddleware = function (filesPromise, serveFile,
4949
}
5050
}
5151

52-
createSourceFilesMiddleware.$inject = ['filesPromise', 'serveFile', 'config.basePath']
52+
createSourceFilesMiddleware.$inject = [
53+
'filesPromise', 'serveFile', 'config.basePath', 'config.urlRoot'
54+
]
5355

5456
// PUBLIC API
5557
exports.create = createSourceFilesMiddleware

test/e2e/proxy.feature

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,24 @@ Feature: Proxying
2222
.
2323
PhantomJS
2424
"""
25+
26+
Scenario: URLRoot
27+
Given a configuration with:
28+
"""
29+
files = ['proxy/*.js'];
30+
browsers = ['PhantomJS'];
31+
plugins = [
32+
'karma-jasmine',
33+
'karma-phantomjs-launcher'
34+
];
35+
urlRoot = '/__karma__';
36+
proxies = {
37+
'/foo.js': '/base/proxy/foo.js'
38+
}
39+
"""
40+
When I start Karma
41+
Then it passes with:
42+
"""
43+
.
44+
PhantomJS
45+
"""

0 commit comments

Comments
 (0)