Finished support for new connector type

This commit is contained in:
DadaMonad
2014-11-25 15:51:30 +00:00
parent 03925ab32f
commit e1900e8561
170 changed files with 73970 additions and 8705 deletions

View File

@@ -8,7 +8,7 @@ _ = require("underscore")
chai.use(sinonChai)
Y = require "../lib/index"
Connector_uninitialized = require "../lib/Connectors/TestConnector"
Connector = require "../bower_components/connector/lib/test-connector/test-connector.coffee"
Test = require "./TestSuite"
@@ -67,7 +67,7 @@ describe "JsonFramework", ->
@yTest = new JsonTest()
@users = @yTest.users
@test_user = @yTest.makeNewUser 0, (Connector_uninitialized [])
@test_user = @yTest.makeNewUser 0, (new Connector 0, [])
done()
it "can handle many engines, many operations, concurrently (random)", ->

View File

@@ -8,13 +8,13 @@ _ = require("underscore")
chai.use(sinonChai)
Y = require "../lib/index"
Connector_uninitialized = require "../lib/Connectors/TestConnector"
Connector = require "../bower_components/connector/lib/test-connector/test-connector.coffee"
module.exports = class Test
constructor: (@name_suffix = "")->
@number_of_test_cases_multiplier = 1
@repeat_this = 1 * @number_of_test_cases_multiplier
@doSomething_amount = 100 + @number_of_test_cases_multiplier
@doSomething_amount = 400 + @number_of_test_cases_multiplier
@number_of_engines = 5 + @number_of_test_cases_multiplier - 1
@time = 0
@@ -27,9 +27,11 @@ module.exports = class Test
reinitialize: ()->
@users = []
@Connector = Connector_uninitialized @users
for i in [0...@number_of_engines]
u = @makeNewUser (i+@name_suffix), @Connector
connector = new Connector i
if @users.length > 0
connector.join @users[0].connector
u = @makeNewUser (i+@name_suffix), connector
@users.push u
#@users[0].val('name',"i")
@flushAll()
@@ -198,7 +200,7 @@ module.exports = class Test
testHBencoding: ()->
# in case of JsonFramework, every user will create its JSON first! therefore, the testusers id must be small than all the others (see InsertType)
@users[@users.length] = @makeNewUser (-1), (Connector_uninitialized [])
@users[@users.length] = @makeNewUser (-1), (new Connector (-1), [])
@users[@users.length-1].engine.applyOps @users[0].HB._encode()
#if @getContent(@users.length-1) isnt @getContent(0)

View File

@@ -8,7 +8,7 @@ _ = require("underscore")
chai.use(sinonChai)
Y = require "../lib/index"
Connector_uninitialized = require "../lib/Connectors/TestConnector"
Connector = require "../bower_components/connector/lib/test-connector/test-connector.coffee"
Test = require "./TestSuite"
class TextTest extends Test
@@ -29,43 +29,20 @@ describe "TextFramework", ->
@timeout 50000
@yTest = new TextTest()
@users = @yTest.users
@test_user = @yTest.makeNewUser 0, (Connector_uninitialized [])
test_user_connector = new Connector 'test_user'
@test_user = @yTest.makeNewUser 'test_user', test_user_connector
test_user_connector.join @users[0].connector
done()
it "simple multi-char insert", ->
u = @yTest.getSomeUser()
u = @yTest.users[0]
u.insertText 0, "abc"
u = @yTest.users[1]
u.insertText 0, "xyz"
@yTest.compareAll()
expect(u.val()).to.equal("abc")
number_of_concurrent_operations = 100000
it "concurrent against #{number_of_concurrent_operations}", ->
a = @yTest.users[0]
b = @yTest.users[1]
str = ""
for i in [0...number_of_concurrent_operations]
str += "a"
countTime = (name, task)->
start = (new Date()).getTime()
task()
console.log "Time needed to complete task '#{name}': #{(new Date().getTime())-start}"
countTime "insert #{number_of_concurrent_operations} characters", ()->
a.insertText 0, str
b.insertText 0, "b"
b_hb = b.HB._encode()
b.engine.applyOps a.HB._encode()
countTime "transform one operation against #{number_of_concurrent_operations} operations", ()->
a.engine.applyOps b_hb
console.log a.val()
expect(a.val()).to.equal(b.val())
expect(u.val()).to.equal("abcxyz")
it "can handle many engines, many operations, concurrently (random)", ->
@yTest.run()

View File

@@ -11,7 +11,7 @@ require 'coffee-errors'
chai.use(sinonChai)
Y = require "../lib/index"
Connector_uninitialized = require "../lib/Connectors/TestConnector"
Connector = require "../bower_components/connector/lib/test-connector/test-connector.coffee"
Test = require "./TestSuite"
class XmlTest extends Test
@@ -37,7 +37,7 @@ describe "XmlFramework", ->
@users = @yTest.users
###
test_users = []
connector = (Connector_uninitialized test_users)
connector = (new Connector 0, test_users)
@test_user = @yTest.makeNewUser 0, connector
test_users.push @test_user
# test_user_listen listens to the actions of test_user. He will update his dom when he receives from test_user.