Skip to content

Commit 22be876

Browse files
committed
js: convert webdriver.logging to closure module syntax.
1 parent 3fd044c commit 22be876

File tree

2 files changed

+111
-102
lines changed

2 files changed

+111
-102
lines changed

Diff for: javascript/webdriver/capabilities.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ goog.provide('webdriver.Capability');
2525
goog.provide('webdriver.ProxyConfig');
2626

2727
goog.require('webdriver.Serializable');
28-
goog.require('webdriver.logging.Preferences');
28+
goog.require('webdriver.logging');
2929

3030

3131

Diff for: javascript/webdriver/logging.js

+110-101
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,25 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
goog.provide('webdriver.logging');
19-
goog.provide('webdriver.logging.Preferences');
18+
goog.module('webdriver.logging');
19+
goog.module.declareLegacyNamespace();
2020

21-
goog.require('goog.object');
21+
var Objects = goog.require('goog.object');
2222

2323

2424
/**
2525
* Logging levels.
2626
* @enum {{value: number, name: string}}
2727
*/
28-
webdriver.logging.Level = {
28+
var Level = {
2929
ALL: {value: Number.MIN_VALUE, name: 'ALL'},
3030
DEBUG: {value: 700, name: 'DEBUG'},
3131
INFO: {value: 800, name: 'INFO'},
3232
WARNING: {value: 900, name: 'WARNING'},
3333
SEVERE: {value: 1000, name: 'SEVERE'},
3434
OFF: {value: Number.MAX_VALUE, name: 'OFF'}
3535
};
36+
exports.Level = Level;
3637

3738

3839
/**
@@ -41,23 +42,23 @@ webdriver.logging.Level = {
4142
* will be returned.
4243
* @param {(number|string)} nameOrValue The log level name, or value, to
4344
* convert .
44-
* @return {!webdriver.logging.Level} The converted level.
45+
* @return {!Level} The converted level.
4546
*/
46-
webdriver.logging.getLevel = function(nameOrValue) {
47+
function getLevel(nameOrValue) {
4748
var predicate = goog.isString(nameOrValue) ?
4849
function(val) { return val.name === nameOrValue; } :
4950
function(val) { return val.value === nameOrValue; };
5051

51-
return goog.object.findValue(webdriver.logging.Level, predicate) ||
52-
webdriver.logging.Level.ALL;
53-
};
52+
return Objects.findValue(Level, predicate) || Level.ALL;
53+
}
54+
exports.getLevel = getLevel;
5455

5556

5657
/**
5758
* Common log types.
5859
* @enum {string}
5960
*/
60-
webdriver.logging.Type = {
61+
var Type = {
6162
/** Logs originating from the browser. */
6263
BROWSER: 'browser',
6364
/** Logs from a WebDriver client. */
@@ -69,107 +70,115 @@ webdriver.logging.Type = {
6970
/** Logs from the remote server. */
7071
SERVER: 'server'
7172
};
73+
exports.Type = Type;
7274

7375

7476
/**
7577
* Describes the log preferences for a WebDriver session.
76-
* @constructor
77-
*/
78-
webdriver.logging.Preferences = function() {
79-
/** @private {!Object.<string, webdriver.logging.Level>} */
80-
this.prefs_ = {};
81-
};
82-
83-
84-
/**
85-
* Sets the desired logging level for a particular log type.
86-
* @param {(string|webdriver.logging.Type)} type The log type.
87-
* @param {!webdriver.logging.Level} level The desired log level.
78+
* @final
8879
*/
89-
webdriver.logging.Preferences.prototype.setLevel = function(type, level) {
90-
this.prefs_[type] = level;
91-
};
92-
93-
94-
/**
95-
* Converts this instance to its JSON representation.
96-
* @return {!Object.<string, string>} The JSON representation of this set of
97-
* preferences.
98-
*/
99-
webdriver.logging.Preferences.prototype.toJSON = function() {
100-
var obj = {};
101-
for (var type in this.prefs_) {
102-
if (this.prefs_.hasOwnProperty(type)) {
103-
obj[type] = this.prefs_[type].name;
80+
var Preferences = goog.defineClass(null, {
81+
/** @constructor */
82+
constructor: function() {
83+
/** @private {!Object.<string, Level>} */
84+
this.prefs_ = {};
85+
},
86+
87+
/**
88+
* Sets the desired logging level for a particular log type.
89+
* @param {(string|Type)} type The log type.
90+
* @param {!Level} level The desired log level.
91+
*/
92+
setLevel: function(type, level) {
93+
this.prefs_[type] = level;
94+
},
95+
96+
/**
97+
* Converts this instance to its JSON representation.
98+
* @return {!Object.<string, string>} The JSON representation of this set of
99+
* preferences.
100+
*/
101+
toJSON: function() {
102+
var obj = {};
103+
for (var type in this.prefs_) {
104+
if (this.prefs_.hasOwnProperty(type)) {
105+
obj[type] = this.prefs_[type].name;
106+
}
104107
}
108+
return obj;
105109
}
106-
return obj;
107-
};
110+
});
111+
exports.Preferences = Preferences;
108112

109113

110114
/**
111115
* A single log entry.
112-
* @param {(!webdriver.logging.Level|string)} level The entry level.
113-
* @param {string} message The log message.
114-
* @param {number=} opt_timestamp The time this entry was generated, in
115-
* milliseconds since 0:00:00, January 1, 1970 UTC. If omitted, the
116-
* current time will be used.
117-
* @param {string=} opt_type The log type, if known.
118-
* @constructor
116+
* @final
119117
*/
120-
webdriver.logging.Entry = function(level, message, opt_timestamp, opt_type) {
121-
122-
/** @type {!webdriver.logging.Level} */
123-
this.level =
124-
goog.isString(level) ? webdriver.logging.getLevel(level) : level;
125-
126-
/** @type {string} */
127-
this.message = message;
128-
129-
/** @type {number} */
130-
this.timestamp = goog.isNumber(opt_timestamp) ? opt_timestamp : goog.now();
131-
132-
/** @type {string} */
133-
this.type = opt_type || '';
134-
};
135-
136-
137-
/**
138-
* @return {{level: string, message: string, timestamp: number,
139-
* type: string}} The JSON representation of this entry.
140-
*/
141-
webdriver.logging.Entry.prototype.toJSON = function() {
142-
return {
143-
'level': this.level.name,
144-
'message': this.message,
145-
'timestamp': this.timestamp,
146-
'type': this.type
147-
};
148-
};
149-
150-
151-
/**
152-
* Converts a {@link goog.debug.LogRecord} into a
153-
* {@link webdriver.logging.Entry}.
154-
* @param {!goog.debug.LogRecord} logRecord The record to convert.
155-
* @param {string=} opt_type The log type.
156-
* @return {!webdriver.logging.Entry} The converted entry.
157-
*/
158-
webdriver.logging.Entry.fromClosureLogRecord = function(logRecord, opt_type) {
159-
var closureLevel = logRecord.getLevel();
160-
var level = webdriver.logging.Level.SEVERE;
161-
162-
if (closureLevel.value <= webdriver.logging.Level.DEBUG.value) {
163-
level = webdriver.logging.Level.DEBUG;
164-
} else if (closureLevel.value <= webdriver.logging.Level.INFO.value) {
165-
level = webdriver.logging.Level.INFO;
166-
} else if (closureLevel.value <= webdriver.logging.Level.WARNING.value) {
167-
level = webdriver.logging.Level.WARNING;
118+
var Entry = goog.defineClass(null, {
119+
/**
120+
* @param {(!Level|string)} level The entry level.
121+
* @param {string} message The log message.
122+
* @param {number=} opt_timestamp The time this entry was generated, in
123+
* milliseconds since 0:00:00, January 1, 1970 UTC. If omitted, the
124+
* current time will be used.
125+
* @param {string=} opt_type The log type, if known.
126+
* @constructor
127+
*/
128+
constructor: function(level, message, opt_timestamp, opt_type) {
129+
130+
/** @type {!Level} */
131+
this.level = goog.isString(level) ? getLevel(level) : level;
132+
133+
/** @type {string} */
134+
this.message = message;
135+
136+
/** @type {number} */
137+
this.timestamp = goog.isNumber(opt_timestamp) ? opt_timestamp : goog.now();
138+
139+
/** @type {string} */
140+
this.type = opt_type || '';
141+
},
142+
143+
statics: {
144+
/**
145+
* Converts a {@link goog.debug.LogRecord} into a
146+
* {@link webdriver.logging.Entry}.
147+
* @param {!goog.debug.LogRecord} logRecord The record to convert.
148+
* @param {string=} opt_type The log type.
149+
* @return {!Entry} The converted entry.
150+
*/
151+
fromClosureLogRecord: function(logRecord, opt_type) {
152+
var closureLevel = logRecord.getLevel();
153+
var level = Level.SEVERE;
154+
155+
if (closureLevel.value <= Level.DEBUG.value) {
156+
level = Level.DEBUG;
157+
} else if (closureLevel.value <= Level.INFO.value) {
158+
level = Level.INFO;
159+
} else if (closureLevel.value <= Level.WARNING.value) {
160+
level = Level.WARNING;
161+
}
162+
163+
return new Entry(
164+
level,
165+
'[' + logRecord.getLoggerName() + '] ' + logRecord.getMessage(),
166+
logRecord.getMillis(),
167+
opt_type);
168+
}
169+
},
170+
171+
/**
172+
* @return {{level: string, message: string, timestamp: number,
173+
* type: string}} The JSON representation of this entry.
174+
*/
175+
toJSON: function() {
176+
return {
177+
'level': this.level.name,
178+
'message': this.message,
179+
'timestamp': this.timestamp,
180+
'type': this.type
181+
};
168182
}
169-
170-
return new webdriver.logging.Entry(
171-
level,
172-
'[' + logRecord.getLoggerName() + '] ' + logRecord.getMessage(),
173-
logRecord.getMillis(),
174-
opt_type);
175-
};
183+
});
184+
exports.Entry = Entry;

0 commit comments

Comments
 (0)