File: test-table.lua

package info (click to toggle)
haskell-pandoc-lua-marshal 0.3.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 384 kB
  • sloc: haskell: 2,811; makefile: 3
file content (77 lines) | stat: -rw-r--r-- 2,605 bytes parent folder | download
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),
    },
  },
}