diff --git a/.directory b/.directory
deleted file mode 100644
index aa3097b7..00000000
--- a/.directory
+++ /dev/null
@@ -1,3 +0,0 @@
-[Dolphin]
-Timestamp=2014,7,25,13,13,54
-Version=3
diff --git a/.kateproject b/.kateproject
deleted file mode 100644
index a526ff11..00000000
--- a/.kateproject
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "Yatta!"
-, "files": [ { "git": 1 } ]
-}
diff --git a/.kateproject.d/notes.txt b/.kateproject.d/notes.txt
deleted file mode 100644
index e69de29b..00000000
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
index 1792633f..e8f4dc19 100644
--- a/Gruntfile.coffee
+++ b/Gruntfile.coffee
@@ -37,7 +37,7 @@ module.exports = (grunt) ->
all:
src: ['test/**/*.coffee']
options:
- timeout: 3000
+ timeout: 9999999
ignoreLeaks: false
ui: 'bdd'
reporter: 'list'
@@ -67,7 +67,7 @@ module.exports = (grunt) ->
extras: ["LICENSE-LGPL"]
#undocumented: yes
verbose: false
- stats: false
+ stats: true
src: ["./lib"]
browserify:
dist:
diff --git a/dest/browser/Frameworks/JsonIwcYatta.js b/dest/browser/Frameworks/JsonIwcYatta.js
index c5223178..a31f9efb 100644
--- a/dest/browser/Frameworks/JsonIwcYatta.js
+++ b/dest/browser/Frameworks/JsonIwcYatta.js
@@ -371,8 +371,8 @@ module.exports = function(HB) {
parser = {};
execution_listener = [];
Operation = (function() {
- function Operation(_arg) {
- this.creator = _arg['creator'], this.op_number = _arg['op_number'];
+ function Operation(uid) {
+ this.creator = uid['creator'], this.op_number = uid['op_number'];
}
Operation.prototype.getUid = function() {
@@ -457,9 +457,9 @@ module.exports = function(HB) {
return Delete;
})(Operation);
- parser['Delete'] = function(_arg) {
+ parser['Delete'] = function(o) {
var deletes_uid, uid;
- uid = _arg['uid'], deletes_uid = _arg['deletes'];
+ uid = o['uid'], deletes_uid = o['deletes'];
return new Delete(uid, deletes_uid);
};
Insert = (function(_super) {
@@ -678,14 +678,13 @@ module.exports = function(HB) {
if (typeof content === 'string') {
word = HB.addOperation(new types.Word(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, word);
- return content;
} else if (typeof content === 'object') {
json = HB.addOperation(JsonType(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, json);
- return content;
} else {
throw new Error("You must not set " + (typeof content) + "-types in collaborative Json-objects!");
}
+ return this;
} else {
return JsonType.__super__.val.call(this, name, content);
}
diff --git a/dest/browser/Widgets/libs/DUIClient.js b/dest/browser/Widgets/libs/DUIClient.js
index ab759f50..bcb8ecd4 100644
--- a/dest/browser/Widgets/libs/DUIClient.js
+++ b/dest/browser/Widgets/libs/DUIClient.js
@@ -21,9 +21,9 @@ DUIClient = function(){
var that = this;
var _iwcClient = new iwc.Client(["*"]);
_iwcClient._componentName = "duiclient-"+_widgetId;
-
+
this.externalCallback = function(intent){};
-
+
/**
* The target function when the intent is for updating widget state request
*/
@@ -35,6 +35,9 @@ DUIClient = function(){
this.updateState(intent);
};
+ this.getIwcClient = function(){
+ return _iwcClient;
+ }
/**
* The target function when the intent is for getting the current widget state.
* The intent.extras object here is always a Json object.
@@ -47,7 +50,7 @@ DUIClient = function(){
forMigration = true;
}
var states = this.getWidgetState(forMigration);
-
+
var resIntent = {};
if (forMigration)
resIntent = {
@@ -67,10 +70,10 @@ DUIClient = function(){
"dataType":"",
"extras":{"widgetId": _widgetId, "widgetStates": states}
};
-
+
_iwcClient.publish(resIntent);
};
-
+
/**
* The target function when the intent is to inform a change in the scope of the application
*/
@@ -85,7 +88,7 @@ DUIClient = function(){
console.log("do sth before the widget is removed");
this.prepareMigration();
};
-
+
this._logOff = function(intent){
var states = this.getWidgetState(false);
resIntent = {
@@ -96,10 +99,10 @@ DUIClient = function(){
"dataType":"",
"extras":{"widgetId": _widgetId, "widgetStates": states}
};
-
+
_iwcClient.publish(resIntent);
};
-
+
/**
* The intent dispatcher and the callback function connected to the private field of iwc.Client.onIntent.
* This function is called once an intent is received by the iwc.Client and passed the first level filter of the iwc.Client.
@@ -109,7 +112,7 @@ DUIClient = function(){
that.externalCallback(intent);
//does not accept global intents(global intents are processed by normal iwc.Client, normal iwc.Proxy and DUI manager)
//does not accept intents that are not categorized as "DUI"
- if ((typeof intent.flags != "undefined" && intent.flags.indexOf("PUBLISH_GLOBAL")!=-1)
+ if ((typeof intent.flags != "undefined" && intent.flags.indexOf("PUBLISH_GLOBAL")!=-1)
|| typeof intent.categories == "undefined" || intent.categories.indexOf("DUI") == -1)
return;
//then does not accept intents for other widgets
@@ -128,7 +131,7 @@ DUIClient = function(){
that._prepareMigration(intent);
return;
}
- }else if (typeof intent.extras.widgetId == "undefined"){
+ }else if (typeof intent.extras.widgetId == "undefined"){
if (action == "DUI_LOG_OFF"){
that._logOff(intent);
return;
@@ -146,11 +149,11 @@ DUIClient = function(){
}
}
};
-
+
_iwcClient.connect(_iwcCallback);
-
+
//remember to bind(this) the function when override
-
+
/**
* The function is called when the dui manager wants the widget states.
* Notice: avoid putting complex data and data structure to the state value, the browser and Java JSON encoder and parser might cause inconsistent input and output.
@@ -160,9 +163,9 @@ DUIClient = function(){
this.getWidgetState = function(isForMigration){
console.log("the widget collects it is state and return, overwrite it");
var states = {};
- return states;
+ return states;
};
-
+
/**
* The function is called when there detected a application state change at the dui manager and the manager informs the widget about the change.
* Override this function to apply changes to the widget according to the valuable application state changes.
@@ -196,7 +199,7 @@ DUIClient = function(){
/**
* The function is called when the dui manager asks the widget to update its states.
* Compared to the function DUIClient.finishMigration(), this is a typical normal state update for active widget on presence.
- * This method will be called as a callback for DUIClient#requireWidgetState(); or DUIClient#initOK() when it is not a migration.
+ * This method will be called as a callback for DUIClient#requireWidgetState(); or DUIClient#initOK() when it is not a migration.
* Override this method to perform state update for each different widget.
* @param intent The Intent object that contains infos of required widget states, the infos are in intent.extras.widgetStates e.g. {"state1":value1,"state2":value2}.
* The object might contain appStates as well if there is any application state, get it in intent.extras.appStates e.g. {"appstate1":value1,"appstate2":value2}.
@@ -210,7 +213,7 @@ DUIClient = function(){
console.log(appStates);
console.log("update the widget state, widget need to overwrite it");
};
-
+
/**
* The function is called to finish the Migration and update the widget state.
* Compared to the method DUIClient.updateState(), this method is a special widget state update for the widget that has just migrated.
@@ -227,10 +230,10 @@ DUIClient = function(){
console.log(appStates);
console.log("the migration is done, the widget may need to perform special inits before update the widget state e.g. login to the lasServer again.");
};
-
+
/**
* The function to signal the dui manager that the preparation for the migration is ready on this widget.
- * This function should be called at the end of the overwritten function {@link DUIClient#prepareMigration}
+ * This function should be called at the end of the overwritten function {@link DUIClient#prepareMigration}
* Do not override this method unless there is really an unstoppable reason.
*/
this.prepareMigDone = function(){
@@ -263,7 +266,7 @@ DUIClient = function(){
};
_iwcClient.publish(intent);
};
-
+
/**
* An open interface to send any intent
*/
@@ -271,7 +274,7 @@ DUIClient = function(){
//or to send the intent to "duimanager"
_iwcClient.publish(intent);
};
-
+
/**
* This function asks the framework for the states stored on the server.
* Do not override it.
@@ -287,7 +290,7 @@ DUIClient = function(){
};
_iwcClient.publish(intent);
};
-
+
/**
* Store the global app state
* @param states the app state to be stored e.g. {"state1":value1, "state2":value2}
@@ -303,7 +306,7 @@ DUIClient = function(){
};
_iwcClient.publish(intent);
};
-
+
/**
* Ask the dui manager for the app state.
*/
@@ -317,15 +320,15 @@ DUIClient = function(){
};
_iwcClient.publish(intent);
};
-
+
/**
* Override this function to do something when the requested app state comes.
* @param appStates the json format of the app state:{"name1": value1, "name2": value2};
*/
this.onAppState = function(appStates){};
-
+
/**
- * call this function to register the duiclient to duimanager after all things are OK
+ * call this function to register the duiclient to duimanager after all things are OK
*/
this.initOK = function(){
var okIntent = {
@@ -334,12 +337,12 @@ DUIClient = function(){
"component": "duimanager",// the overwritten dui manager from the iwc.Proxy should have the _componentName set to "duimanager"
"data":"",
"dataType":"",
- "extras":{"widgetId": _widgetId}
+ "extras":{"widgetId": _widgetId}
};
-
+
_iwcClient.publish(okIntent);
};
-
+
/**
* publish the intent in the domain of the user only
*/
@@ -355,7 +358,7 @@ DUIClient = function(){
_iwcClient.publish(intent);
_iwcClient.publish(wrap);
};
-
+
/**
* register the call back function of the widget to the DUI client.
*/
diff --git a/dest/browser/Yatta_test.js b/dest/browser/Yatta_test.js
index c107b8c5..35ca0fe5 100644
--- a/dest/browser/Yatta_test.js
+++ b/dest/browser/Yatta_test.js
@@ -409,8 +409,8 @@ module.exports = function(HB) {
parser = {};
execution_listener = [];
Operation = (function() {
- function Operation(_arg) {
- this.creator = _arg['creator'], this.op_number = _arg['op_number'];
+ function Operation(uid) {
+ this.creator = uid['creator'], this.op_number = uid['op_number'];
}
Operation.prototype.getUid = function() {
@@ -495,9 +495,9 @@ module.exports = function(HB) {
return Delete;
})(Operation);
- parser['Delete'] = function(_arg) {
+ parser['Delete'] = function(o) {
var deletes_uid, uid;
- uid = _arg['uid'], deletes_uid = _arg['deletes'];
+ uid = o['uid'], deletes_uid = o['deletes'];
return new Delete(uid, deletes_uid);
};
Insert = (function(_super) {
@@ -716,14 +716,13 @@ module.exports = function(HB) {
if (typeof content === 'string') {
word = HB.addOperation(new types.Word(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, word);
- return content;
} else if (typeof content === 'object') {
json = HB.addOperation(JsonType(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, json);
- return content;
} else {
throw new Error("You must not set " + (typeof content) + "-types in collaborative Json-objects!");
}
+ return this;
} else {
return JsonType.__super__.val.call(this, name, content);
}
@@ -13200,156 +13199,142 @@ Yatta = require("../lib/Frameworks/JsonYatta.coffee");
Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
-describe("JsonYatta", function() {
- beforeEach(function(done) {
- var i, _i, _ref;
- this.last_user = 10;
- this.users = [];
- this.Connector = Connector_uninitialized(this.users);
- for (i = _i = 0, _ref = this.last_user + 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
- this.users.push(new Yatta(i, this.Connector));
- }
- return done();
- });
- return it("can handle many engines, many operations, concurrently (random)", function() {
- var Connector, applyRandomOp, doSomething, doSomething_amount, found_error, generateDeleteOp, generateInsertOp, generateRandomOp, generateReplaceOp, i, j, number_of_created_operations, number_of_engines, number_of_test_cases_multiplier, ops, ops_per_msek, printOpsInExecutionOrder, repeat_this, time_now, times, u, user, user_number, users, _i, _j, _k, _l, _len, _m, _ref, _results;
- number_of_test_cases_multiplier = 1;
- repeat_this = 1 * number_of_test_cases_multiplier;
- doSomething_amount = 200 * number_of_test_cases_multiplier;
- number_of_engines = 12 + number_of_test_cases_multiplier - 1;
- this.time = 0;
- this.ops = 0;
- users = [];
- generateInsertOp = function(user_num) {
- var chars, length, nextchar, pos, text;
- chars = "1234567890";
- pos = _.random(0, users[user_num].val('name').length - 1);
- length = 1;
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- users[user_num].val('name').insertText(pos, text);
- return null;
- };
- generateReplaceOp = function(user_num) {
- var chars, length, nextchar, text;
- chars = "abcdefghijklmnopqrstuvwxyz";
- length = _.random(0, 10);
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- return users[user_num].val('name').replaceText(text);
- };
- generateDeleteOp = function(user_num) {
- var length, ops1, pos;
- if (users[user_num].val('name').val().length > 0) {
- pos = _.random(0, users[user_num].val('name').val().length - 1);
- length = 1;
- ops1 = users[user_num].val('name').deleteText(pos, length);
- }
- return void 0;
- };
- generateRandomOp = function(user_num) {
- var i, op, op_gen;
- op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp];
- i = _.random(op_gen.length - 1);
- return op = op_gen[i](user_num);
- };
- applyRandomOp = function(user_num) {
- var user;
- user = users[user_num];
- return user.getConnector().flushOneRandom();
- };
- doSomething = (function() {
- return function() {
- var choice, choices, user_num;
- user_num = _.random(number_of_engines - 1);
- choices = [applyRandomOp, generateRandomOp];
- choice = _.random(choices.length - 1);
- return choices[choice](user_num);
- };
- })();
- console.log("");
- _results = [];
- for (times = _i = 1; 1 <= repeat_this ? _i <= repeat_this : _i >= repeat_this; times = 1 <= repeat_this ? ++_i : --_i) {
- users = [];
- Connector = Connector_uninitialized(users);
- users.push(new Yatta(0, Connector));
- users[0].val('name', "initial");
- for (i = _j = 1; 1 <= number_of_engines ? _j < number_of_engines : _j > number_of_engines; i = 1 <= number_of_engines ? ++_j : --_j) {
- users.push(new Yatta(i, Connector));
- }
- found_error = false;
- time_now = (new Date).getTime();
- for (i = _k = 1; 1 <= doSomething_amount ? _k <= doSomething_amount : _k >= doSomething_amount; i = 1 <= doSomething_amount ? ++_k : --_k) {
- doSomething();
- }
- for (user_number = _l = 0, _len = users.length; _l < _len; user_number = ++_l) {
- user = users[user_number];
- user.getConnector().flushAll();
- }
- this.time += (new Date()).getTime() - time_now;
- number_of_created_operations = 0;
- for (i = _m = 0, _ref = users.length; 0 <= _ref ? _m < _ref : _m > _ref; i = 0 <= _ref ? ++_m : --_m) {
- number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length;
- }
- this.ops += number_of_created_operations * users.length;
- ops_per_msek = Math.floor(this.ops / this.time);
- console.log(("" + times + "/" + repeat_this + ": Every collaborator (" + users.length + ") applied " + number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
- console.log(users[0].val('name').val());
- _results.push((function() {
- var _len1, _n, _o, _ref1, _results1;
- _results1 = [];
- for (i = _n = 0, _ref1 = users.length - 1; 0 <= _ref1 ? _n < _ref1 : _n > _ref1; i = 0 <= _ref1 ? ++_n : --_n) {
- if (users[i].val('name').val() !== users[i + 1].val('name').val()) {
- printOpsInExecutionOrder = function(otnumber, otherotnumber) {
- var j, o, ops, s, _len1, _len2, _o, _p;
- ops = users[otnumber].getConnector().getOpsInExecutionOrder();
- for (_o = 0, _len1 = ops.length; _o < _len1; _o++) {
- s = ops[_o];
- console.log(JSON.stringify(s));
- }
- console.log("");
- s = "ops = [";
- for (j = _p = 0, _len2 = ops.length; _p < _len2; j = ++_p) {
- o = ops[j];
- if (j !== 0) {
- s += ", ";
- }
- s += "op" + j;
- }
- s += "]";
- console.log(s);
- console.log("@users[@last_user].ot.applyOps ops");
- console.log("expect(@users[@last_user].ot.val('name')).to.equal(\"" + (users[otherotnumber].val('name')) + "\")");
- return ops;
- };
- console.log("");
- console.log("Found an OT Puzzle!");
- console.log("OT states:");
- for (j = _o = 0, _len1 = users.length; _o < _len1; j = ++_o) {
- u = users[j];
- console.log(("OT" + j + ": ") + u.val('name'));
- }
- console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
- printOpsInExecutionOrder(i, i + 1);
- console.log("");
- ops = printOpsInExecutionOrder(i + 1, i);
- _results1.push(console.log(""));
- } else {
- _results1.push(void 0);
- }
- }
- return _results1;
- })());
- }
- return _results;
- });
-});
+
+/*
+describe "JsonYatta", ->
+ beforeEach (done)->
+ @last_user = 10
+ @users = []
+ @Connector = Connector_uninitialized @users
+ for i in [0..(@last_user+1)]
+ @users.push(new Yatta i, @Connector)
+
+
+ done()
+
+ it "can handle many engines, many operations, concurrently (random)", ->
+ number_of_test_cases_multiplier = 1
+ repeat_this = 100 * number_of_test_cases_multiplier
+ doSomething_amount = 200 * number_of_test_cases_multiplier
+ number_of_engines = 12 + number_of_test_cases_multiplier - 1
+
+ @time = 0
+ @ops = 0
+
+ users = []
+
+ generateInsertOp = (user_num)->
+ chars = "1234567890"
+
+ pos = _.random 0, (users[user_num].val('name').length-1)
+ length = 1 #_.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+
+ users[user_num].val('name').insertText pos, text
+ null
+
+ generateReplaceOp = (user_num)->
+ chars = "abcdefghijklmnopqrstuvwxyz"
+ length = _.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+ users[user_num].val('name').replaceText text
+
+ generateDeleteOp = (user_num)->
+ if users[user_num].val('name').val().length > 0
+ pos = _.random 0, (users[user_num].val('name').val().length-1)
+ length = 1 # _.random 0, ot.val('name').length - pos
+ ops1 = users[user_num].val('name').deleteText pos, length
+ undefined
+
+ generateRandomOp = (user_num)->
+ op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp]
+ i = _.random (op_gen.length - 1)
+ op = op_gen[i](user_num)
+
+ applyRandomOp = (user_num)->
+ user = users[user_num]
+ user.getConnector().flushOneRandom()
+
+ doSomething = do ()->
+ ()->
+ user_num = _.random (number_of_engines-1)
+ choices = [applyRandomOp, generateRandomOp]
+ *if (users[user_num].buffer[user_num].length < maximum_ops_per_engine)
+ * choices = choices.concat generateRandomOp
+
+ choice = _.random (choices.length-1)
+
+ choices[choice](user_num)
+
+ console.log ""
+ for times in [1..repeat_this]
+ *console.log "repeated_this x #{times} times"
+ users = []
+ Connector = Connector_uninitialized users
+ users.push(new Yatta 0, Connector)
+ users[0].val('name',"initial")
+ for i in [1...number_of_engines]
+ users.push(new Yatta i, Connector)
+
+ found_error = false
+
+ *try
+ time_now = (new Date).getTime()
+ for i in [1..doSomething_amount]
+ doSomething()
+
+ for user,user_number in users
+ user.getConnector().flushAll()
+
+ @time += (new Date()).getTime() - time_now
+
+ number_of_created_operations = 0
+ for i in [0...(users.length)]
+ number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length
+ @ops += number_of_created_operations*users.length
+
+ ops_per_msek = Math.floor(@ops/@time)
+ console.log "#{times}/#{repeat_this}: Every collaborator (#{users.length}) applied #{number_of_created_operations} ops in a different order." + " Over all we consumed #{@ops} operations in #{@time/1000} seconds (#{ops_per_msek} ops/msek)."
+
+ console.log users[0].val('name').val()
+ for i in [0...(users.length-1)]
+ if ((users[i].val('name').val() isnt users[i+1].val('name').val()) )# and (number_of_created_operations <= 6 or true)) or found_error
+
+ printOpsInExecutionOrder = (otnumber, otherotnumber)->
+ ops = users[otnumber].getConnector().getOpsInExecutionOrder()
+ for s in ops
+ console.log JSON.stringify s
+ console.log ""
+ s = "ops = ["
+ for o,j in ops
+ if j isnt 0
+ s += ", "
+ s += "op#{j}"
+ s += "]"
+ console.log s
+ console.log "@users[@last_user].ot.applyOps ops"
+ console.log "expect(@users[@last_user].ot.val('name')).to.equal(\"#{users[otherotnumber].val('name')}\")"
+ ops
+ console.log ""
+ console.log "Found an OT Puzzle!"
+ console.log "OT states:"
+ for u,j in users
+ console.log "OT#{j}: "+u.val('name')
+ console.log "\nOT execution order (#{i},#{i+1}):"
+ printOpsInExecutionOrder i, i+1
+ console.log ""
+ ops = printOpsInExecutionOrder i+1, i
+
+ console.log ""
+ */
},{"../lib/Connectors/TestConnector.coffee":1,"../lib/Frameworks/JsonYatta.coffee":3,"chai":17,"sinon":50,"sinon-chai":49,"underscore":65}],67:[function(require,module,exports){
@@ -13373,155 +13358,343 @@ Yatta = require("../lib/Frameworks/TextYatta.coffee");
Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
-describe("TextYatta", function() {
- beforeEach(function(done) {
- var i, _i, _ref;
- this.last_user = 10;
- this.users = [];
- this.Connector = Connector_uninitialized(this.users);
- for (i = _i = 0, _ref = this.last_user + 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
- this.users.push(new Yatta(i, this.Connector));
- }
- return done();
- });
- it("handles inserts correctly", function() {});
- return it("can handle many engines, many operations, concurrently (random)", function() {
- var Connector, applyRandomOp, doSomething, doSomething_amount, found_error, found_inconsistency, generateDeleteOp, generateInsertOp, generateRandomOp, generateReplaceOp, i, j, number_of_created_operations, number_of_engines, number_of_test_cases_multiplier, ops, ops_per_msek, printOpsInExecutionOrder, repeat_this, time_now, times, u, user, user_number, users, _i, _j, _k, _l, _len, _len1, _m, _n, _o, _ref, _ref1, _results;
- number_of_test_cases_multiplier = 1;
- repeat_this = 1 * number_of_test_cases_multiplier;
- doSomething_amount = 500 * number_of_test_cases_multiplier;
- number_of_engines = 12 + number_of_test_cases_multiplier - 1;
+
+/*
+describe "TextYatta", ->
+ beforeEach (done)->
+ @last_user = 10
+ @users = []
+ @Connector = Connector_uninitialized @users
+ for i in [0..(@last_user+1)]
+ @users.push(new Yatta i, @Connector)
+ done()
+
+ it "handles inserts correctly", ->
+
+
+ it "can handle many engines, many operations, concurrently (random)", ->
+ number_of_test_cases_multiplier = 1
+ repeat_this = 1 * number_of_test_cases_multiplier
+ doSomething_amount = 500 * number_of_test_cases_multiplier
+ number_of_engines = 12 + number_of_test_cases_multiplier - 1
+ *maximum_ops_per_engine = 20 * number_of_test_cases_multiplier
+
+ @time = 0
+ @ops = 0
+ users = []
+
+ generateInsertOp = (user_num)->
+ chars = "1234567890"
+
+ pos = _.random 0, (users[user_num].val().length-1)
+ length = 1 #_.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+
+ users[user_num].insertText pos, text
+ null
+
+ generateReplaceOp = (user_num)->
+ chars = "abcdefghijklmnopqrstuvwxyz"
+ length = _.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+ users[user_num].replaceText text
+
+ generateDeleteOp = (user_num)->
+ if users[user_num].val().length > 0
+ pos = _.random 0, (users[user_num].val().length-1)
+ length = 1 # _.random 0, ot.val().length - pos
+ ops1 = users[user_num].deleteText pos, length
+ undefined
+
+ generateRandomOp = (user_num)->
+ op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp]
+ i = _.random (op_gen.length - 1)
+ op = op_gen[i](user_num)
+
+ applyRandomOp = (user_num)->
+ user = users[user_num]
+ user.getConnector().flushOneRandom()
+
+ doSomething = do ()->
+ ()->
+ user_num = _.random (number_of_engines-1)
+ choices = [applyRandomOp, generateRandomOp]
+ *if (users[user_num].buffer[user_num].length < maximum_ops_per_engine)
+ * choices = choices.concat generateRandomOp
+
+ choice = _.random (choices.length-1)
+
+ choices[choice](user_num)
+
+ console.log ""
+ for times in [1..repeat_this]
+ *console.log "repeated_this x #{times} times"
+ users = []
+ Connector = Connector_uninitialized users
+ for i in [0..number_of_engines]
+ users.push(new Yatta i, Connector)
+
+ found_error = false
+
+ *try
+ time_now = (new Date).getTime()
+ for i in [1..doSomething_amount]
+ doSomething()
+
+ for user,user_number in users
+ user.getConnector().flushAll()
+
+ @time += (new Date()).getTime() - time_now
+
+ number_of_created_operations = 0
+ for i in [0...(users.length)]
+ number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length
+ @ops += number_of_created_operations*users.length
+
+ ops_per_msek = Math.floor(@ops/@time)
+ console.log "#{times}/#{repeat_this}: Every collaborator (#{users.length}) applied #{number_of_created_operations} ops in a different order." + " Over all we consumed #{@ops} operations in #{@time/1000} seconds (#{ops_per_msek} ops/msek)."
+
+ console.log users[0].val()
+ found_inconsistency = false
+ for i in [0...(users.length-1)]
+ if ((users[i].val() isnt users[i+1].val()) )# and (number_of_created_operations <= 6 or true)) or found_error
+ found_inconsistency =true
+ printOpsInExecutionOrder = (otnumber, otherotnumber)->
+ ops = users[otnumber].getConnector().getOpsInExecutionOrder()
+ for s,j in ops
+ console.log "op#{j} = #{JSON.stringify s}"
+ console.log ""
+ s = "ops = ["
+ for o,j in ops
+ if j isnt 0
+ s += ", "
+ s += "op#{j}"
+ s += "]"
+ console.log s
+ console.log "@users[@last_user].ot.applyOps ops"
+ console.log "expect(@users[@last_user].val()).to.equal(\"#{users[otherotnumber].val()}\")"
+ ops
+ console.log ""
+ console.log "Found an OT Puzzle!"
+ console.log "OT states:"
+ for u,j in users
+ console.log "OT#{j}: "+u.val()
+ console.log "\nOT execution order (#{i},#{i+1}):"
+ printOpsInExecutionOrder i, i+1
+ console.log ""
+ ops = printOpsInExecutionOrder i+1, i
+
+ console.log ""
+ if found_inconsistency
+ throw new Error "dtrn"
+
+ * expect(users[i].ot.val()).to.equal(users[i+1].ot.val())
+ */
+
+
+},{"../lib/Connectors/TestConnector.coffee":1,"../lib/Frameworks/TextYatta.coffee":4,"chai":17,"sinon":50,"sinon-chai":49,"underscore":65}],68:[function(require,module,exports){
+var Connector_uninitialized, Test, Yatta, chai, expect, should, sinon, sinonChai, _,
+ __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
+
+chai = require('chai');
+
+expect = chai.expect;
+
+should = chai.should();
+
+sinon = require('sinon');
+
+sinonChai = require('sinon-chai');
+
+_ = require("underscore");
+
+chai.use(sinonChai);
+
+Yatta = require("../lib/Frameworks/JsonYatta.coffee");
+
+Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
+
+Test = (function() {
+ function Test() {
+ this.applyRandomOp = __bind(this.applyRandomOp, this);
+ this.generateRandomOp = __bind(this.generateRandomOp, this);
+ this.generateDeleteOp = __bind(this.generateDeleteOp, this);
+ this.generateReplaceOp = __bind(this.generateReplaceOp, this);
+ this.generateInsertOp = __bind(this.generateInsertOp, this);
+ this.number_of_test_cases_multiplier = 1;
+ this.repeat_this = 100 * this.number_of_test_cases_multiplier;
+ this.doSomething_amount = 200 * this.number_of_test_cases_multiplier;
+ this.number_of_engines = 12 + this.number_of_test_cases_multiplier - 1;
this.time = 0;
this.ops = 0;
- users = [];
- generateInsertOp = function(user_num) {
- var chars, length, nextchar, pos, text;
- chars = "1234567890";
- pos = _.random(0, users[user_num].val().length - 1);
- length = 1;
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- users[user_num].insertText(pos, text);
- return null;
- };
- generateReplaceOp = function(user_num) {
- var chars, length, nextchar, text;
- chars = "abcdefghijklmnopqrstuvwxyz";
- length = _.random(0, 10);
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- return users[user_num].replaceText(text);
- };
- generateDeleteOp = function(user_num) {
- var length, ops1, pos;
- if (users[user_num].val().length > 0) {
- pos = _.random(0, users[user_num].val().length - 1);
- length = 1;
- ops1 = users[user_num].deleteText(pos, length);
- }
- return void 0;
- };
- generateRandomOp = function(user_num) {
- var i, op, op_gen;
- op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp];
- i = _.random(op_gen.length - 1);
- return op = op_gen[i](user_num);
- };
- applyRandomOp = function(user_num) {
- var user;
- user = users[user_num];
- return user.getConnector().flushOneRandom();
- };
- doSomething = (function() {
- return function() {
- var choice, choices, user_num;
- user_num = _.random(number_of_engines - 1);
- choices = [applyRandomOp, generateRandomOp];
- choice = _.random(choices.length - 1);
- return choices[choice](user_num);
- };
- })();
- console.log("");
+ this.reinitialize();
+ }
+
+ Test.prototype.reinitialize = function() {
+ var i, _i, _ref, _results;
+ this.users = [];
+ this.Connector = Connector_uninitialized(this.users);
+ this.users.push(new Yatta(0, this.Connector));
+ this.users[0].val('name', "initial");
_results = [];
- for (times = _i = 1; 1 <= repeat_this ? _i <= repeat_this : _i >= repeat_this; times = 1 <= repeat_this ? ++_i : --_i) {
- users = [];
- Connector = Connector_uninitialized(users);
- for (i = _j = 0; 0 <= number_of_engines ? _j <= number_of_engines : _j >= number_of_engines; i = 0 <= number_of_engines ? ++_j : --_j) {
- users.push(new Yatta(i, Connector));
- }
- found_error = false;
- time_now = (new Date).getTime();
- for (i = _k = 1; 1 <= doSomething_amount ? _k <= doSomething_amount : _k >= doSomething_amount; i = 1 <= doSomething_amount ? ++_k : --_k) {
- doSomething();
- }
- for (user_number = _l = 0, _len = users.length; _l < _len; user_number = ++_l) {
- user = users[user_number];
- user.getConnector().flushAll();
- }
- this.time += (new Date()).getTime() - time_now;
- number_of_created_operations = 0;
- for (i = _m = 0, _ref = users.length; 0 <= _ref ? _m < _ref : _m > _ref; i = 0 <= _ref ? ++_m : --_m) {
- number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length;
- }
- this.ops += number_of_created_operations * users.length;
- ops_per_msek = Math.floor(this.ops / this.time);
- console.log(("" + times + "/" + repeat_this + ": Every collaborator (" + users.length + ") applied " + number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
- console.log(users[0].val());
- found_inconsistency = false;
- for (i = _n = 0, _ref1 = users.length - 1; 0 <= _ref1 ? _n < _ref1 : _n > _ref1; i = 0 <= _ref1 ? ++_n : --_n) {
- if (users[i].val() !== users[i + 1].val()) {
- found_inconsistency = true;
- printOpsInExecutionOrder = function(otnumber, otherotnumber) {
- var j, o, ops, s, _len1, _len2, _o, _p;
- ops = users[otnumber].getConnector().getOpsInExecutionOrder();
- for (j = _o = 0, _len1 = ops.length; _o < _len1; j = ++_o) {
- s = ops[j];
- console.log("op" + j + " = " + (JSON.stringify(s)));
- }
- console.log("");
- s = "ops = [";
- for (j = _p = 0, _len2 = ops.length; _p < _len2; j = ++_p) {
- o = ops[j];
- if (j !== 0) {
- s += ", ";
- }
- s += "op" + j;
- }
- s += "]";
- console.log(s);
- console.log("@users[@last_user].ot.applyOps ops");
- console.log("expect(@users[@last_user].val()).to.equal(\"" + (users[otherotnumber].val()) + "\")");
- return ops;
- };
- console.log("");
- console.log("Found an OT Puzzle!");
- console.log("OT states:");
- for (j = _o = 0, _len1 = users.length; _o < _len1; j = ++_o) {
- u = users[j];
- console.log(("OT" + j + ": ") + u.val());
- }
- console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
- printOpsInExecutionOrder(i, i + 1);
- console.log("");
- ops = printOpsInExecutionOrder(i + 1, i);
- console.log("");
- }
- }
- if (found_inconsistency) {
- throw new Error("dtrn");
- } else {
- _results.push(void 0);
- }
+ for (i = _i = 1, _ref = this.number_of_engines; 1 <= _ref ? _i < _ref : _i > _ref; i = 1 <= _ref ? ++_i : --_i) {
+ _results.push(this.users.push(new Yatta(i, this.Connector)));
}
return _results;
+ };
+
+ Test.prototype.getRandomText = function() {
+ var chars, length, nextchar, text;
+ chars = "abcdefghijklmnopqrstuvwxyz";
+ length = _.random(0, 10);
+ nextchar = chars[_.random(0, chars.length - 1)];
+ text = "";
+ _(length).times(function() {
+ return text += nextchar;
+ });
+ return text;
+ };
+
+ Test.prototype.generateInsertOp = function(user_num) {
+ var pos;
+ pos = _.random(0, this.users[user_num].val('name').val().length - 1);
+ this.users[user_num].val('name').insertText(pos, this.getRandomText());
+ return null;
+ };
+
+ Test.prototype.generateReplaceOp = function(user_num) {
+ this.users[user_num].val('name').replaceText(this.getRandomText());
+ return null;
+ };
+
+ Test.prototype.generateDeleteOp = function(user_num) {
+ var length, ops1, pos;
+ if (this.users[user_num].val('name').val().length > 0) {
+ pos = _.random(0, this.users[user_num].val('name').val().length - 1);
+ length = 1;
+ ops1 = this.users[user_num].val('name').deleteText(pos, length);
+ }
+ return void 0;
+ };
+
+ Test.prototype.generateRandomOp = function(user_num) {
+ var i, op, op_gen;
+ op_gen = [this.generateDeleteOp, this.generateInsertOp, this.generateReplaceOp];
+ i = _.random(op_gen.length - 1);
+ return op = op_gen[i](user_num);
+ };
+
+ Test.prototype.applyRandomOp = function(user_num) {
+ var user;
+ user = this.users[user_num];
+ return user.getConnector().flushOneRandom();
+ };
+
+ Test.prototype.doSomething = function() {
+ var choice, choices, user_num;
+ user_num = _.random(this.number_of_engines - 1);
+ choices = [this.applyRandomOp, this.generateRandomOp];
+ choice = _.random(choices.length - 1);
+ return choices[choice](user_num);
+ };
+
+ Test.prototype.flushAll = function() {
+ var user, user_number, _i, _len, _ref, _results;
+ _ref = this.users;
+ _results = [];
+ for (user_number = _i = 0, _len = _ref.length; _i < _len; user_number = ++_i) {
+ user = _ref[user_number];
+ _results.push(user.getConnector().flushAll());
+ }
+ return _results;
+ };
+
+ Test.prototype.run = function() {
+ var i, j, number_of_created_operations, ops, ops_per_msek, printOpsInExecutionOrder, time_now, times, u, _i, _j, _k, _ref, _ref1, _ref2, _results;
+ _results = [];
+ for (times = _i = 1, _ref = this.repeat_this; 1 <= _ref ? _i <= _ref : _i >= _ref; times = 1 <= _ref ? ++_i : --_i) {
+ this.reinitialize();
+ time_now = (new Date).getTime();
+ for (i = _j = 1, _ref1 = this.doSomething_amount; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 1 <= _ref1 ? ++_j : --_j) {
+ this.doSomething();
+ }
+ this.flushAll();
+ this.time += (new Date()).getTime() - time_now;
+ number_of_created_operations = 0;
+ for (i = _k = 0, _ref2 = this.users.length; 0 <= _ref2 ? _k < _ref2 : _k > _ref2; i = 0 <= _ref2 ? ++_k : --_k) {
+ number_of_created_operations += this.users[i].getConnector().getOpsInExecutionOrder().length;
+ }
+ this.ops += number_of_created_operations * this.users.length;
+ ops_per_msek = Math.floor(this.ops / this.time);
+ console.log(("" + times + "/" + this.repeat_this + ": Every collaborator (" + this.users.length + ") applied " + this.number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
+ _results.push((function() {
+ var _l, _len, _m, _ref3, _results1;
+ _results1 = [];
+ for (i = _l = 0, _ref3 = this.users.length - 1; 0 <= _ref3 ? _l < _ref3 : _l > _ref3; i = 0 <= _ref3 ? ++_l : --_l) {
+ if (this.users[i].val('name').val() !== this.users[i + 1].val('name').val()) {
+ printOpsInExecutionOrder = function(otnumber, otherotnumber) {
+ var j, o, ops, s, _len, _len1, _m, _n;
+ ops = this.users[otnumber].getConnector().getOpsInExecutionOrder();
+ for (_m = 0, _len = ops.length; _m < _len; _m++) {
+ s = ops[_m];
+ console.log(JSON.stringify(s));
+ }
+ console.log("");
+ s = "ops = [";
+ for (j = _n = 0, _len1 = ops.length; _n < _len1; j = ++_n) {
+ o = ops[j];
+ if (j !== 0) {
+ s += ", ";
+ }
+ s += "op" + j;
+ }
+ s += "]";
+ console.log(s);
+ console.log("@users[@last_user].ot.applyOps ops");
+ console.log("expect(@users[@last_user].ot.val('name')).to.equal(\"" + (users[otherotnumber].val('name')) + "\")");
+ return ops;
+ };
+ console.log("");
+ console.log("Found an OT Puzzle!");
+ console.log("OT states:");
+ for (j = _m = 0, _len = users.length; _m < _len; j = ++_m) {
+ u = users[j];
+ console.log(("OT" + j + ": ") + u.val('name'));
+ }
+ console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
+ printOpsInExecutionOrder(i, i + 1);
+ console.log("");
+ ops = printOpsInExecutionOrder(i + 1, i);
+ _results1.push(console.log(""));
+ } else {
+ _results1.push(void 0);
+ }
+ }
+ return _results1;
+ }).call(this));
+ }
+ return _results;
+ };
+
+ return Test;
+
+})();
+
+describe("JsonYatta", function() {
+ return it("can handle many engines, many operations, concurrently (random)", function() {
+ var yTest;
+ yTest = new Test();
+ return yTest.run();
});
});
-},{"../lib/Connectors/TestConnector.coffee":1,"../lib/Frameworks/TextYatta.coffee":4,"chai":17,"sinon":50,"sinon-chai":49,"underscore":65}]},{},[66,67]);
\ No newline at end of file
+},{"../lib/Connectors/TestConnector.coffee":1,"../lib/Frameworks/JsonYatta.coffee":3,"chai":17,"sinon":50,"sinon-chai":49,"underscore":65}]},{},[66,67,68]);
\ No newline at end of file
diff --git a/dest/lib/lib/Connectors/IwcConnector.js.map b/dest/lib/lib/Connectors/IwcConnector.js.map
index bb39ba37..52f44e93 100644
--- a/dest/lib/lib/Connectors/IwcConnector.js.map
+++ b/dest/lib/lib/Connectors/IwcConnector.js.map
@@ -6,5 +6,5 @@
"IwcConnector.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Connectors/TestConnector.js.map b/dest/lib/lib/Connectors/TestConnector.js.map
index 69b39e9d..02e67f9e 100644
--- a/dest/lib/lib/Connectors/TestConnector.js.map
+++ b/dest/lib/lib/Connectors/TestConnector.js.map
@@ -6,5 +6,5 @@
"TestConnector.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Engine.js.map b/dest/lib/lib/Engine.js.map
index 5a05d27c..5448dc4d 100644
--- a/dest/lib/lib/Engine.js.map
+++ b/dest/lib/lib/Engine.js.map
@@ -6,5 +6,5 @@
"Engine.coffee"
],
"names": [],
- "mappings": "AACA,IAAA,MAAA;;AAAA;AACe,EAAA,gBAAE,EAAF,EAAO,MAAP,GAAA;AACX,IADY,IAAC,CAAA,KAAA,EACb,CAAA;AAAA,IADiB,IAAC,CAAA,SAAA,MAClB,CAAA;AAAA,IAAA,IAAC,CAAA,eAAD,GAAmB,EAAnB,CADW;EAAA,CAAb;;AAAA,mBAGA,cAAA,GAAgB,SAAC,IAAD,GAAA;AACd,QAAA,UAAA;AAAA,IAAA,UAAA,GAAa,IAAC,CAAA,MAAO,CAAA,IAAI,CAAC,IAAL,CAArB,CAAA;AACA,IAAA,IAAG,kBAAH;aACE,UAAA,CAAW,IAAX,EADF;KAAA,MAAA;AAGE,YAAU,IAAA,KAAA,CAAO,0CAAA,GAAyC,IAAI,CAAC,IAA9C,GAAoD,mBAApD,GAAsE,CAAA,IAAI,CAAC,SAAL,CAAe,IAAf,CAAA,CAAtE,GAA2F,GAAlG,CAAV,CAHF;KAFc;EAAA,CAHhB,CAAA;;AAAA,mBAWA,QAAA,GAAU,SAAC,QAAD,GAAA;AACR,QAAA,sCAAA;AAAA,IAAA,GAAA,GAAM,EAAN,CAAA;AACA,SAAA,+CAAA;uBAAA;AACE,MAAA,GAAG,CAAC,IAAJ,CAAS,IAAC,CAAA,cAAD,CAAgB,CAAhB,CAAT,CAAA,CADF;AAAA,KADA;AAGA,SAAA,4CAAA;kBAAA;AACE,MAAA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,CAAjB,CAAA,CADF;AAAA,KAHA;AAKA,SAAA,4CAAA;kBAAA;AACE,MAAA,IAAG,CAAA,CAAK,CAAC,OAAF,CAAA,CAAP;AACE,QAAA,IAAC,CAAA,eAAe,CAAC,IAAjB,CAAsB,CAAtB,CAAA,CADF;OADF;AAAA,KALA;WAQA,IAAC,CAAA,OAAD,CAAA,EATQ;EAAA,CAXV,CAAA;;AAAA,mBAsBA,OAAA,GAAS,SAAA,GAAA;AACP,QAAA,qDAAA;AAAA;WAAM,IAAN,GAAA;AACE,MAAA,UAAA,GAAa,IAAC,CAAA,eAAe,CAAC,MAA9B,CAAA;AAAA,MACA,WAAA,GAAc,EADd,CAAA;AAEA;AAAA,WAAA,2CAAA;sBAAA;AACE,QAAA,IAAG,CAAA,EAAM,CAAC,OAAH,CAAA,CAAP;AACE,UAAA,WAAW,CAAC,IAAZ,CAAiB,EAAjB,CAAA,CADF;SADF;AAAA,OAFA;AAAA,MAKA,IAAC,CAAA,eAAD,GAAmB,WALnB,CAAA;AAMA,MAAA,IAAG,IAAC,CAAA,eAAe,CAAC,MAAjB,KAA2B,UAA9B;AACE,cADF;OAAA,MAAA;8BAAA;OAPF;IAAA,CAAA;oBADO;EAAA,CAtBT,CAAA;;AAAA,mBAiCA,OAAA,GAAS,SAAC,OAAD,GAAA;AAEP,QAAA,CAAA;AAAA,IAAA,CAAA,GAAI,IAAC,CAAA,cAAD,CAAgB,OAAhB,CAAJ,CAAA;AAAA,IACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,CAAjB,CADA,CAAA;AAEA,IAAA,IAAG,CAAA,CAAK,CAAC,OAAF,CAAA,CAAP;AACE,MAAA,IAAC,CAAA,eAAe,CAAC,IAAjB,CAAsB,CAAtB,CAAA,CADF;KAFA;WAIA,IAAC,CAAA,OAAD,CAAA,EANO;EAAA,CAjCT,CAAA;;gBAAA;;IADF,CAAA;;AAAA,MA6CM,CAAC,OAAP,GAAiB,MA7CjB,CAAA"
+ "mappings": "AAIA,IAAA,MAAA;;AAAA;AACe,EAAA,gBAAE,EAAF,EAAO,MAAP,GAAA;AACX,IADY,IAAC,CAAA,KAAA,EACb,CAAA;AAAA,IADiB,IAAC,CAAA,SAAA,MAClB,CAAA;AAAA,IAAA,IAAC,CAAA,eAAD,GAAmB,EAAnB,CADW;EAAA,CAAb;;AAAA,mBAGA,cAAA,GAAgB,SAAC,IAAD,GAAA;AACd,QAAA,UAAA;AAAA,IAAA,UAAA,GAAa,IAAC,CAAA,MAAO,CAAA,IAAI,CAAC,IAAL,CAArB,CAAA;AACA,IAAA,IAAG,kBAAH;aACE,UAAA,CAAW,IAAX,EADF;KAAA,MAAA;AAGE,YAAU,IAAA,KAAA,CAAO,0CAAA,GAAyC,IAAI,CAAC,IAA9C,GAAoD,mBAApD,GAAsE,CAAA,IAAI,CAAC,SAAL,CAAe,IAAf,CAAA,CAAtE,GAA2F,GAAlG,CAAV,CAHF;KAFc;EAAA,CAHhB,CAAA;;AAAA,mBAUA,QAAA,GAAU,SAAC,QAAD,GAAA;AACR,QAAA,sCAAA;AAAA,IAAA,GAAA,GAAM,EAAN,CAAA;AACA,SAAA,+CAAA;uBAAA;AACE,MAAA,GAAG,CAAC,IAAJ,CAAS,IAAC,CAAA,cAAD,CAAgB,CAAhB,CAAT,CAAA,CADF;AAAA,KADA;AAGA,SAAA,4CAAA;kBAAA;AACE,MAAA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,CAAjB,CAAA,CADF;AAAA,KAHA;AAKA,SAAA,4CAAA;kBAAA;AACE,MAAA,IAAG,CAAA,CAAK,CAAC,OAAF,CAAA,CAAP;AACE,QAAA,IAAC,CAAA,eAAe,CAAC,IAAjB,CAAsB,CAAtB,CAAA,CADF;OADF;AAAA,KALA;WAQA,IAAC,CAAA,OAAD,CAAA,EATQ;EAAA,CAVV,CAAA;;AAAA,mBAqBA,OAAA,GAAS,SAAA,GAAA;AACP,QAAA,qDAAA;AAAA;WAAM,IAAN,GAAA;AACE,MAAA,UAAA,GAAa,IAAC,CAAA,eAAe,CAAC,MAA9B,CAAA;AAAA,MACA,WAAA,GAAc,EADd,CAAA;AAEA;AAAA,WAAA,2CAAA;sBAAA;AACE,QAAA,IAAG,CAAA,EAAM,CAAC,OAAH,CAAA,CAAP;AACE,UAAA,WAAW,CAAC,IAAZ,CAAiB,EAAjB,CAAA,CADF;SADF;AAAA,OAFA;AAAA,MAKA,IAAC,CAAA,eAAD,GAAmB,WALnB,CAAA;AAMA,MAAA,IAAG,IAAC,CAAA,eAAe,CAAC,MAAjB,KAA2B,UAA9B;AACE,cADF;OAAA,MAAA;8BAAA;OAPF;IAAA,CAAA;oBADO;EAAA,CArBT,CAAA;;AAAA,mBAgCA,OAAA,GAAS,SAAC,OAAD,GAAA;AAEP,QAAA,CAAA;AAAA,IAAA,CAAA,GAAI,IAAC,CAAA,cAAD,CAAgB,OAAhB,CAAJ,CAAA;AAAA,IACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,CAAjB,CADA,CAAA;AAEA,IAAA,IAAG,CAAA,CAAK,CAAC,OAAF,CAAA,CAAP;AACE,MAAA,IAAC,CAAA,eAAe,CAAC,IAAjB,CAAsB,CAAtB,CAAA,CADF;KAFA;WAIA,IAAC,CAAA,OAAD,CAAA,EANO;EAAA,CAhCT,CAAA;;gBAAA;;IADF,CAAA;;AAAA,MA4CM,CAAC,OAAP,GAAiB,MA5CjB,CAAA"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Frameworks/JsonYatta.js.map b/dest/lib/lib/Frameworks/JsonYatta.js.map
index 0031273a..c9bbaec4 100644
--- a/dest/lib/lib/Frameworks/JsonYatta.js.map
+++ b/dest/lib/lib/Frameworks/JsonYatta.js.map
@@ -6,5 +6,5 @@
"JsonYatta.coffee"
],
"names": [],
- "mappings": "AACA,IAAA,0DAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,2BAAR,CAA3B,CAAA;;AAAA,aACA,GAAgB,OAAA,CAAQ,yBAAR,CADhB,CAAA;;AAAA,MAEA,GAAS,OAAA,CAAQ,kBAAR,CAFT,CAAA;;AAAA;AAKe,EAAA,mBAAC,OAAD,EAAU,SAAV,GAAA;AACX,QAAA,iCAAA;AAAA,IAAA,IAAC,CAAA,EAAD,GAAU,IAAA,aAAA,CAAc,OAAd,CAAV,CAAA;AAAA,IACA,UAAA,GAAa,wBAAA,CAAyB,IAAC,CAAA,EAA1B,CADb,CAAA;AAAA,IAEA,IAAC,CAAA,MAAD,GAAc,IAAA,MAAA,CAAO,IAAC,CAAA,EAAR,EAAY,UAAU,CAAC,MAAvB,CAFd,CAAA;AAAA,IAGA,IAAC,CAAA,SAAD,GAAiB,IAAA,SAAA,CAAU,IAAC,CAAA,MAAX,EAAmB,IAAC,CAAA,EAApB,EAAwB,UAAU,CAAC,kBAAnC,EAAuD,IAAvD,CAHjB,CAAA;AAAA,IAIA,SAAA,GAAY,IAAC,CAAA,SAAS,CAAC,cAAX,CAAA,CAJZ,CAAA;AAKA,IAAA,IAAO,iBAAP;AACE,MAAA,UAAA,GAAiB,IAAA,UAAU,CAAC,KAAK,CAAC,QAAjB,CAA0B,IAAC,CAAA,EAAE,CAAC,0BAAJ,CAAA,CAA1B,CAAjB,CAAA;AAAA,MACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,UAAjB,CADA,CAAA;AAAA,MAEA,UAAU,CAAC,OAAX,CAAA,CAFA,CAAA;AAAA,MAGA,IAAC,CAAA,YAAD,GAAgB,UAHhB,CADF;KAAA,MAAA;AAME,MAAA,IAAC,CAAA,YAAD,GAAgB,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,SAAjB,CAAhB,CANF;KANW;EAAA,CAAb;;AAAA,sBAcA,cAAA,GAAgB,SAAA,GAAA;WACd,IAAC,CAAA,aADa;EAAA,CAdhB,CAAA;;AAAA,sBAiBA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,OADQ;EAAA,CAjBX,CAAA;;AAAA,sBAoBA,YAAA,GAAc,SAAA,GAAA;WACZ,IAAC,CAAA,UADW;EAAA,CApBd,CAAA;;AAAA,sBAuBA,gBAAA,GAAkB,SAAA,GAAA;WAChB,IAAC,CAAA,GADe;EAAA,CAvBlB,CAAA;;AAAA,sBA0BA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,EAAE,CAAC,SAAJ,CAAA,EADS;EAAA,CA1BX,CAAA;;AAAA,sBA6BA,GAAA,GAAK,SAAC,IAAD,EAAO,OAAP,GAAA;WACH,IAAC,CAAA,YAAY,CAAC,GAAd,CAAkB,IAAlB,EAAwB,OAAxB,EADG;EAAA,CA7BL,CAAA;;mBAAA;;IALF,CAAA;;;EAqCA,MAAM,CAAE,SAAR,GAAoB;CArCpB;;AAAA,MAsCM,CAAC,OAAP,GAAiB,SAtCjB,CAAA"
+ "mappings": "AACA,IAAA,0DAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,2BAAR,CAA3B,CAAA;;AAAA,aACA,GAAgB,OAAA,CAAQ,yBAAR,CADhB,CAAA;;AAAA,MAEA,GAAS,OAAA,CAAQ,kBAAR,CAFT,CAAA;;AAAA;AAQe,EAAA,mBAAC,OAAD,EAAU,SAAV,GAAA;AACX,QAAA,iCAAA;AAAA,IAAA,IAAC,CAAA,EAAD,GAAU,IAAA,aAAA,CAAc,OAAd,CAAV,CAAA;AAAA,IACA,UAAA,GAAa,wBAAA,CAAyB,IAAC,CAAA,EAA1B,CADb,CAAA;AAAA,IAEA,IAAC,CAAA,MAAD,GAAc,IAAA,MAAA,CAAO,IAAC,CAAA,EAAR,EAAY,UAAU,CAAC,MAAvB,CAFd,CAAA;AAAA,IAGA,IAAC,CAAA,SAAD,GAAiB,IAAA,SAAA,CAAU,IAAC,CAAA,MAAX,EAAmB,IAAC,CAAA,EAApB,EAAwB,UAAU,CAAC,kBAAnC,EAAuD,IAAvD,CAHjB,CAAA;AAAA,IAIA,SAAA,GAAY,IAAC,CAAA,SAAS,CAAC,cAAX,CAAA,CAJZ,CAAA;AAKA,IAAA,IAAO,iBAAP;AACE,MAAA,UAAA,GAAiB,IAAA,UAAU,CAAC,KAAK,CAAC,QAAjB,CAA0B,IAAC,CAAA,EAAE,CAAC,0BAAJ,CAAA,CAA1B,CAAjB,CAAA;AAAA,MACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,UAAjB,CADA,CAAA;AAAA,MAEA,UAAU,CAAC,OAAX,CAAA,CAFA,CAAA;AAAA,MAGA,IAAC,CAAA,YAAD,GAAgB,UAHhB,CADF;KAAA,MAAA;AAME,MAAA,IAAC,CAAA,YAAD,GAAgB,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,SAAjB,CAAhB,CANF;KANW;EAAA,CAAb;;AAAA,sBAcA,cAAA,GAAgB,SAAA,GAAA;WACd,IAAC,CAAA,aADa;EAAA,CAdhB,CAAA;;AAAA,sBAiBA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,OADQ;EAAA,CAjBX,CAAA;;AAAA,sBAoBA,YAAA,GAAc,SAAA,GAAA;WACZ,IAAC,CAAA,UADW;EAAA,CApBd,CAAA;;AAAA,sBAuBA,gBAAA,GAAkB,SAAA,GAAA;WAChB,IAAC,CAAA,GADe;EAAA,CAvBlB,CAAA;;AAAA,sBA0BA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,EAAE,CAAC,SAAJ,CAAA,EADS;EAAA,CA1BX,CAAA;;AAAA,sBA6BA,GAAA,GAAK,SAAC,IAAD,EAAO,OAAP,GAAA;WACH,IAAC,CAAA,YAAY,CAAC,GAAd,CAAkB,IAAlB,EAAwB,OAAxB,EADG;EAAA,CA7BL,CAAA;;mBAAA;;IARF,CAAA;;;EAwCA,MAAM,CAAE,SAAR,GAAoB;CAxCpB;;AAAA,MAyCM,CAAC,OAAP,GAAiB,SAzCjB,CAAA"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Frameworks/TextYatta.js.map b/dest/lib/lib/Frameworks/TextYatta.js.map
index 1b8517f2..e893a569 100644
--- a/dest/lib/lib/Frameworks/TextYatta.js.map
+++ b/dest/lib/lib/Frameworks/TextYatta.js.map
@@ -6,5 +6,5 @@
"TextYatta.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "AACA,IAAA,0DAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,2BAAR,CAA3B,CAAA;;AAAA,aACA,GAAgB,OAAA,CAAQ,yBAAR,CADhB,CAAA;;AAAA,MAEA,GAAS,OAAA,CAAQ,kBAAR,CAFT,CAAA;;AAAA;AAQe,EAAA,mBAAC,OAAD,EAAU,SAAV,GAAA;AACX,QAAA,iCAAA;AAAA,IAAA,IAAC,CAAA,EAAD,GAAU,IAAA,aAAA,CAAc,OAAd,CAAV,CAAA;AAAA,IACA,UAAA,GAAa,wBAAA,CAAyB,IAAC,CAAA,EAA1B,CADb,CAAA;AAAA,IAEA,IAAC,CAAA,MAAD,GAAc,IAAA,MAAA,CAAO,IAAC,CAAA,EAAR,EAAY,UAAU,CAAC,MAAvB,CAFd,CAAA;AAAA,IAGA,IAAC,CAAA,SAAD,GAAiB,IAAA,SAAA,CAAU,IAAC,CAAA,MAAX,EAAmB,IAAC,CAAA,EAApB,EAAwB,UAAU,CAAC,kBAAnC,CAHjB,CAAA;AAAA,IAIA,SAAA,GAAY,IAAC,CAAA,SAAS,CAAC,cAAX,CAAA,CAJZ,CAAA;AAKA,IAAA,IAAO,iBAAP;AACE,MAAA,UAAA,GAAiB,IAAA,UAAU,CAAC,KAAK,CAAC,IAAjB,CAAsB,IAAC,CAAA,EAAE,CAAC,0BAAJ,CAAA,CAAtB,CAAjB,CAAA;AAAA,MACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,UAAjB,CADA,CAAA;AAAA,MAEA,UAAU,CAAC,OAAX,CAAA,CAFA,CAAA;AAAA,MAGA,IAAC,CAAA,YAAD,GAAgB,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAqB,IAAA,UAAU,CAAC,KAAK,CAAC,cAAjB,CAAgC,UAAhC,EAA4C,IAAC,CAAA,EAAE,CAAC,0BAAJ,CAAA,CAA5C,CAArB,CAAkG,CAAC,OAAnG,CAAA,CAHhB,CADF;KAAA,MAAA;AAME,MAAA,IAAC,CAAA,YAAD,GAAgB,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,SAAjB,CAAhB,CANF;KANW;EAAA,CAAb;;AAAA,sBAcA,cAAA,GAAgB,SAAA,GAAA;WACd,IAAC,CAAA,aADa;EAAA,CAdhB,CAAA;;AAAA,sBAiBA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,OADQ;EAAA,CAjBX,CAAA;;AAAA,sBAoBA,YAAA,GAAc,SAAA,GAAA;WACZ,IAAC,CAAA,UADW;EAAA,CApBd,CAAA;;AAAA,sBAuBA,gBAAA,GAAkB,SAAA,GAAA;WAChB,IAAC,CAAA,GADe;EAAA,CAvBlB,CAAA;;AAAA,sBA0BA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,EAAE,CAAC,SAAJ,CAAA,EADS;EAAA,CA1BX,CAAA;;AAAA,sBA6BA,GAAA,GAAK,SAAA,GAAA;WACH,IAAC,CAAA,YAAY,CAAC,GAAd,CAAA,CAAmB,CAAC,GAApB,CAAA,EADG;EAAA,CA7BL,CAAA;;AAAA,sBAgCA,UAAA,GAAY,SAAC,GAAD,EAAM,OAAN,GAAA;WACV,IAAC,CAAA,YAAY,CAAC,GAAd,CAAA,CAAmB,CAAC,UAApB,CAA+B,GAA/B,EAAoC,OAApC,EADU;EAAA,CAhCZ,CAAA;;AAAA,sBAmCA,UAAA,GAAY,SAAC,GAAD,EAAM,MAAN,GAAA;WACV,IAAC,CAAA,YAAY,CAAC,GAAd,CAAA,CAAmB,CAAC,UAApB,CAA+B,GAA/B,EAAoC,MAApC,EADU;EAAA,CAnCZ,CAAA;;AAAA,sBAsCA,WAAA,GAAa,SAAC,IAAD,GAAA;WACX,IAAC,CAAA,YAAY,CAAC,GAAd,CAAA,CAAmB,CAAC,WAApB,CAAgC,IAAhC,EADW;EAAA,CAtCb,CAAA;;mBAAA;;IARF,CAAA;;AAAA,MAkDM,CAAC,OAAP,GAAiB,SAlDjB,CAAA"
}
\ No newline at end of file
diff --git a/dest/lib/lib/HistoryBuffer.js.map b/dest/lib/lib/HistoryBuffer.js.map
index 72229cfe..3f763df5 100644
--- a/dest/lib/lib/HistoryBuffer.js.map
+++ b/dest/lib/lib/HistoryBuffer.js.map
@@ -6,5 +6,5 @@
"HistoryBuffer.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Types/BasicTypes.js b/dest/lib/lib/Types/BasicTypes.js
index 2835ec2b..bb006adb 100644
--- a/dest/lib/lib/Types/BasicTypes.js
+++ b/dest/lib/lib/Types/BasicTypes.js
@@ -6,8 +6,8 @@ module.exports = function(HB) {
parser = {};
execution_listener = [];
Operation = (function() {
- function Operation(_arg) {
- this.creator = _arg['creator'], this.op_number = _arg['op_number'];
+ function Operation(uid) {
+ this.creator = uid['creator'], this.op_number = uid['op_number'];
}
Operation.prototype.getUid = function() {
@@ -92,9 +92,9 @@ module.exports = function(HB) {
return Delete;
})(Operation);
- parser['Delete'] = function(_arg) {
+ parser['Delete'] = function(o) {
var deletes_uid, uid;
- uid = _arg['uid'], deletes_uid = _arg['deletes'];
+ uid = o['uid'], deletes_uid = o['deletes'];
return new Delete(uid, deletes_uid);
};
Insert = (function(_super) {
diff --git a/dest/lib/lib/Types/BasicTypes.js.map b/dest/lib/lib/Types/BasicTypes.js.map
index 642d33a8..27ee1b05 100644
--- a/dest/lib/lib/Types/BasicTypes.js.map
+++ b/dest/lib/lib/Types/BasicTypes.js.map
@@ -6,5 +6,5 @@
"BasicTypes.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Types/JsonTypes.js b/dest/lib/lib/Types/JsonTypes.js
index a71a3827..586d0018 100644
--- a/dest/lib/lib/Types/JsonTypes.js
+++ b/dest/lib/lib/Types/JsonTypes.js
@@ -32,14 +32,13 @@ module.exports = function(HB) {
if (typeof content === 'string') {
word = HB.addOperation(new types.Word(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, word);
- return content;
} else if (typeof content === 'object') {
json = HB.addOperation(JsonType(HB.getNextOperationIdentifier(), content)).execute();
JsonType.__super__.val.call(this, name, json);
- return content;
} else {
throw new Error("You must not set " + (typeof content) + "-types in collaborative Json-objects!");
}
+ return this;
} else {
return JsonType.__super__.val.call(this, name, content);
}
diff --git a/dest/lib/lib/Types/JsonTypes.js.map b/dest/lib/lib/Types/JsonTypes.js.map
index aa38c378..825193f9 100644
--- a/dest/lib/lib/Types/JsonTypes.js.map
+++ b/dest/lib/lib/Types/JsonTypes.js.map
@@ -6,5 +6,5 @@
"JsonTypes.coffee"
],
"names": [],
- "mappings": "AAAA,IAAA,wBAAA;EAAA;iSAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,oBAAR,CAA3B,CAAA;;AAAA,MAEM,CAAC,OAAP,GAAiB,SAAC,EAAD,GAAA;AACf,MAAA,mCAAA;AAAA,EAAA,UAAA,GAAa,wBAAA,CAAyB,EAAzB,CAAb,CAAA;AAAA,EACA,KAAA,GAAQ,UAAU,CAAC,KADnB,CAAA;AAAA,EAEA,MAAA,GAAS,UAAU,CAAC,MAFpB,CAAA;AAAA,EAIM;AACJ,+BAAA,CAAA;;AAAa,IAAA,kBAAC,GAAD,EAAM,aAAN,GAAA;AACX,UAAA,OAAA;AAAA,MAAA,0CAAM,GAAN,CAAA,CAAA;AACA,MAAA,IAAG,qBAAH;AACE,QAAA,IAAG,MAAA,CAAA,aAAA,KAA0B,QAA7B;AACE,gBAAU,IAAA,KAAA,CAAO,wEAAA,GAAuE,CAAA,MAAA,CAAA,aAAA,CAAvE,GAA6F,GAApG,CAAV,CADF;SAAA;AAEA,aAAA,qBAAA;kCAAA;AACE,UAAA,IAAC,CAAA,GAAD,CAAK,IAAL,EAAW,CAAX,CAAA,CADF;AAAA,SAHF;OAFW;IAAA,CAAb;;AAAA,uBAQA,GAAA,GAAK,SAAC,IAAD,EAAO,OAAP,GAAA;AACH,UAAA,UAAA;AAAA,MAAA,IAAG,cAAA,IAAU,iBAAb;AACE,QAAA,IAAG,MAAA,CAAA,OAAA,KAAkB,QAArB;AACE,UAAA,IAAA,GAAO,EAAE,CAAC,YAAH,CAAoB,IAAA,KAAK,CAAC,IAAN,CAAW,EAAE,CAAC,0BAAH,CAAA,CAAX,EAA4C,OAA5C,CAApB,CAAwE,CAAC,OAAzE,CAAA,CAAP,CAAA;AAAA,UACA,kCAAM,IAAN,EAAY,IAAZ,CADA,CAAA;iBAEA,QAHF;SAAA,MAIK,IAAG,MAAA,CAAA,OAAA,KAAkB,QAArB;AACH,UAAA,IAAA,GAAO,EAAE,CAAC,YAAH,CAAgB,QAAA,CAAS,EAAE,CAAC,0BAAH,CAAA,CAAT,EAA0C,OAA1C,CAAhB,CAAkE,CAAC,OAAnE,CAAA,CAAP,CAAA;AAAA,UACA,kCAAM,IAAN,EAAY,IAAZ,CADA,CAAA;iBAEA,QAHG;SAAA,MAAA;AAKH,gBAAU,IAAA,KAAA,CAAO,mBAAA,GAAkB,CAAA,MAAA,CAAA,OAAA,CAAlB,GAAkC,uCAAzC,CAAV,CALG;SALP;OAAA,MAAA;eAYE,kCAAM,IAAN,EAAY,OAAZ,EAZF;OADG;IAAA,CARL,CAAA;;AAAA,uBAuBA,MAAA,GAAQ,SAAA,GAAA;aACN;AAAA,QACE,MAAA,EAAS,UADX;AAAA,QAEE,KAAA,EAAQ,IAAC,CAAA,MAAD,CAAA,CAFV;QADM;IAAA,CAvBR,CAAA;;oBAAA;;KADqB,KAAK,CAAC,WAJ7B,CAAA;AAAA,EAkCA,MAAO,CAAA,UAAA,CAAP,GAAqB,SAAC,IAAD,GAAA;AACnB,QAAA,GAAA;AAAA,IACU,MACN,KADF,MADF,CAAA;WAGI,IAAA,QAAA,CAAS,GAAT,EAJe;EAAA,CAlCrB,CAAA;AAAA,EAyCA,KAAM,CAAA,UAAA,CAAN,GAAoB,QAzCpB,CAAA;SA2CA,WA5Ce;AAAA,CAFjB,CAAA"
+ "mappings": "AAAA,IAAA,wBAAA;EAAA;iSAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,oBAAR,CAA3B,CAAA;;AAAA,MAEM,CAAC,OAAP,GAAiB,SAAC,EAAD,GAAA;AACf,MAAA,mCAAA;AAAA,EAAA,UAAA,GAAa,wBAAA,CAAyB,EAAzB,CAAb,CAAA;AAAA,EACA,KAAA,GAAQ,UAAU,CAAC,KADnB,CAAA;AAAA,EAEA,MAAA,GAAS,UAAU,CAAC,MAFpB,CAAA;AAAA,EAOM;AACJ,+BAAA,CAAA;;AAAa,IAAA,kBAAC,GAAD,EAAM,aAAN,GAAA;AACX,UAAA,OAAA;AAAA,MAAA,0CAAM,GAAN,CAAA,CAAA;AACA,MAAA,IAAG,qBAAH;AACE,QAAA,IAAG,MAAA,CAAA,aAAA,KAA0B,QAA7B;AACE,gBAAU,IAAA,KAAA,CAAO,wEAAA,GAAuE,CAAA,MAAA,CAAA,aAAA,CAAvE,GAA6F,GAApG,CAAV,CADF;SAAA;AAEA,aAAA,qBAAA;kCAAA;AACE,UAAA,IAAC,CAAA,GAAD,CAAK,IAAL,EAAW,CAAX,CAAA,CADF;AAAA,SAHF;OAFW;IAAA,CAAb;;AAAA,uBAuBA,GAAA,GAAK,SAAC,IAAD,EAAO,OAAP,GAAA;AACH,UAAA,UAAA;AAAA,MAAA,IAAG,cAAA,IAAU,iBAAb;AACE,QAAA,IAAG,MAAA,CAAA,OAAA,KAAkB,QAArB;AACE,UAAA,IAAA,GAAO,EAAE,CAAC,YAAH,CAAoB,IAAA,KAAK,CAAC,IAAN,CAAW,EAAE,CAAC,0BAAH,CAAA,CAAX,EAA4C,OAA5C,CAApB,CAAwE,CAAC,OAAzE,CAAA,CAAP,CAAA;AAAA,UACA,kCAAM,IAAN,EAAY,IAAZ,CADA,CADF;SAAA,MAGK,IAAG,MAAA,CAAA,OAAA,KAAkB,QAArB;AACH,UAAA,IAAA,GAAO,EAAE,CAAC,YAAH,CAAgB,QAAA,CAAS,EAAE,CAAC,0BAAH,CAAA,CAAT,EAA0C,OAA1C,CAAhB,CAAkE,CAAC,OAAnE,CAAA,CAAP,CAAA;AAAA,UACA,kCAAM,IAAN,EAAY,IAAZ,CADA,CADG;SAAA,MAAA;AAIH,gBAAU,IAAA,KAAA,CAAO,mBAAA,GAAkB,CAAA,MAAA,CAAA,OAAA,CAAlB,GAAkC,uCAAzC,CAAV,CAJG;SAHL;eAQA,KATF;OAAA,MAAA;eAWE,kCAAM,IAAN,EAAY,OAAZ,EAXF;OADG;IAAA,CAvBL,CAAA;;AAAA,uBAqCA,MAAA,GAAQ,SAAA,GAAA;aACN;AAAA,QACE,MAAA,EAAS,UADX;AAAA,QAEE,KAAA,EAAQ,IAAC,CAAA,MAAD,CAAA,CAFV;QADM;IAAA,CArCR,CAAA;;oBAAA;;KADqB,KAAK,CAAC,WAP7B,CAAA;AAAA,EAmDA,MAAO,CAAA,UAAA,CAAP,GAAqB,SAAC,IAAD,GAAA;AACnB,QAAA,GAAA;AAAA,IACU,MACN,KADF,MADF,CAAA;WAGI,IAAA,QAAA,CAAS,GAAT,EAJe;EAAA,CAnDrB,CAAA;AAAA,EA0DA,KAAM,CAAA,UAAA,CAAN,GAAoB,QA1DpB,CAAA;SA4DA,WA7De;AAAA,CAFjB,CAAA"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Types/StructuredTypes.js.map b/dest/lib/lib/Types/StructuredTypes.js.map
index 711ef48a..80898716 100644
--- a/dest/lib/lib/Types/StructuredTypes.js.map
+++ b/dest/lib/lib/Types/StructuredTypes.js.map
@@ -6,5 +6,5 @@
"StructuredTypes.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Types/TextTypes.js.map b/dest/lib/lib/Types/TextTypes.js.map
index 832c95a6..fa08c19a 100644
--- a/dest/lib/lib/Types/TextTypes.js.map
+++ b/dest/lib/lib/Types/TextTypes.js.map
@@ -6,5 +6,5 @@
"TextTypes.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/dest/lib/lib/Types/XmlTypes.js.map b/dest/lib/lib/Types/XmlTypes.js.map
index 26fe7563..b2e79ce4 100644
--- a/dest/lib/lib/Types/XmlTypes.js.map
+++ b/dest/lib/lib/Types/XmlTypes.js.map
@@ -6,5 +6,5 @@
"XmlTypes.coffee"
],
"names": [],
- "mappings": "AAiJkB"
+ "mappings": "AAqKkB"
}
\ No newline at end of file
diff --git a/dest/test/test/JsonYatta_test.js b/dest/test/test/JsonYatta_test.js
index 51caa96f..ff26ad9e 100644
--- a/dest/test/test/JsonYatta_test.js
+++ b/dest/test/test/JsonYatta_test.js
@@ -19,155 +19,141 @@
Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
- describe("JsonYatta", function() {
- beforeEach(function(done) {
- var i, _i, _ref;
- this.last_user = 10;
- this.users = [];
- this.Connector = Connector_uninitialized(this.users);
- for (i = _i = 0, _ref = this.last_user + 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
- this.users.push(new Yatta(i, this.Connector));
- }
- return done();
- });
- return it("can handle many engines, many operations, concurrently (random)", function() {
- var Connector, applyRandomOp, doSomething, doSomething_amount, found_error, generateDeleteOp, generateInsertOp, generateRandomOp, generateReplaceOp, i, j, number_of_created_operations, number_of_engines, number_of_test_cases_multiplier, ops, ops_per_msek, printOpsInExecutionOrder, repeat_this, time_now, times, u, user, user_number, users, _i, _j, _k, _l, _len, _m, _ref, _results;
- number_of_test_cases_multiplier = 1;
- repeat_this = 1 * number_of_test_cases_multiplier;
- doSomething_amount = 200 * number_of_test_cases_multiplier;
- number_of_engines = 12 + number_of_test_cases_multiplier - 1;
- this.time = 0;
- this.ops = 0;
- users = [];
- generateInsertOp = function(user_num) {
- var chars, length, nextchar, pos, text;
- chars = "1234567890";
- pos = _.random(0, users[user_num].val('name').length - 1);
- length = 1;
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- users[user_num].val('name').insertText(pos, text);
- return null;
- };
- generateReplaceOp = function(user_num) {
- var chars, length, nextchar, text;
- chars = "abcdefghijklmnopqrstuvwxyz";
- length = _.random(0, 10);
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- return users[user_num].val('name').replaceText(text);
- };
- generateDeleteOp = function(user_num) {
- var length, ops1, pos;
- if (users[user_num].val('name').val().length > 0) {
- pos = _.random(0, users[user_num].val('name').val().length - 1);
- length = 1;
- ops1 = users[user_num].val('name').deleteText(pos, length);
- }
- return void 0;
- };
- generateRandomOp = function(user_num) {
- var i, op, op_gen;
- op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp];
- i = _.random(op_gen.length - 1);
- return op = op_gen[i](user_num);
- };
- applyRandomOp = function(user_num) {
- var user;
- user = users[user_num];
- return user.getConnector().flushOneRandom();
- };
- doSomething = (function() {
- return function() {
- var choice, choices, user_num;
- user_num = _.random(number_of_engines - 1);
- choices = [applyRandomOp, generateRandomOp];
- choice = _.random(choices.length - 1);
- return choices[choice](user_num);
- };
- })();
- console.log("");
- _results = [];
- for (times = _i = 1; 1 <= repeat_this ? _i <= repeat_this : _i >= repeat_this; times = 1 <= repeat_this ? ++_i : --_i) {
- users = [];
- Connector = Connector_uninitialized(users);
- users.push(new Yatta(0, Connector));
- users[0].val('name', "initial");
- for (i = _j = 1; 1 <= number_of_engines ? _j < number_of_engines : _j > number_of_engines; i = 1 <= number_of_engines ? ++_j : --_j) {
- users.push(new Yatta(i, Connector));
- }
- found_error = false;
- time_now = (new Date).getTime();
- for (i = _k = 1; 1 <= doSomething_amount ? _k <= doSomething_amount : _k >= doSomething_amount; i = 1 <= doSomething_amount ? ++_k : --_k) {
- doSomething();
- }
- for (user_number = _l = 0, _len = users.length; _l < _len; user_number = ++_l) {
- user = users[user_number];
- user.getConnector().flushAll();
- }
- this.time += (new Date()).getTime() - time_now;
- number_of_created_operations = 0;
- for (i = _m = 0, _ref = users.length; 0 <= _ref ? _m < _ref : _m > _ref; i = 0 <= _ref ? ++_m : --_m) {
- number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length;
- }
- this.ops += number_of_created_operations * users.length;
- ops_per_msek = Math.floor(this.ops / this.time);
- console.log(("" + times + "/" + repeat_this + ": Every collaborator (" + users.length + ") applied " + number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
- console.log(users[0].val('name').val());
- _results.push((function() {
- var _len1, _n, _o, _ref1, _results1;
- _results1 = [];
- for (i = _n = 0, _ref1 = users.length - 1; 0 <= _ref1 ? _n < _ref1 : _n > _ref1; i = 0 <= _ref1 ? ++_n : --_n) {
- if (users[i].val('name').val() !== users[i + 1].val('name').val()) {
- printOpsInExecutionOrder = function(otnumber, otherotnumber) {
- var j, o, ops, s, _len1, _len2, _o, _p;
- ops = users[otnumber].getConnector().getOpsInExecutionOrder();
- for (_o = 0, _len1 = ops.length; _o < _len1; _o++) {
- s = ops[_o];
- console.log(JSON.stringify(s));
- }
- console.log("");
- s = "ops = [";
- for (j = _p = 0, _len2 = ops.length; _p < _len2; j = ++_p) {
- o = ops[j];
- if (j !== 0) {
- s += ", ";
- }
- s += "op" + j;
- }
- s += "]";
- console.log(s);
- console.log("@users[@last_user].ot.applyOps ops");
- console.log("expect(@users[@last_user].ot.val('name')).to.equal(\"" + (users[otherotnumber].val('name')) + "\")");
- return ops;
- };
- console.log("");
- console.log("Found an OT Puzzle!");
- console.log("OT states:");
- for (j = _o = 0, _len1 = users.length; _o < _len1; j = ++_o) {
- u = users[j];
- console.log(("OT" + j + ": ") + u.val('name'));
- }
- console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
- printOpsInExecutionOrder(i, i + 1);
- console.log("");
- ops = printOpsInExecutionOrder(i + 1, i);
- _results1.push(console.log(""));
- } else {
- _results1.push(void 0);
- }
- }
- return _results1;
- })());
- }
- return _results;
- });
- });
+
+ /*
+ describe "JsonYatta", ->
+ beforeEach (done)->
+ @last_user = 10
+ @users = []
+ @Connector = Connector_uninitialized @users
+ for i in [0..(@last_user+1)]
+ @users.push(new Yatta i, @Connector)
+
+
+ done()
+
+ it "can handle many engines, many operations, concurrently (random)", ->
+ number_of_test_cases_multiplier = 1
+ repeat_this = 100 * number_of_test_cases_multiplier
+ doSomething_amount = 200 * number_of_test_cases_multiplier
+ number_of_engines = 12 + number_of_test_cases_multiplier - 1
+
+ @time = 0
+ @ops = 0
+
+ users = []
+
+ generateInsertOp = (user_num)->
+ chars = "1234567890"
+
+ pos = _.random 0, (users[user_num].val('name').length-1)
+ length = 1 #_.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+
+ users[user_num].val('name').insertText pos, text
+ null
+
+ generateReplaceOp = (user_num)->
+ chars = "abcdefghijklmnopqrstuvwxyz"
+ length = _.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+ users[user_num].val('name').replaceText text
+
+ generateDeleteOp = (user_num)->
+ if users[user_num].val('name').val().length > 0
+ pos = _.random 0, (users[user_num].val('name').val().length-1)
+ length = 1 # _.random 0, ot.val('name').length - pos
+ ops1 = users[user_num].val('name').deleteText pos, length
+ undefined
+
+ generateRandomOp = (user_num)->
+ op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp]
+ i = _.random (op_gen.length - 1)
+ op = op_gen[i](user_num)
+
+ applyRandomOp = (user_num)->
+ user = users[user_num]
+ user.getConnector().flushOneRandom()
+
+ doSomething = do ()->
+ ()->
+ user_num = _.random (number_of_engines-1)
+ choices = [applyRandomOp, generateRandomOp]
+ *if (users[user_num].buffer[user_num].length < maximum_ops_per_engine)
+ * choices = choices.concat generateRandomOp
+
+ choice = _.random (choices.length-1)
+
+ choices[choice](user_num)
+
+ console.log ""
+ for times in [1..repeat_this]
+ *console.log "repeated_this x #{times} times"
+ users = []
+ Connector = Connector_uninitialized users
+ users.push(new Yatta 0, Connector)
+ users[0].val('name',"initial")
+ for i in [1...number_of_engines]
+ users.push(new Yatta i, Connector)
+
+ found_error = false
+
+ *try
+ time_now = (new Date).getTime()
+ for i in [1..doSomething_amount]
+ doSomething()
+
+ for user,user_number in users
+ user.getConnector().flushAll()
+
+ @time += (new Date()).getTime() - time_now
+
+ number_of_created_operations = 0
+ for i in [0...(users.length)]
+ number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length
+ @ops += number_of_created_operations*users.length
+
+ ops_per_msek = Math.floor(@ops/@time)
+ console.log "#{times}/#{repeat_this}: Every collaborator (#{users.length}) applied #{number_of_created_operations} ops in a different order." + " Over all we consumed #{@ops} operations in #{@time/1000} seconds (#{ops_per_msek} ops/msek)."
+
+ console.log users[0].val('name').val()
+ for i in [0...(users.length-1)]
+ if ((users[i].val('name').val() isnt users[i+1].val('name').val()) )# and (number_of_created_operations <= 6 or true)) or found_error
+
+ printOpsInExecutionOrder = (otnumber, otherotnumber)->
+ ops = users[otnumber].getConnector().getOpsInExecutionOrder()
+ for s in ops
+ console.log JSON.stringify s
+ console.log ""
+ s = "ops = ["
+ for o,j in ops
+ if j isnt 0
+ s += ", "
+ s += "op#{j}"
+ s += "]"
+ console.log s
+ console.log "@users[@last_user].ot.applyOps ops"
+ console.log "expect(@users[@last_user].ot.val('name')).to.equal(\"#{users[otherotnumber].val('name')}\")"
+ ops
+ console.log ""
+ console.log "Found an OT Puzzle!"
+ console.log "OT states:"
+ for u,j in users
+ console.log "OT#{j}: "+u.val('name')
+ console.log "\nOT execution order (#{i},#{i+1}):"
+ printOpsInExecutionOrder i, i+1
+ console.log ""
+ ops = printOpsInExecutionOrder i+1, i
+
+ console.log ""
+ */
}).call(this);
diff --git a/dest/test/test/TextYatta_test.js b/dest/test/test/TextYatta_test.js
index 167e0ad9..1803bab4 100644
--- a/dest/test/test/TextYatta_test.js
+++ b/dest/test/test/TextYatta_test.js
@@ -19,154 +19,145 @@
Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
- describe("TextYatta", function() {
- beforeEach(function(done) {
- var i, _i, _ref;
- this.last_user = 10;
- this.users = [];
- this.Connector = Connector_uninitialized(this.users);
- for (i = _i = 0, _ref = this.last_user + 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
- this.users.push(new Yatta(i, this.Connector));
- }
- return done();
- });
- it("handles inserts correctly", function() {});
- return it("can handle many engines, many operations, concurrently (random)", function() {
- var Connector, applyRandomOp, doSomething, doSomething_amount, found_error, found_inconsistency, generateDeleteOp, generateInsertOp, generateRandomOp, generateReplaceOp, i, j, number_of_created_operations, number_of_engines, number_of_test_cases_multiplier, ops, ops_per_msek, printOpsInExecutionOrder, repeat_this, time_now, times, u, user, user_number, users, _i, _j, _k, _l, _len, _len1, _m, _n, _o, _ref, _ref1, _results;
- number_of_test_cases_multiplier = 1;
- repeat_this = 1 * number_of_test_cases_multiplier;
- doSomething_amount = 500 * number_of_test_cases_multiplier;
- number_of_engines = 12 + number_of_test_cases_multiplier - 1;
- this.time = 0;
- this.ops = 0;
- users = [];
- generateInsertOp = function(user_num) {
- var chars, length, nextchar, pos, text;
- chars = "1234567890";
- pos = _.random(0, users[user_num].val().length - 1);
- length = 1;
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- users[user_num].insertText(pos, text);
- return null;
- };
- generateReplaceOp = function(user_num) {
- var chars, length, nextchar, text;
- chars = "abcdefghijklmnopqrstuvwxyz";
- length = _.random(0, 10);
- nextchar = chars[_.random(0, chars.length - 1)];
- text = "";
- _(length).times(function() {
- return text += nextchar;
- });
- return users[user_num].replaceText(text);
- };
- generateDeleteOp = function(user_num) {
- var length, ops1, pos;
- if (users[user_num].val().length > 0) {
- pos = _.random(0, users[user_num].val().length - 1);
- length = 1;
- ops1 = users[user_num].deleteText(pos, length);
- }
- return void 0;
- };
- generateRandomOp = function(user_num) {
- var i, op, op_gen;
- op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp];
- i = _.random(op_gen.length - 1);
- return op = op_gen[i](user_num);
- };
- applyRandomOp = function(user_num) {
- var user;
- user = users[user_num];
- return user.getConnector().flushOneRandom();
- };
- doSomething = (function() {
- return function() {
- var choice, choices, user_num;
- user_num = _.random(number_of_engines - 1);
- choices = [applyRandomOp, generateRandomOp];
- choice = _.random(choices.length - 1);
- return choices[choice](user_num);
- };
- })();
- console.log("");
- _results = [];
- for (times = _i = 1; 1 <= repeat_this ? _i <= repeat_this : _i >= repeat_this; times = 1 <= repeat_this ? ++_i : --_i) {
- users = [];
- Connector = Connector_uninitialized(users);
- for (i = _j = 0; 0 <= number_of_engines ? _j <= number_of_engines : _j >= number_of_engines; i = 0 <= number_of_engines ? ++_j : --_j) {
- users.push(new Yatta(i, Connector));
- }
- found_error = false;
- time_now = (new Date).getTime();
- for (i = _k = 1; 1 <= doSomething_amount ? _k <= doSomething_amount : _k >= doSomething_amount; i = 1 <= doSomething_amount ? ++_k : --_k) {
- doSomething();
- }
- for (user_number = _l = 0, _len = users.length; _l < _len; user_number = ++_l) {
- user = users[user_number];
- user.getConnector().flushAll();
- }
- this.time += (new Date()).getTime() - time_now;
- number_of_created_operations = 0;
- for (i = _m = 0, _ref = users.length; 0 <= _ref ? _m < _ref : _m > _ref; i = 0 <= _ref ? ++_m : --_m) {
- number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length;
- }
- this.ops += number_of_created_operations * users.length;
- ops_per_msek = Math.floor(this.ops / this.time);
- console.log(("" + times + "/" + repeat_this + ": Every collaborator (" + users.length + ") applied " + number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
- console.log(users[0].val());
- found_inconsistency = false;
- for (i = _n = 0, _ref1 = users.length - 1; 0 <= _ref1 ? _n < _ref1 : _n > _ref1; i = 0 <= _ref1 ? ++_n : --_n) {
- if (users[i].val() !== users[i + 1].val()) {
- found_inconsistency = true;
- printOpsInExecutionOrder = function(otnumber, otherotnumber) {
- var j, o, ops, s, _len1, _len2, _o, _p;
- ops = users[otnumber].getConnector().getOpsInExecutionOrder();
- for (j = _o = 0, _len1 = ops.length; _o < _len1; j = ++_o) {
- s = ops[j];
- console.log("op" + j + " = " + (JSON.stringify(s)));
- }
- console.log("");
- s = "ops = [";
- for (j = _p = 0, _len2 = ops.length; _p < _len2; j = ++_p) {
- o = ops[j];
- if (j !== 0) {
- s += ", ";
- }
- s += "op" + j;
- }
- s += "]";
- console.log(s);
- console.log("@users[@last_user].ot.applyOps ops");
- console.log("expect(@users[@last_user].val()).to.equal(\"" + (users[otherotnumber].val()) + "\")");
- return ops;
- };
- console.log("");
- console.log("Found an OT Puzzle!");
- console.log("OT states:");
- for (j = _o = 0, _len1 = users.length; _o < _len1; j = ++_o) {
- u = users[j];
- console.log(("OT" + j + ": ") + u.val());
- }
- console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
- printOpsInExecutionOrder(i, i + 1);
- console.log("");
- ops = printOpsInExecutionOrder(i + 1, i);
- console.log("");
- }
- }
- if (found_inconsistency) {
- throw new Error("dtrn");
- } else {
- _results.push(void 0);
- }
- }
- return _results;
- });
- });
+
+ /*
+ describe "TextYatta", ->
+ beforeEach (done)->
+ @last_user = 10
+ @users = []
+ @Connector = Connector_uninitialized @users
+ for i in [0..(@last_user+1)]
+ @users.push(new Yatta i, @Connector)
+ done()
+
+ it "handles inserts correctly", ->
+
+
+ it "can handle many engines, many operations, concurrently (random)", ->
+ number_of_test_cases_multiplier = 1
+ repeat_this = 1 * number_of_test_cases_multiplier
+ doSomething_amount = 500 * number_of_test_cases_multiplier
+ number_of_engines = 12 + number_of_test_cases_multiplier - 1
+ *maximum_ops_per_engine = 20 * number_of_test_cases_multiplier
+
+ @time = 0
+ @ops = 0
+ users = []
+
+ generateInsertOp = (user_num)->
+ chars = "1234567890"
+
+ pos = _.random 0, (users[user_num].val().length-1)
+ length = 1 #_.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+
+ users[user_num].insertText pos, text
+ null
+
+ generateReplaceOp = (user_num)->
+ chars = "abcdefghijklmnopqrstuvwxyz"
+ length = _.random 0, 10
+
+ nextchar = chars[(_.random 0, (chars.length-1))]
+
+ text = ""
+ _(length).times ()-> text += nextchar
+ users[user_num].replaceText text
+
+ generateDeleteOp = (user_num)->
+ if users[user_num].val().length > 0
+ pos = _.random 0, (users[user_num].val().length-1)
+ length = 1 # _.random 0, ot.val().length - pos
+ ops1 = users[user_num].deleteText pos, length
+ undefined
+
+ generateRandomOp = (user_num)->
+ op_gen = [generateDeleteOp, generateInsertOp, generateReplaceOp]
+ i = _.random (op_gen.length - 1)
+ op = op_gen[i](user_num)
+
+ applyRandomOp = (user_num)->
+ user = users[user_num]
+ user.getConnector().flushOneRandom()
+
+ doSomething = do ()->
+ ()->
+ user_num = _.random (number_of_engines-1)
+ choices = [applyRandomOp, generateRandomOp]
+ *if (users[user_num].buffer[user_num].length < maximum_ops_per_engine)
+ * choices = choices.concat generateRandomOp
+
+ choice = _.random (choices.length-1)
+
+ choices[choice](user_num)
+
+ console.log ""
+ for times in [1..repeat_this]
+ *console.log "repeated_this x #{times} times"
+ users = []
+ Connector = Connector_uninitialized users
+ for i in [0..number_of_engines]
+ users.push(new Yatta i, Connector)
+
+ found_error = false
+
+ *try
+ time_now = (new Date).getTime()
+ for i in [1..doSomething_amount]
+ doSomething()
+
+ for user,user_number in users
+ user.getConnector().flushAll()
+
+ @time += (new Date()).getTime() - time_now
+
+ number_of_created_operations = 0
+ for i in [0...(users.length)]
+ number_of_created_operations += users[i].getConnector().getOpsInExecutionOrder().length
+ @ops += number_of_created_operations*users.length
+
+ ops_per_msek = Math.floor(@ops/@time)
+ console.log "#{times}/#{repeat_this}: Every collaborator (#{users.length}) applied #{number_of_created_operations} ops in a different order." + " Over all we consumed #{@ops} operations in #{@time/1000} seconds (#{ops_per_msek} ops/msek)."
+
+ console.log users[0].val()
+ found_inconsistency = false
+ for i in [0...(users.length-1)]
+ if ((users[i].val() isnt users[i+1].val()) )# and (number_of_created_operations <= 6 or true)) or found_error
+ found_inconsistency =true
+ printOpsInExecutionOrder = (otnumber, otherotnumber)->
+ ops = users[otnumber].getConnector().getOpsInExecutionOrder()
+ for s,j in ops
+ console.log "op#{j} = #{JSON.stringify s}"
+ console.log ""
+ s = "ops = ["
+ for o,j in ops
+ if j isnt 0
+ s += ", "
+ s += "op#{j}"
+ s += "]"
+ console.log s
+ console.log "@users[@last_user].ot.applyOps ops"
+ console.log "expect(@users[@last_user].val()).to.equal(\"#{users[otherotnumber].val()}\")"
+ ops
+ console.log ""
+ console.log "Found an OT Puzzle!"
+ console.log "OT states:"
+ for u,j in users
+ console.log "OT#{j}: "+u.val()
+ console.log "\nOT execution order (#{i},#{i+1}):"
+ printOpsInExecutionOrder i, i+1
+ console.log ""
+ ops = printOpsInExecutionOrder i+1, i
+
+ console.log ""
+ if found_inconsistency
+ throw new Error "dtrn"
+
+ * expect(users[i].ot.val()).to.equal(users[i+1].ot.val())
+ */
}).call(this);
diff --git a/dest/test/test/Yatta_test.js b/dest/test/test/Yatta_test.js
new file mode 100644
index 00000000..372a1d6f
--- /dev/null
+++ b/dest/test/test/Yatta_test.js
@@ -0,0 +1,197 @@
+(function() {
+ var Connector_uninitialized, Test, Yatta, chai, expect, should, sinon, sinonChai, _,
+ __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
+
+ chai = require('chai');
+
+ expect = chai.expect;
+
+ should = chai.should();
+
+ sinon = require('sinon');
+
+ sinonChai = require('sinon-chai');
+
+ _ = require("underscore");
+
+ chai.use(sinonChai);
+
+ Yatta = require("../lib/Frameworks/JsonYatta.coffee");
+
+ Connector_uninitialized = require("../lib/Connectors/TestConnector.coffee");
+
+ Test = (function() {
+ function Test() {
+ this.applyRandomOp = __bind(this.applyRandomOp, this);
+ this.generateRandomOp = __bind(this.generateRandomOp, this);
+ this.generateDeleteOp = __bind(this.generateDeleteOp, this);
+ this.generateReplaceOp = __bind(this.generateReplaceOp, this);
+ this.generateInsertOp = __bind(this.generateInsertOp, this);
+ this.number_of_test_cases_multiplier = 1;
+ this.repeat_this = 100 * this.number_of_test_cases_multiplier;
+ this.doSomething_amount = 200 * this.number_of_test_cases_multiplier;
+ this.number_of_engines = 12 + this.number_of_test_cases_multiplier - 1;
+ this.time = 0;
+ this.ops = 0;
+ this.reinitialize();
+ }
+
+ Test.prototype.reinitialize = function() {
+ var i, _i, _ref, _results;
+ this.users = [];
+ this.Connector = Connector_uninitialized(this.users);
+ this.users.push(new Yatta(0, this.Connector));
+ this.users[0].val('name', "initial");
+ _results = [];
+ for (i = _i = 1, _ref = this.number_of_engines; 1 <= _ref ? _i < _ref : _i > _ref; i = 1 <= _ref ? ++_i : --_i) {
+ _results.push(this.users.push(new Yatta(i, this.Connector)));
+ }
+ return _results;
+ };
+
+ Test.prototype.getRandomText = function() {
+ var chars, length, nextchar, text;
+ chars = "abcdefghijklmnopqrstuvwxyz";
+ length = _.random(0, 10);
+ nextchar = chars[_.random(0, chars.length - 1)];
+ text = "";
+ _(length).times(function() {
+ return text += nextchar;
+ });
+ return text;
+ };
+
+ Test.prototype.generateInsertOp = function(user_num) {
+ var pos;
+ pos = _.random(0, this.users[user_num].val('name').val().length - 1);
+ this.users[user_num].val('name').insertText(pos, this.getRandomText());
+ return null;
+ };
+
+ Test.prototype.generateReplaceOp = function(user_num) {
+ this.users[user_num].val('name').replaceText(this.getRandomText());
+ return null;
+ };
+
+ Test.prototype.generateDeleteOp = function(user_num) {
+ var length, ops1, pos;
+ if (this.users[user_num].val('name').val().length > 0) {
+ pos = _.random(0, this.users[user_num].val('name').val().length - 1);
+ length = 1;
+ ops1 = this.users[user_num].val('name').deleteText(pos, length);
+ }
+ return void 0;
+ };
+
+ Test.prototype.generateRandomOp = function(user_num) {
+ var i, op, op_gen;
+ op_gen = [this.generateDeleteOp, this.generateInsertOp, this.generateReplaceOp];
+ i = _.random(op_gen.length - 1);
+ return op = op_gen[i](user_num);
+ };
+
+ Test.prototype.applyRandomOp = function(user_num) {
+ var user;
+ user = this.users[user_num];
+ return user.getConnector().flushOneRandom();
+ };
+
+ Test.prototype.doSomething = function() {
+ var choice, choices, user_num;
+ user_num = _.random(this.number_of_engines - 1);
+ choices = [this.applyRandomOp, this.generateRandomOp];
+ choice = _.random(choices.length - 1);
+ return choices[choice](user_num);
+ };
+
+ Test.prototype.flushAll = function() {
+ var user, user_number, _i, _len, _ref, _results;
+ _ref = this.users;
+ _results = [];
+ for (user_number = _i = 0, _len = _ref.length; _i < _len; user_number = ++_i) {
+ user = _ref[user_number];
+ _results.push(user.getConnector().flushAll());
+ }
+ return _results;
+ };
+
+ Test.prototype.run = function() {
+ var i, j, number_of_created_operations, ops, ops_per_msek, printOpsInExecutionOrder, time_now, times, u, _i, _j, _k, _ref, _ref1, _ref2, _results;
+ _results = [];
+ for (times = _i = 1, _ref = this.repeat_this; 1 <= _ref ? _i <= _ref : _i >= _ref; times = 1 <= _ref ? ++_i : --_i) {
+ this.reinitialize();
+ time_now = (new Date).getTime();
+ for (i = _j = 1, _ref1 = this.doSomething_amount; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 1 <= _ref1 ? ++_j : --_j) {
+ this.doSomething();
+ }
+ this.flushAll();
+ this.time += (new Date()).getTime() - time_now;
+ number_of_created_operations = 0;
+ for (i = _k = 0, _ref2 = this.users.length; 0 <= _ref2 ? _k < _ref2 : _k > _ref2; i = 0 <= _ref2 ? ++_k : --_k) {
+ number_of_created_operations += this.users[i].getConnector().getOpsInExecutionOrder().length;
+ }
+ this.ops += number_of_created_operations * this.users.length;
+ ops_per_msek = Math.floor(this.ops / this.time);
+ console.log(("" + times + "/" + this.repeat_this + ": Every collaborator (" + this.users.length + ") applied " + this.number_of_created_operations + " ops in a different order.") + (" Over all we consumed " + this.ops + " operations in " + (this.time / 1000) + " seconds (" + ops_per_msek + " ops/msek)."));
+ _results.push((function() {
+ var _l, _len, _m, _ref3, _results1;
+ _results1 = [];
+ for (i = _l = 0, _ref3 = this.users.length - 1; 0 <= _ref3 ? _l < _ref3 : _l > _ref3; i = 0 <= _ref3 ? ++_l : --_l) {
+ if (this.users[i].val('name').val() !== this.users[i + 1].val('name').val()) {
+ printOpsInExecutionOrder = function(otnumber, otherotnumber) {
+ var j, o, ops, s, _len, _len1, _m, _n;
+ ops = this.users[otnumber].getConnector().getOpsInExecutionOrder();
+ for (_m = 0, _len = ops.length; _m < _len; _m++) {
+ s = ops[_m];
+ console.log(JSON.stringify(s));
+ }
+ console.log("");
+ s = "ops = [";
+ for (j = _n = 0, _len1 = ops.length; _n < _len1; j = ++_n) {
+ o = ops[j];
+ if (j !== 0) {
+ s += ", ";
+ }
+ s += "op" + j;
+ }
+ s += "]";
+ console.log(s);
+ console.log("@users[@last_user].ot.applyOps ops");
+ console.log("expect(@users[@last_user].ot.val('name')).to.equal(\"" + (users[otherotnumber].val('name')) + "\")");
+ return ops;
+ };
+ console.log("");
+ console.log("Found an OT Puzzle!");
+ console.log("OT states:");
+ for (j = _m = 0, _len = users.length; _m < _len; j = ++_m) {
+ u = users[j];
+ console.log(("OT" + j + ": ") + u.val('name'));
+ }
+ console.log("\nOT execution order (" + i + "," + (i + 1) + "):");
+ printOpsInExecutionOrder(i, i + 1);
+ console.log("");
+ ops = printOpsInExecutionOrder(i + 1, i);
+ _results1.push(console.log(""));
+ } else {
+ _results1.push(void 0);
+ }
+ }
+ return _results1;
+ }).call(this));
+ }
+ return _results;
+ };
+
+ return Test;
+
+ })();
+
+ describe("JsonYatta", function() {
+ return it("can handle many engines, many operations, concurrently (random)", function() {
+ var yTest;
+ yTest = new Test();
+ return yTest.run();
+ });
+ });
+
+}).call(this);
diff --git a/doc/alphabetical_index.html b/doc/alphabetical_index.html
index ed252263..633c0991 100644
--- a/doc/alphabetical_index.html
+++ b/doc/alphabetical_index.html
@@ -42,6 +42,21 @@
+
@@ -302,7 +322,7 @@
@@ -166,7 +187,11 @@
val()
-
+
+
@returns [Json] A Json object.
+
+
+
@@ -175,7 +200,12 @@
setReplaceManager(op)
-
+
+
In most cases you would embed a Word in a Replaceable, wich is handled by the ReplaceManager in order
+to provide replace functionality.
+
+
+