1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
local tasty = require 'tasty'
local test = tasty.test_case
local group = tasty.test_group
local assert = tasty.assert
return {
group "TableBody" {
group 'Constructor' {
test('row_head_columns defaults to 0', function ()
local tbl_body = TableBody{}
assert.are_equal(tbl_body.row_head_columns, 0)
end),
test('attr defaults to null Attr', function ()
local tbl_body = TableBody{}
assert.are_equal(tbl_body.attr, Attr())
end),
test('Table constructor', function ()
local old_body = {
attr={ 'tbl-body' },
body={ Row{ Cell('body cell') } },
head={ Row{ Cell('head cell') } },
row_head_columns=1
}
local old_tbl = Table({}, {}, TableHead(), { old_body }, TableFoot())
local new_body = TableBody(
{ Row{ Cell('body cell') } },
{ Row{ Cell('head cell') } },
1,
{ 'tbl-body' }
)
local new_tbl = Table({}, {}, TableHead(), { new_body }, TableFoot())
assert.are_equal(old_tbl, new_tbl)
end),
},
group 'properties' {
test('modify body', function ()
local tbl_body = TableBody{}
tbl_body.body = { Row{ Cell('pass') } }
assert.are_equal(TableBody({ Row{ Cell('pass') } }, {}, 0), tbl_body)
end),
test('modify head', function ()
local tbl_body = TableBody{}
tbl_body.head = { Row{ Cell('pass') } }
assert.are_equal(TableBody({}, { Row{ Cell('pass') } }, 0), tbl_body)
end),
test('modify row_head_columns', function ()
local tbl_body = TableBody{}
tbl_body.row_head_columns = 5
assert.are_equal(TableBody({}, {}, 5), tbl_body)
end),
test('modify attr', function ()
local tbl_body = TableBody({}, {}, 0, Attr('before'))
tbl_body.attr = Attr('after')
assert.are_equal(TableBody({}, {}, 0, Attr('after')), tbl_body)
end),
},
group 'aliases' {
test('identifier', function ()
local tbl_body = TableBody{}
tbl_body.identifier = 'yep'
assert.are_same(TableBody({}, {}, 0, 'yep'), tbl_body)
end),
test('classes', function ()
local tbl_body = TableBody{}
tbl_body.classes = {'java'}
assert.are_same(TableBody({}, {}, 0, {'', {'java'}}), tbl_body)
end),
test('attributes', function ()
local tbl_body = TableBody{}
tbl_body.attributes.precipitation = 'snow'
assert.are_same(TableBody({}, {}, 0, {precipitation='snow'}), tbl_body)
end),
},
},
}
|