Skip to content

Commit 60ba85f

Browse files
author
Christian Budde Christensen
committed
feat: Allow custom browser names
Enable feature for defining custom browser names in `customLaunchers` and for manual testing.
1 parent 81a388a commit 60ba85f

5 files changed

Lines changed: 17 additions & 7 deletions

File tree

client/karma.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var Karma = function (socket, iframe, opener, navigator, location) {
1010
var self = this
1111
var queryParams = util.parseQueryParams(location.search)
1212
var browserId = queryParams.id || util.generateId('manual-')
13+
var displayName = queryParams.displayName
1314
var returnUrl = queryParams['return_url' + ''] || null
1415

1516
var resultsBufferLimit = 50
@@ -233,11 +234,14 @@ var Karma = function (socket, iframe, opener, navigator, location) {
233234
socket.io.engine.on('upgrade', function () {
234235
resultsBufferLimit = 1
235236
})
236-
237-
socket.emit('register', {
237+
var info = {
238238
name: navigator.userAgent,
239239
id: browserId
240-
})
240+
}
241+
if (displayName) {
242+
info.displayName = displayName
243+
}
244+
socket.emit('register', info)
241245
})
242246
}
243247

lib/config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,11 @@ var normalizeConfig = function (config, configFilePath) {
195195
}
196196

197197
module[type + ':' + name] = ['factory', function (injector) {
198-
return injector.createChild([locals], [token]).get(token)
198+
var plugin = injector.createChild([locals], [token]).get(token)
199+
if (type === 'launcher' && helper.isDefined(definition.displayName)) {
200+
plugin.displayName = definition.displayName
201+
}
202+
return plugin
199203
}]
200204
hasSomeInlinedPlugin = true
201205
})

lib/launcher.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
var Promise = require('bluebird')
22
var Batch = require('batch')
33

4+
var helper = require('./helper')
45
var log = require('./logger').create('launcher')
56

67
var baseDecorator = require('./launchers/base').decoratorFactory
@@ -88,7 +89,7 @@ var Launcher = function (emitter, injector) {
8889
}
8990

9091
batch.push(function (done) {
91-
log.info('Starting browser %s', browser.name)
92+
log.info('Starting browser %s', helper.isDefined(browser.displayName) ? browser.displayName : browser.name)
9293

9394
browser.start(url)
9495
browser.on('browser_process_failure', function () {

lib/launchers/base.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ var EventEmitter = require('events').EventEmitter
33
var Promise = require('bluebird')
44

55
var log = require('../logger').create('launcher')
6+
var helper = require('../helper')
67

78
var BEING_CAPTURED = 1
89
var CAPTURED = 2
@@ -38,7 +39,7 @@ var BaseLauncher = function (id, emitter) {
3839

3940
this.error = null
4041
this.state = BEING_CAPTURED
41-
this.emit('start', url + '?id=' + this.id)
42+
this.emit('start', url + '?id=' + this.id + (helper.isDefined(self.displayName) ? '&displayName=' + encodeURIComponent(self.displayName) : ''))
4243
}
4344

4445
this.kill = function () {

lib/server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ Server.prototype._start = function (config, launcher, preprocess, fileList, webS
224224
} else {
225225
newBrowser = self._injector.createChild([{
226226
id: ['value', info.id || null],
227-
fullName: ['value', info.name],
227+
fullName: ['value', (helper.isDefined(info.displayName) ? info.displayName : info.name)],
228228
socket: ['value', socket]
229229
}]).instantiate(Browser)
230230

0 commit comments

Comments
 (0)