Replaced 'for x in arr' with proper loops, or used hasOwnProperty to avoid conflict with modified prototypes.

This commit is contained in:
Jamie Peabody
2012-11-14 21:53:40 +00:00
parent 5b390c6737
commit ff1292a40b
3 changed files with 93 additions and 1284 deletions

View File

@@ -125,7 +125,7 @@ $.extend(Mgly.diff.prototype, {
changes: function() { return this.items; },
normal_form: function() {
var nf = '';
for (var index in this.items) {
for (var index = 0; index < this.items.length; ++index) {
var item = this.items[index];
var lhs_str = '';
var rhs_str = '';
@@ -658,6 +658,7 @@ $.extend(Mgly.mergely.prototype, {
this.trace('scroll', 'top_to', top_to);
this.trace('scroll', 'left_to', left_to);
for (var name in this.editor) {
if (!this.editor.hasOwnProperty(name)) continue;
if (editor_name == name) continue; //same editor
var this_side = editor_name.replace(this.id + '-', '');
@@ -666,7 +667,7 @@ $.extend(Mgly.mergely.prototype, {
// find the last change that is less than or within the midway point
// do not move the rhs until the lhs end point is >= the rhs end point.
var last_change = null;
var last_change = null;
for (var i = 0; i < this.changes.length; ++i) {
var change = this.changes[i];
if ((midline.line >= change[this_side+'-line-from'])) {
@@ -709,6 +710,7 @@ $.extend(Mgly.mergely.prototype, {
}, this.settings.change_timeout);
},
_changed: function(editor_name1, editor_name2) {
for (var name in this.editor) {
if (!this.editor.hasOwnProperty(name)) continue;
var editor = this.editor[name];
editor.operation(function() {
@@ -718,7 +720,7 @@ $.extend(Mgly.mergely.prototype, {
}
});
}
//remove previous markup changes
//remove previous markup changes
for (var i = 0; i < this.change_funcs; ++i) {
var change = this.change_funcs[i];
if (change.clear != undefined) change.clear();
@@ -804,7 +806,7 @@ $.extend(Mgly.mergely.prototype, {
this.draw_lhs_width = 5;
this.draw_rhs_width = 5;
this.trace('calc', 'change offsets calculated', {top_offset: top_offset, lhs_min: this.draw_lhs_min, rhs_max: this.draw_rhs_max, lhs_width: this.draw_lhs_width, rhs_width: this.draw_rhs_width});
}
}
for (var i = 0; i < changes.length; ++i) {
var change = changes[i];
var valign = 2;
@@ -854,7 +856,7 @@ $.extend(Mgly.mergely.prototype, {
var self = this;
var led = this.editor[editor_name1];
var red = this.editor[editor_name2];
led.operation(function() {
led.operation(function() {
for (var i = 0; i < changes.length; ++i) {
var change = changes[i];
var clazz = 'mergely ' + change['op'] + ' cid-' + i + ' ';
@@ -1016,7 +1018,7 @@ $.extend(Mgly.mergely.prototype, {
{'line': change['lhs-line-from'], 'ch': 0}, rhs_button.get(0), false, 'over', 'right');
}
});
red.operation(function() {
red.operation(function() {
for (var i = 0; i < changes.length; ++i) {
var change = changes[i];
var clazz = 'mergely ' + change['op'] + ' cid-' + i + ' ';
@@ -1118,7 +1120,7 @@ $.extend(Mgly.mergely.prototype, {
ctx_rhs.strokeStyle = '#888';
ctx_rhs.fillRect(0, 0, 6.5, visible_page_height);
ctx_rhs.strokeRect(0, 0, 6.5, visible_page_height);
for (var i = 0; i < changes.length; ++i) {
var change = changes[i];

View File

@@ -70,33 +70,33 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'lhs', 'start'];
var notok_classes = ['d', 'c', 'bg', 'end'];
var notok_classes = ['d', 'c', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'end'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
for (var clazz in ['mergely', 'a', 'rhs', 'start', 'bg', 'end']) {
for (var clazz in ['mergely', 'a', 'rhs', 'start', 'end']) {
JsUnit.okay($.inArray(clazz, classes), 'Expected lhs row to have class, "' + clazz + '"');
}
@@ -158,28 +158,28 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'lhs', 'start', 'end'];
var notok_classes = ['d', 'c', 'bg'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(1);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'end'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -241,28 +241,28 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'lhs', 'start'];
var notok_classes = ['d', 'c', 'bg', 'end'];
var notok_classes = ['d', 'c', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'end'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -328,28 +328,28 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'lhs', 'start', 'end'];
var notok_classes = ['d', 'c', 'bg'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(1);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'a', 'rhs', 'start', 'end'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -383,8 +383,7 @@ $(document).ready(function(){
// description:
// This tests inserting three lines in the rhs only in the middle of text. The visual markup
// change for the lhs starts at the end of the lhs change (normal case), and the rhs
// markup starts on line one of the first change, the next line of the change has 'bg' markup
// and the final line has 'end' markup
// markup starts on line one of the first change, and the final line has 'end' markup
// example:
// one one
// five two
@@ -420,52 +419,52 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'lhs', 'start', 'end'];
var notok_classes = ['d', 'c', 'bg'];
var notok_classes = ['d', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(1);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'start'];
var notok_classes = ['d', 'c', 'bg', 'end'];
var notok_classes = ['d', 'c', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(2);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'bg'];
var ok_classes = ['mergely', 'a', 'rhs'];
var notok_classes = ['d', 'c', 'start', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(3);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'a', 'rhs', 'end'];
var notok_classes = ['d', 'c', 'start', 'bg'];
var notok_classes = ['d', 'c', 'start'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -531,34 +530,34 @@ $(document).ready(function(){
// test lhs classes
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end', 'bg'];
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'rhs', 'start'];
var notok_classes = ['a', 'c', 'bg', 'end'];
var notok_classes = ['a', 'c', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
for (var clazz in ['mergely', 'a', 'rhs', 'start', 'bg', 'end']) {
for (var clazz in ['mergely', 'a', 'rhs', 'start', 'end']) {
JsUnit.okay($.inArray(clazz, classes), 'Expected lhs row to have class, "' + clazz + '"');
}
@@ -624,28 +623,28 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(1);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end'];
var notok_classes = ['a', 'c', 'bg'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -710,15 +709,15 @@ $(document).ready(function(){
// test lhs classes
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(0);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end', 'bg'];
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
@@ -731,8 +730,8 @@ $(document).ready(function(){
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -797,29 +796,29 @@ $(document).ready(function(){
// test lhs classes
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(1);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'd', 'lhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -855,8 +854,7 @@ $(document).ready(function(){
//
// This tests inserting three lines in the rhs only in the middle of text. The visual markup
// change for the lhs starts at the end of the lhs change (normal case), and the rhs
// markup starts on line one of the first change, the next line of the change has 'bg' markup
// and the final line has 'end' markup
// markup starts on line one of the first change, and the final line has 'end' markup.
// example:
// one one
// two five
@@ -892,52 +890,52 @@ $(document).ready(function(){
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(1);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'start'];
var notok_classes = ['a', 'c', 'bg', 'end'];
var notok_classes = ['a', 'c', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(2);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'bg'];
var ok_classes = ['mergely', 'd', 'lhs'];
var notok_classes = ['a', 'c', 'start', 'end'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
var lhs_info = mergely.editor['mergely-lhs'].lineInfo(3);
var classes = lhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'lhs', 'end'];
var notok_classes = ['a', 'c', 'bg', 'start'];
var notok_classes = ['a', 'c', 'start'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected lhs row to have class, "' + clazz + '", classes: ' + lhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect lhs row to have class, "' + clazz + '"');
}
// test rhs classes
var rhs_info = mergely.editor['mergely-rhs'].lineInfo(0);
var classes = rhs_info.bgClass.split(' ');
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'bg', 'end'];
var ok_classes = ['mergely', 'd', 'rhs', 'start', 'end'];
var notok_classes = ['a', 'c'];
for (var i in ok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, classes) >= 0, 'Expected rhs row to have class, "' + clazz + '", classes: ' + rhs_info.bgClass);
}
for (var i in notok_classes) {
var clazz = ok_classes[i];
JsUnit.okay($.inArray(clazz, notok_classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
var clazz = notok_classes[i];
JsUnit.okay($.inArray(clazz, classes) < 0, 'Did not expect rhs row to have class, "' + clazz + '"');
}
var extents = mergely._get_extents();
@@ -974,117 +972,18 @@ $(document).ready(function(){
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
JsUnit.test('case-11-diff-file-100k-50-changes', function() {
var data = macbeth.join('\n');
// array swap 50 lines
var mcopy = [];
for (var i = 0; i < macbeth.length; ++i) {
mcopy[i] = macbeth[i];
}
for (var i = 0; i < 50; ++i) {
var x1 = Math.floor((Math.random()*macbeth.length));
var x2 = Math.floor((Math.random()*macbeth.length));
var t = mcopy[x1];
mcopy[x1] = mcopy[x2];
mcopy[x2] = t;
}
var data2 = mcopy.join('\n');
console.log('size', data.length);
var t0 = new Date().getTime();
var diff = new Mgly.diff(data, data);
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
JsUnit.test('case-11-diff-file-1000k-same', function() {
JsUnit.test('case-11-diff-file-500k-many-changes', function() {
var data = '';
for (var i = 0; i < 10; ++i) {
for (var i = 0; i < 5; ++i) {
data += macbeth.join('\n');
}
// replace ',' with '$' in all lines
var data2 = data.replace(/,/g, '$');
console.log('size', data.length);
console.log('size', data2.length);
var t0 = new Date().getTime();
var diff = new Mgly.diff(data, data);
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
JsUnit.test('case-11-diff-file-1000k-500-changes', function() {
var data = '';
for (var i = 0; i < 10; ++i) {
data += macbeth.join('\n');
}
var mcopy = [];
for (var i = 0; i < macbeth.length; ++i) {
mcopy[i] = macbeth[i];
}
// array swap 50 lines
for (var i = 0; i < 500; ++i) {
var x1 = Math.floor((Math.random()*macbeth.length));
var x2 = Math.floor((Math.random()*macbeth.length));
var t = mcopy[x1];
mcopy[x1] = mcopy[x2];
mcopy[x2] = t;
}
var data2 = mcopy.join('\n');
console.log('size', data.length);
var t0 = new Date().getTime();
var diff = new Mgly.diff(data, data);
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
JsUnit.test('case-11-diff-file-10MB-500-changes', function() {
var data = '';
for (var i = 0; i < 100; ++i) {
data += macbeth.join('\n');
}
var mcopy = [];
for (var i = 0; i < macbeth.length; ++i) {
mcopy[i] = macbeth[i];
}
// array swap 50 lines
for (var i = 0; i < 500; ++i) {
var x1 = Math.floor((Math.random()*macbeth.length));
var x2 = Math.floor((Math.random()*macbeth.length));
var t = mcopy[x1];
mcopy[x1] = mcopy[x2];
mcopy[x2] = t;
}
var data2 = mcopy.join('\n');
console.log('size', data.length);
var t0 = new Date().getTime();
var diff = new Mgly.diff(data, data);
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
JsUnit.test('case-11-diff-file-20MB-500-changes', function() {
var data = '';
for (var i = 0; i < 200; ++i) {
data += macbeth.join('\n');
}
var mcopy = [];
for (var i = 0; i < macbeth.length; ++i) {
mcopy[i] = macbeth[i];
}
// array swap 50 lines
for (var i = 0; i < 500; ++i) {
var x1 = Math.floor((Math.random()*macbeth.length));
var x2 = Math.floor((Math.random()*macbeth.length));
var t = mcopy[x1];
mcopy[x1] = mcopy[x2];
mcopy[x2] = t;
}
var data2 = mcopy.join('\n');
console.log('size', data.length);
var t0 = new Date().getTime();
var diff = new Mgly.diff(data, data);
var diff = new Mgly.diff(data, data2);
var t1 = new Date().getTime();
console.log('diff', diff, 'time: ' + (t1 - t0));
});
@@ -1092,3 +991,5 @@ $(document).ready(function(){
JsUnit.start();
}(JsUnit));
});

File diff suppressed because it is too large Load Diff