tests are no longer failing :)

This commit is contained in:
DadaMonad
2015-02-23 13:20:39 +00:00
parent 2e9f8f6d03
commit f189ae11b0
21 changed files with 510 additions and 852 deletions

View File

@@ -9,6 +9,8 @@ chai.use(sinonChai)
Connector = require "../../y-test/lib/y-test.coffee"
Y = require "../lib/y.coffee"
Y.Text = require "../lib/Types/Text"
Y.List = require "../lib/Types/List"
compare = (o1, o2)->
if o1._name? and o1._name isnt o2._name
@@ -24,6 +26,10 @@ compare = (o1, o2)->
Test = require "./TestSuite"
class JsonTest extends Test
constructor: (suffix)->
super suffix, Y
makeNewUser: (userId)->
conn = new Connector userId
super new Y conn
@@ -148,19 +154,19 @@ describe "JsonFramework", ->
expect(@yTest.getSomeUser().val("a").val("a").val("q").val()).to.equal("Adtrndtrtdrntdrnrtdnrtdnrtdnrtdnrdnrdt")
it "can handle creaton of complex json (3)", ->
@yTest.users[0].val('l', [1,2,3], "mutable")
@yTest.users[1].val('l', [4,5,6], "mutable")
@yTest.users[0].val('l', new Y.List([1,2,3]))
@yTest.users[1].val('l', new Y.List([4,5,6]))
@yTest.compareAll()
@yTest.users[2].val('l').insert(0,'A')
w = @yTest.users[1].val('l').insert(0,'B', "mutable").val(0)
w = @yTest.users[1].val('l').insert(0,new Y.Text('B')).val(0)
w.insert 1, "C"
expect(w.val()).to.equal("BC")
@yTest.compareAll()
it "handles immutables and primitive data types", ->
@yTest.getSomeUser().val('string', new Y.Text("text"))
@yTest.getSomeUser().val('string', "text")
@yTest.getSomeUser().val('number', 4)
@yTest.getSomeUser().val('object', {q:"rr"})
@yTest.getSomeUser().val('object', new Y.Object({q:"rr"}))
@yTest.getSomeUser().val('null', null)
@yTest.compareAll()
expect(@yTest.getSomeUser().val('string')).to.equal "text"

View File

@@ -7,13 +7,14 @@ _ = require("underscore")
chai.use(sinonChai)
Connector = require "../../y-test/lib/y-test.coffee"
Y = require "../lib/y"
Y = null
module.exports = class Test
constructor: (@name_suffix = "")->
constructor: (@name_suffix = "", Yjs)->
Y = Yjs
@number_of_test_cases_multiplier = 1
@repeat_this = 1 * @number_of_test_cases_multiplier
@doSomething_amount = 1230 * @number_of_test_cases_multiplier
@doSomething_amount = 123 * @number_of_test_cases_multiplier
@number_of_engines = 5 + @number_of_test_cases_multiplier - 1
@time = 0 # denotes to the time when run was started
@@ -94,13 +95,20 @@ module.exports = class Test
throw new Error "implement me!"
compare: (o1, o2)->
if o1._name? and o1._name isnt o2._name
if o1 is o2
true
else if o1._name? and o1._name isnt o2._name
throw new Error "different types"
else if o1._name is "Object"
for name, val of o1.val()
@compare(val, o2.val(name))
else if o1._name?
@compare(o1.val(), o2.val())
else if o1.constructor is Array and o2.constructor is Array
if o1.length isnt o2.length
throw new Error "The Arrays do not have the same size!"
for o,i in o1
@compare o, o2[i]
else if o1 isnt o2
throw new Error "different values"

View File

@@ -8,11 +8,16 @@ _ = require("underscore")
chai.use(sinonChai)
Y = require "../lib/y"
Y.Text = require "../lib/Types/Text"
Connector = require "../../y-test/lib/y-test.coffee"
Test = require "./TestSuite"
class TextTest extends Test
constructor: (suffix)->
super suffix, Y
type: "TextTest"
makeNewUser: (userId)->