mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-29 18:09:01 +01:00
tsfmt - src
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import {DiffComputer} from 'vs/editor/common/diff/diffComputer';
|
||||
import {IChange, ICharChange, ILineChange} from 'vs/editor/common/editorCommon';
|
||||
import { DiffComputer } from 'vs/editor/common/diff/diffComputer';
|
||||
import { IChange, ICharChange, ILineChange } from 'vs/editor/common/editorCommon';
|
||||
|
||||
function extractCharChangeRepresentation(change, expectedChange): ICharChange {
|
||||
var hasOriginal = expectedChange && expectedChange.originalStartLineNumber > 0;
|
||||
@@ -25,8 +25,8 @@ function extractCharChangeRepresentation(change, expectedChange): ICharChange {
|
||||
}
|
||||
|
||||
function extractLineChangeRepresentation(change, expectedChange): ILineChange {
|
||||
var result:ILineChange = <any>{
|
||||
originalStartLineNumber:change.originalStartLineNumber,
|
||||
var result: ILineChange = <any>{
|
||||
originalStartLineNumber: change.originalStartLineNumber,
|
||||
originalEndLineNumber: change.originalEndLineNumber,
|
||||
modifiedStartLineNumber: change.modifiedStartLineNumber,
|
||||
modifiedEndLineNumber: change.modifiedEndLineNumber
|
||||
@@ -42,7 +42,7 @@ function extractLineChangeRepresentation(change, expectedChange): ILineChange {
|
||||
return result;
|
||||
}
|
||||
|
||||
function assertDiff(originalLines:string[], modifiedLines:string[], expectedChanges:IChange[], shouldPostProcessCharChanges:boolean = false, shouldIgnoreTrimWhitespace:boolean=false) {
|
||||
function assertDiff(originalLines: string[], modifiedLines: string[], expectedChanges: IChange[], shouldPostProcessCharChanges: boolean = false, shouldIgnoreTrimWhitespace: boolean = false) {
|
||||
var diffComputer = new DiffComputer(originalLines, modifiedLines, {
|
||||
shouldPostProcessCharChanges: shouldPostProcessCharChanges || false,
|
||||
shouldIgnoreTrimWhitespace: shouldIgnoreTrimWhitespace || false,
|
||||
@@ -112,7 +112,7 @@ function createCharDeletion(startLineNumber, startColumn, endLineNumber, endColu
|
||||
}
|
||||
|
||||
function createCharChange(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn,
|
||||
modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {
|
||||
modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {
|
||||
return {
|
||||
originalStartLineNumber: originalStartLineNumber,
|
||||
originalStartColumn: originalStartColumn,
|
||||
@@ -130,110 +130,110 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
// ---- insertions
|
||||
|
||||
test('one inserted line below', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'line', 'new line' ];
|
||||
var expected = [ createLineInsertion(2, 2, 1) ];
|
||||
var original = ['line'];
|
||||
var modified = ['line', 'new line'];
|
||||
var expected = [createLineInsertion(2, 2, 1)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two inserted lines below', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'line', 'new line', 'another new line' ];
|
||||
var expected = [ createLineInsertion(2, 3, 1) ];
|
||||
var original = ['line'];
|
||||
var modified = ['line', 'new line', 'another new line'];
|
||||
var expected = [createLineInsertion(2, 3, 1)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('one inserted line above', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'new line', 'line' ];
|
||||
var expected = [ createLineInsertion(1, 1, 0) ];
|
||||
var original = ['line'];
|
||||
var modified = ['new line', 'line'];
|
||||
var expected = [createLineInsertion(1, 1, 0)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two inserted lines above', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'new line', 'another new line', 'line' ];
|
||||
var expected = [ createLineInsertion(1, 2, 0) ];
|
||||
var original = ['line'];
|
||||
var modified = ['new line', 'another new line', 'line'];
|
||||
var expected = [createLineInsertion(1, 2, 0)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('one inserted line in middle', () => {
|
||||
var original = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'new line', 'line3', 'line4' ];
|
||||
var expected = [ createLineInsertion(3, 3, 2) ];
|
||||
var original = ['line1', 'line2', 'line3', 'line4'];
|
||||
var modified = ['line1', 'line2', 'new line', 'line3', 'line4'];
|
||||
var expected = [createLineInsertion(3, 3, 2)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two inserted lines in middle', () => {
|
||||
var original = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'new line', 'another new line', 'line3', 'line4' ];
|
||||
var expected = [ createLineInsertion(3, 4, 2) ];
|
||||
var original = ['line1', 'line2', 'line3', 'line4'];
|
||||
var modified = ['line1', 'line2', 'new line', 'another new line', 'line3', 'line4'];
|
||||
var expected = [createLineInsertion(3, 4, 2)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two inserted lines in middle interrupted', () => {
|
||||
var original = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'new line', 'line3', 'another new line', 'line4' ];
|
||||
var expected = [ createLineInsertion(3, 3, 2), createLineInsertion(5, 5, 3) ];
|
||||
var original = ['line1', 'line2', 'line3', 'line4'];
|
||||
var modified = ['line1', 'line2', 'new line', 'line3', 'another new line', 'line4'];
|
||||
var expected = [createLineInsertion(3, 3, 2), createLineInsertion(5, 5, 3)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
// ---- deletions
|
||||
|
||||
test('one deleted line below', () => {
|
||||
var original = [ 'line', 'new line' ];
|
||||
var modified = [ 'line' ];
|
||||
var expected = [ createLineDeletion(2, 2, 1) ];
|
||||
var original = ['line', 'new line'];
|
||||
var modified = ['line'];
|
||||
var expected = [createLineDeletion(2, 2, 1)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two deleted lines below', () => {
|
||||
var original = [ 'line', 'new line', 'another new line' ];
|
||||
var modified = [ 'line' ];
|
||||
var expected = [ createLineDeletion(2, 3, 1) ];
|
||||
var original = ['line', 'new line', 'another new line'];
|
||||
var modified = ['line'];
|
||||
var expected = [createLineDeletion(2, 3, 1)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('one deleted lines above', () => {
|
||||
var original = [ 'new line', 'line' ];
|
||||
var modified = [ 'line' ];
|
||||
var expected = [ createLineDeletion(1, 1, 0) ];
|
||||
var original = ['new line', 'line'];
|
||||
var modified = ['line'];
|
||||
var expected = [createLineDeletion(1, 1, 0)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two deleted lines above', () => {
|
||||
var original = [ 'new line', 'another new line', 'line' ];
|
||||
var modified = [ 'line' ];
|
||||
var expected = [ createLineDeletion(1, 2, 0) ];
|
||||
var original = ['new line', 'another new line', 'line'];
|
||||
var modified = ['line'];
|
||||
var expected = [createLineDeletion(1, 2, 0)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('one deleted line in middle', () => {
|
||||
var original = [ 'line1', 'line2', 'new line', 'line3', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var expected = [ createLineDeletion(3, 3, 2) ];
|
||||
var original = ['line1', 'line2', 'new line', 'line3', 'line4'];
|
||||
var modified = ['line1', 'line2', 'line3', 'line4'];
|
||||
var expected = [createLineDeletion(3, 3, 2)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two deleted lines in middle', () => {
|
||||
var original = [ 'line1', 'line2', 'new line', 'another new line', 'line3', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var expected = [ createLineDeletion(3, 4, 2) ];
|
||||
var original = ['line1', 'line2', 'new line', 'another new line', 'line3', 'line4'];
|
||||
var modified = ['line1', 'line2', 'line3', 'line4'];
|
||||
var expected = [createLineDeletion(3, 4, 2)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
test('two deleted lines in middle interrupted', () => {
|
||||
var original = [ 'line1', 'line2', 'new line', 'line3', 'another new line', 'line4' ];
|
||||
var modified = [ 'line1', 'line2', 'line3', 'line4' ];
|
||||
var expected = [ createLineDeletion(3, 3, 2), createLineDeletion(5, 5, 3) ];
|
||||
var original = ['line1', 'line2', 'new line', 'line3', 'another new line', 'line4'];
|
||||
var modified = ['line1', 'line2', 'line3', 'line4'];
|
||||
var expected = [createLineDeletion(3, 3, 2), createLineDeletion(5, 5, 3)];
|
||||
assertDiff(original, modified, expected);
|
||||
});
|
||||
|
||||
// ---- changes
|
||||
|
||||
test('one line changed: chars inserted at the end', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'line changed' ];
|
||||
var original = ['line'];
|
||||
var modified = ['line changed'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharInsertion(1, 5, 1, 13)
|
||||
@@ -243,8 +243,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('one line changed: chars inserted at the beginning', () => {
|
||||
var original = [ 'line' ];
|
||||
var modified = [ 'my line' ];
|
||||
var original = ['line'];
|
||||
var modified = ['my line'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharInsertion(1, 1, 1, 4)
|
||||
@@ -254,8 +254,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('one line changed: chars inserted in the middle', () => {
|
||||
var original = [ 'abba' ];
|
||||
var modified = [ 'abzzba' ];
|
||||
var original = ['abba'];
|
||||
var modified = ['abzzba'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharInsertion(1, 3, 1, 5)
|
||||
@@ -265,8 +265,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('one line changed: chars inserted in the middle (two spots)', () => {
|
||||
var original = [ 'abba' ];
|
||||
var modified = [ 'abzzbzza' ];
|
||||
var original = ['abba'];
|
||||
var modified = ['abzzbzza'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharInsertion(1, 3, 1, 5),
|
||||
@@ -277,8 +277,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('one line changed: chars deleted 1', () => {
|
||||
var original = [ 'abcdefg' ];
|
||||
var modified = [ 'abcfg' ];
|
||||
var original = ['abcdefg'];
|
||||
var modified = ['abcfg'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharDeletion(1, 4, 1, 6)
|
||||
@@ -288,8 +288,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('one line changed: chars deleted 2', () => {
|
||||
var original = [ 'abcdefg' ];
|
||||
var modified = [ 'acfg' ];
|
||||
var original = ['abcdefg'];
|
||||
var modified = ['acfg'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharDeletion(1, 2, 1, 3),
|
||||
@@ -300,8 +300,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('two lines changed 1', () => {
|
||||
var original = [ 'abcd', 'efgh' ];
|
||||
var modified = [ 'abcz' ];
|
||||
var original = ['abcd', 'efgh'];
|
||||
var modified = ['abcz'];
|
||||
var expected = [
|
||||
createLineChange(1, 2, 1, 1, [
|
||||
createCharChange(1, 4, 2, 5, 1, 4, 1, 5)
|
||||
@@ -311,8 +311,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('two lines changed 2', () => {
|
||||
var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
|
||||
var modified = [ 'foo', 'abcz', 'BAR' ];
|
||||
var original = ['foo', 'abcd', 'efgh', 'BAR'];
|
||||
var modified = ['foo', 'abcz', 'BAR'];
|
||||
var expected = [
|
||||
createLineChange(2, 3, 2, 2, [
|
||||
createCharChange(2, 4, 3, 5, 2, 4, 2, 5)
|
||||
@@ -322,8 +322,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('two lines changed 3', () => {
|
||||
var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
|
||||
var modified = [ 'foo', 'abcz', 'zzzzefgh', 'BAR' ];
|
||||
var original = ['foo', 'abcd', 'efgh', 'BAR'];
|
||||
var modified = ['foo', 'abcz', 'zzzzefgh', 'BAR'];
|
||||
var expected = [
|
||||
createLineChange(2, 3, 2, 3, [
|
||||
createCharChange(2, 4, 2, 5, 2, 4, 3, 5)
|
||||
@@ -333,8 +333,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('three lines changed', () => {
|
||||
var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
|
||||
var modified = [ 'foo', 'zzzefgh', 'xxx', 'BAR' ];
|
||||
var original = ['foo', 'abcd', 'efgh', 'BAR'];
|
||||
var modified = ['foo', 'zzzefgh', 'xxx', 'BAR'];
|
||||
var expected = [
|
||||
createLineChange(2, 3, 2, 3, [
|
||||
createCharChange(2, 1, 2, 5, 2, 1, 2, 4),
|
||||
@@ -345,8 +345,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('big change part 1', () => {
|
||||
var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
|
||||
var modified = [ 'hello', 'foo', 'zzzefgh', 'xxx', 'BAR' ];
|
||||
var original = ['foo', 'abcd', 'efgh', 'BAR'];
|
||||
var modified = ['hello', 'foo', 'zzzefgh', 'xxx', 'BAR'];
|
||||
var expected = [
|
||||
createLineInsertion(1, 1, 0),
|
||||
createLineChange(2, 3, 3, 4, [
|
||||
@@ -358,8 +358,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('big change part 2', () => {
|
||||
var original = [ 'foo', 'abcd', 'efgh', 'BAR', 'RAB' ];
|
||||
var modified = [ 'hello', 'foo', 'zzzefgh', 'xxx', 'BAR' ];
|
||||
var original = ['foo', 'abcd', 'efgh', 'BAR', 'RAB'];
|
||||
var modified = ['hello', 'foo', 'zzzefgh', 'xxx', 'BAR'];
|
||||
var expected = [
|
||||
createLineInsertion(1, 1, 0),
|
||||
createLineChange(2, 3, 3, 4, [
|
||||
@@ -372,8 +372,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('char change postprocessing merges', () => {
|
||||
var original = [ 'abba' ];
|
||||
var modified = [ 'azzzbzzzbzzza' ];
|
||||
var original = ['abba'];
|
||||
var modified = ['azzzbzzzbzzza'];
|
||||
var expected = [
|
||||
createLineChange(1, 1, 1, 1, [
|
||||
createCharChange(1, 2, 1, 4, 1, 2, 1, 13)
|
||||
@@ -383,8 +383,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('ignore trim whitespace', () => {
|
||||
var original = [ '\t\t foo ', 'abcd', 'efgh', '\t\t BAR\t\t' ];
|
||||
var modified = [ ' hello\t', '\t foo \t', 'zzzefgh', 'xxx', ' BAR \t' ];
|
||||
var original = ['\t\t foo ', 'abcd', 'efgh', '\t\t BAR\t\t'];
|
||||
var modified = [' hello\t', '\t foo \t', 'zzzefgh', 'xxx', ' BAR \t'];
|
||||
var expected = [
|
||||
createLineInsertion(1, 1, 0),
|
||||
createLineChange(2, 3, 3, 4, [
|
||||
@@ -396,8 +396,8 @@ suite('Editor Diff - DiffComputer', () => {
|
||||
});
|
||||
|
||||
test('issue #12122 r.hasOwnProperty is not a function', () => {
|
||||
var original = [ 'hasOwnProperty' ];
|
||||
var modified = [ 'hasOwnProperty', 'and another line' ];
|
||||
var original = ['hasOwnProperty'];
|
||||
var modified = ['hasOwnProperty', 'and another line'];
|
||||
var expected = [
|
||||
createLineInsertion(2, 2, 1)
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user