提交 9be22498 编写于 作者: R Rob Lourens

Make LogLevel converters safer and consistent with other converters, from @jrieken feedback

上级 b2e8dcc4
......@@ -246,11 +246,11 @@ export function createApiFactory(
get appRoot() { return initData.environment.appRoot.fsPath; },
get logLevel() {
checkProposedApiEnabled(extension);
return typeConverters.LogLevel.fromMainLogLevel(extHostLogService.getLevel());
return typeConverters.LogLevel.to(extHostLogService.getLevel());
},
get onDidChangeLogLevel() {
checkProposedApiEnabled(extension);
return mapEvent(extHostLogService.onDidChangeLogLevel, l => typeConverters.LogLevel.fromMainLogLevel(l));
return mapEvent(extHostLogService.onDidChangeLogLevel, l => typeConverters.LogLevel.to(l));
},
get clipboard(): vscode.Clipboard {
return extHostClipboard;
......
......@@ -970,11 +970,49 @@ export namespace LanguageSelector {
}
export namespace LogLevel {
export function fromMainLogLevel(mainLevel: _MainLogLevel): types.LogLevel {
return mainLevel + 1;
}
export function toMainLogLevel(extLevel: types.LogLevel): _MainLogLevel {
return extLevel - 1;
export function from(extLevel: types.LogLevel): _MainLogLevel {
switch (extLevel) {
case types.LogLevel.Trace:
return _MainLogLevel.Trace;
case types.LogLevel.Debug:
return _MainLogLevel.Debug;
case types.LogLevel.Info:
return _MainLogLevel.Info;
case types.LogLevel.Warning:
return _MainLogLevel.Warning;
case types.LogLevel.Error:
return _MainLogLevel.Error;
case types.LogLevel.Critical:
return _MainLogLevel.Critical;
case types.LogLevel.Critical:
return _MainLogLevel.Critical;
case types.LogLevel.Off:
return _MainLogLevel.Off;
}
return _MainLogLevel.Info;
}
export function to(mainLevel: _MainLogLevel): types.LogLevel {
switch (mainLevel) {
case _MainLogLevel.Trace:
return types.LogLevel.Trace;
case _MainLogLevel.Debug:
return types.LogLevel.Debug;
case _MainLogLevel.Info:
return types.LogLevel.Info;
case _MainLogLevel.Warning:
return types.LogLevel.Warning;
case _MainLogLevel.Error:
return types.LogLevel.Error;
case _MainLogLevel.Critical:
return types.LogLevel.Critical;
case _MainLogLevel.Critical:
return types.LogLevel.Critical;
case _MainLogLevel.Off:
return types.LogLevel.Off;
}
return types.LogLevel.Info;
}
}
......@@ -5,9 +5,11 @@
import * as assert from 'assert';
import { MarkdownString } from 'vs/workbench/api/node/extHostTypeConverters';
import { MarkdownString, LogLevel } from 'vs/workbench/api/node/extHostTypeConverters';
import { isEmptyObject } from 'vs/base/common/types';
import { size } from 'vs/base/common/collections';
import * as types from 'vs/workbench/api/node/extHostTypes';
import { LogLevel as _MainLogLevel } from 'vs/platform/log/common/log';
suite('ExtHostTypeConverter', function () {
......@@ -56,4 +58,14 @@ suite('ExtHostTypeConverter', function () {
assert.ok(!!data.uris['file:///somepath/here']);
assert.ok(!!data.uris['file:///somepath/here2']);
});
test('LogLevel', () => {
assert.equal(LogLevel.from(types.LogLevel.Error), _MainLogLevel.Error);
assert.equal(LogLevel.from(types.LogLevel.Info), _MainLogLevel.Info);
assert.equal(LogLevel.from(types.LogLevel.Off), _MainLogLevel.Off);
assert.equal(LogLevel.to(_MainLogLevel.Error), types.LogLevel.Error);
assert.equal(LogLevel.to(_MainLogLevel.Info), types.LogLevel.Info);
assert.equal(LogLevel.to(_MainLogLevel.Off), types.LogLevel.Off);
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册