Beispiel #1
0
	test('Apply changes to model - no changes', () => {
		var original = createModel('One line that is equal. ');
		var modified = createModel('One line that is equal. \n Second line is new.');
		var changes: IChange[] = [];
		var result = applyChangesToModel(original, modified, changes);
		var expected = original;
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
	});
Beispiel #2
0
	test('Apply changes to model - three empty lines insertion in the middle', () => {
		var original = createModel('hello\n there\n isidor\n');
		var modified = createModel('hello\n there\n \n \n \n isidor\n');
		var changes: IChange[] = [];
		changes.push(createChange(3, 5, 2, 0));
		var result = applyChangesToModel(original, modified, changes);
		var expected = modified;
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
	});
Beispiel #3
0
	test('Apply changes to model - one line insertion in the middle', () => {
		var original = createModel('One line that is equal. \n Last line same. ');
		var modified = createModel('One line that is equal. \n Second line is new. \n Last line same. ');
		var changes: IChange[] = [];
		changes.push(createChange(2, 2, 1, 0));
		var result = applyChangesToModel(original, modified, changes);
		var expected = modified;
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
	});
Beispiel #4
0
	test('Apply changes to model - one line change at the end', () => {
		var original = new Model('One line that is equal. ', mode);
		var modified = new Model('One line that is equal. \n Second line is new.', mode);
		var changes: IChange[] = [];
		changes.push(createChange(2, 2, 2, 2));
		var result = applyChangesToModel(original, modified, changes);
		var expected = modified;
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
	});
Beispiel #5
0
	test('Apply changes to model - multiple changes 2 - insertion, deletion and modification', () => {
		var original = createModel(' One \n Two \n Three \n Four \n Five \n Six \n Seven \n Eight \n Nine \n Ten ');
		var modified = createModel(' Two \n Three \n INSERTED \n Four \n Six \n 7 \n Eight \n 9 \n CHANGEIGNORED \n INSERTED');
		var changes: IChange[] = [];
		changes.push(createChange(1, 0, 1, 1), createChange(3, 3, 3, 0), createChange(5, 0, 5, 5), createChange(6, 8, 7, 9), createChange(10, 10, 10, 0));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel(' Two \n Three \n INSERTED \n Four \n Six \n 7 \n Eight \n 9 \n Ten \n INSERTED');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});
Beispiel #6
0
	test('Apply changes to model - multiple changes - insertion, deletion and modification', () => {
		var original = createModel(' One \n Two \n Three \n Four \n Five \n Six \n Seven \n Eight \n Nine \n Ten');
		var modified = createModel(' 1 \n Three \n 4 \n 5 \n Six \n 7 \n NEWLINE \n Eight ');
		var changes: IChange[] = [];
		changes.push(createChange(1, 1, 1, 1), createChange(2, 0, 2, 2), createChange(3, 3, 4, 4), createChange(7, 7, 7, 0), createChange(7, 0, 9, 10));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel(' 1 \n Three \n 4 \n Five \n Six \n Seven \n NEWLINE \n Eight ');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});
Beispiel #7
0
	test('Apply changes to model - multiple small changes', () => {
		var original = createModel(' One \n Two \n Three \n Four \n Five \n Six \n Seven \n Eight \n');
		var modified = createModel(' One \n 2 \n Three \n 4 \n 5 \n Six \n 7 \n 8 \n');
		var changes: IChange[] = [];
		changes.push(createChange(1, 2, 1, 2), createChange(5, 5, 5, 5), createChange(7, 8, 7, 8));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel(' One \n 2 \n Three \n Four \n 5 \n Six \n 7 \n 8 \n');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});
Beispiel #8
0
	test('Apply changes to model - two overlapping changes', () => {
		var original = createModel(' One \n Two \n Three \n Four \n Five \n');
		var modified = createModel(' One \n 2 \n 3 \n 4 \n NotSelected \n');
		var changes: IChange[] = [];
		changes.push(createChange(2, 3, 2, 4), createChange(4, 4, 2, 4));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel(' One \n 2 \n 3 \n 4 \n Five \n');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});
Beispiel #9
0
	test('Apply changes to model - one multi line change', () => {
		var original = createModel('One line that is equal. \n Second line is different. \n Third line also different. \n Forth line is same. \n Fifth line is different.');
		var modified = createModel('One line that is equal. \n 2nd line is different. \n 3rd line also different. \n Forth line is same. \n 5th line is different.');
		var changes: IChange[] = [];
		changes.push(createChange(2, 3, 2, 3));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel('One line that is equal. \n 2nd line is different. \n 3rd line also different. \n Forth line is same. \n Fifth line is different.');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});
Beispiel #10
0
	test('Apply changes to model - one line deletion', () => {
		var original = createModel('One line that is equal. \n Second line is old. \n Third line same. \n Forth line not important');
		var modified = createModel('One line that is equal. \n Third line same. ');
		var changes: IChange[] = [];
		changes.push(createChange(2, 0, 2, 2));
		var result = applyChangesToModel(original, modified, changes);
		var expected = createModel('One line that is equal. \n Third line same. \n Forth line not important');
		assert.equal(result, expected.getValue());
		original.dispose();
		modified.dispose();
		expected.dispose();
	});