mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 13:55:41 +01:00
Fix test running
This commit is contained in:
parent
4dd22f337d
commit
cd6cee8241
1 changed files with 35 additions and 4 deletions
|
|
@ -45,17 +45,48 @@ function runTests(languageId:string, tests:ITestItem[][]): void {
|
|||
}
|
||||
|
||||
function runTest(languageId:string, test:ITestItem[]): void {
|
||||
|
||||
interface LineToken {
|
||||
startOffset: number;
|
||||
endOffset: number;
|
||||
type: string;
|
||||
modeId: string;
|
||||
hasPrev: boolean;
|
||||
hasNext: boolean;
|
||||
|
||||
prev(): LineToken;
|
||||
next(): LineToken;
|
||||
}
|
||||
|
||||
interface LineTokens {
|
||||
// modeTransitions:ModeTransition[];
|
||||
|
||||
getTokenCount(): number;
|
||||
getTokenStartOffset(tokenIndex:number): number;
|
||||
getTokenType(tokenIndex:number): string;
|
||||
getTokenEndOffset(tokenIndex:number): number;
|
||||
equals(other:LineTokens): boolean;
|
||||
findTokenIndexAtOffset(offset:number): number;
|
||||
findTokenAtOffset(offset:number): LineToken;
|
||||
firstToken(): LineToken;
|
||||
lastToken(): LineToken;
|
||||
// inflate(): ViewLineToken[];
|
||||
// sliceAndInflate(startOffset:number, endOffset:number, deltaStartIndex:number): ViewLineToken[];
|
||||
}
|
||||
|
||||
let text = test.map(t => t.line).join('\n');
|
||||
let model = _monaco.editor.createModel(text, languageId);
|
||||
|
||||
for (let lineNumber = 1, lineCount = model.getLineCount(); lineNumber <= lineCount; lineNumber++) {
|
||||
let actual: IRelaxedToken[] = [];
|
||||
let lineTokens = (<any>model).getLineTokens(lineNumber);
|
||||
for (let j = 0; j < lineTokens.getTokenCount(); j++) {
|
||||
let lineTokens:LineTokens = (<any>model).getLineTokens(lineNumber);
|
||||
let token = lineTokens.firstToken();
|
||||
while (token) {
|
||||
actual.push({
|
||||
startIndex: lineTokens.getTokenStartIndex(j),
|
||||
type: lineTokens.getTokenType(j)
|
||||
startIndex: token.startOffset,
|
||||
type: token.type
|
||||
});
|
||||
token = token.next();
|
||||
}
|
||||
|
||||
let expected = test[lineNumber - 1].tokens;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue