updated tests...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-11-19 16:34:10 +03:00
parent e25658db0f
commit fe8f969058
2 changed files with 33 additions and 18 deletions

View File

@ -27,6 +27,6 @@
"devDependencies": { "devDependencies": {
"c8": "^7.3.5", "c8": "^7.3.5",
"colors": "^1.4.0", "colors": "^1.4.0",
"ig-test": "^1.4.6" "ig-test": "^1.4.8"
} }
} }

49
test.js
View File

@ -714,13 +714,15 @@ var cases = test.Cases({
var A = assert(object.Mixin('A', { var A = assert(object.Mixin('A', {
a: 'aaa', a: 'aaa',
})) }), 'Mixin("A", ...)')
assert(A.data.a == 'aaa') assert(A.data.a == 'aaa', 'A content')
assert(A.mode == 'proto', 'A mode')
var B = assert(object.Mixin('B', { var B = assert(object.Mixin('B', 'flat', {
b: 'bbb' b: 'bbb'
})) }), 'Mixin("B", "flat", ..)')
assert(B.data.b == 'bbb') assert(B.data.b == 'bbb', 'B content')
assert(B.mode == 'flat', 'B mode')
var C = assert(object.Mixin('C', var C = assert(object.Mixin('C',
A, A,
@ -728,22 +730,35 @@ var cases = test.Cases({
{ {
get c(){ get c(){
return 'ccc' }, return 'ccc' },
})) }), 'Mixin("C", A, B, ...)')
assert(C.data.a == 'aaa') assert(C.data.a == 'aaa', 'C content from A')
assert(C.data.b == 'bbb') assert(C.data.b == 'bbb', 'C content from B')
assert(C.data.c == 'ccc') assert(C.data.c == 'ccc', 'C content local')
var x = assert(C({})) var x = assert(C({}), 'C({})')
assert(x.a == 'aaa') assert(x.a == 'aaa', 'mixin content from C')
assert(x.b == 'bbb') assert(x.b == 'bbb', 'mixin content from C')
assert(x.c == 'ccc') assert(x.c == 'ccc', 'mixin content from C')
var y = assert(C({}, 'flat')) // flat mode...
var y = assert(C('flat', {}), `C("flat", {})`)
assert(y.a == 'aaa') assert(y.a == 'aaa', 'mixin content from C')
assert(y.b == 'bbb') assert(y.b == 'bbb', 'mixin content from C')
assert(y.c == 'ccc') assert(y.c == 'ccc', 'mixin content from C')
// mixout...
assert('a' in x == true, 'pre-mixout content present')
assert('b' in x == true, 'pre-mixout content present')
assert('c' in x == true, 'pre-mixout content present')
assert(C.mixout(x) === x, 'C.mixout(..)')
assert('a' in x == false, 'post-mixout content gone')
assert('b' in x == false, 'post-mixout content gone')
assert('c' in x == false, 'post-mixout content gone')
}, },
}) })