提交 e7a496b8 编写于 作者: J Johannes Rieken

use Object.create over {}, fixes #12890

上级 3c63ca22
...@@ -124,7 +124,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel { ...@@ -124,7 +124,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
public getAllUniqueWords(wordDefinition:RegExp, skipWordOnce?:string) : string[] { public getAllUniqueWords(wordDefinition:RegExp, skipWordOnce?:string) : string[] {
var foundSkipWord = false; var foundSkipWord = false;
var uniqueWords = {}; var uniqueWords = Object.create(null);
return this._getAllWords(wordDefinition).filter((word) => { return this._getAllWords(wordDefinition).filter((word) => {
if (skipWordOnce && !foundSkipWord && skipWordOnce === word) { if (skipWordOnce && !foundSkipWord && skipWordOnce === word) {
foundSkipWord = true; foundSkipWord = true;
......
...@@ -138,6 +138,13 @@ suite('Editor Model - MirrorModel', () => { ...@@ -138,6 +138,13 @@ suite('Editor Model - MirrorModel', () => {
assert.equal(uniqueWords.length, 2); assert.equal(uniqueWords.length, 2);
assert.equal(uniqueWords[0], 'foo'); assert.equal(uniqueWords[0], 'foo');
assert.equal(uniqueWords[1], 'bar'); assert.equal(uniqueWords[1], 'bar');
model = new SimpleMirrorModel(null, [ 'toString', 'hasOwnProperty', 'foo' ], '\n', 1);
uniqueWords = model.getAllUniqueWords(DEFAULT_WORD_REGEXP);
assert.equal(uniqueWords.length, 3);
assert.equal(uniqueWords[0], 'toString');
assert.equal(uniqueWords[1], 'hasOwnProperty');
assert.equal(uniqueWords[2], 'foo');
}); });
test('word at/until pos', () => { test('word at/until pos', () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册