Merge VS Code 1.23.1 (#1520)

This commit is contained in:
Matt Irvine
2018-06-05 11:24:51 -07:00
committed by GitHub
parent e3baf5c443
commit 0c58f09e59
3651 changed files with 74249 additions and 48599 deletions

View File

@@ -366,6 +366,31 @@ suite('TextModelWithTokens regression tests', () => {
model.dispose();
registration.dispose();
});
test('issue #11856: Bracket matching does not work as expected if the opening brace symbol is contained in the closing brace symbol', () => {
const languageIdentifier = new LanguageIdentifier('testMode', LanguageId.PlainText);
let registration = LanguageConfigurationRegistry.register(languageIdentifier, {
brackets: [
['sequence', 'endsequence'],
['feature', 'endfeature']
]
});
let model = TextModel.createFromString([
'sequence "outer"',
' sequence "inner"',
' endsequence',
'endsequence',
].join('\n'), undefined, languageIdentifier);
let actual = model.matchBracket(new Position(3, 9));
assert.deepEqual(actual, [new Range(3, 6, 3, 17), new Range(2, 6, 2, 14)]);
model.dispose();
registration.dispose();
});
});
suite('TextModel.getLineIndentGuide', () => {
@@ -380,10 +405,39 @@ suite('TextModel.getLineIndentGuide', () => {
actual[line - 1] = [actualIndents[line - 1], model.getLineContent(line)];
}
// let expected = lines.map(l => l[0]);
assert.deepEqual(actual, lines);
// Also test getActiveIndentGuide
for (let lineNumber = 1; lineNumber <= model.getLineCount(); lineNumber++) {
let startLineNumber = lineNumber;
let endLineNumber = lineNumber;
let indent = actualIndents[lineNumber - 1];
if (indent !== 0) {
for (let i = lineNumber - 1; i >= 1; i--) {
const currIndent = actualIndents[i - 1];
if (currIndent >= indent) {
startLineNumber = i;
} else {
break;
}
}
for (let i = lineNumber + 1; i <= model.getLineCount(); i++) {
const currIndent = actualIndents[i - 1];
if (currIndent >= indent) {
endLineNumber = i;
} else {
break;
}
}
}
const expected = { startLineNumber, endLineNumber, indent };
const actual = model.getActiveIndentGuide(lineNumber, 1, model.getLineCount());
assert.deepEqual(actual, expected, `line number ${lineNumber}`);
}
model.dispose();
}