🧪 TESTS: Add table tokens regression
diff --git a/tests/test_api/test_main.py b/tests/test_api/test_main.py
index d6995c3..6fcc36c 100644
--- a/tests/test_api/test_main.py
+++ b/tests/test_api/test_main.py
@@ -278,3 +278,16 @@
     env = AttrDict()
     md.parse("[foo]: /url\n[foo]", env)
     assert "references" in env
+
+
+def test_table_tokens(data_regression):
+    md = MarkdownIt("js-default")
+    tokens = md.parse(
+        """
+| Heading 1 | Heading 2
+| --------- | ---------
+| Cell 1    | Cell 2
+| Cell 3    | Cell 4
+    """
+    )
+    data_regression.check([t.as_dict() for t in tokens])
diff --git a/tests/test_api/test_main/test_table_tokens.yml b/tests/test_api/test_main/test_table_tokens.yml
new file mode 100644
index 0000000..7b6ccd3
--- /dev/null
+++ b/tests/test_api/test_main/test_table_tokens.yml
@@ -0,0 +1,500 @@
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 0
+  map:
+  - 1
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: table
+  type: table_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 1
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: thead
+  type: thead_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: tr
+  type: tr_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: th
+  type: th_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Heading 1
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Heading 1
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: th
+  type: th_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: th
+  type: th_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Heading 2
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Heading 2
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 1
+  - 2
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: th
+  type: th_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: tr
+  type: tr_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 1
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: thead
+  type: thead_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 1
+  map:
+  - 3
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: tbody
+  type: tbody_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map: null
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: tr
+  type: tr_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 3
+  - 4
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: td
+  type: td_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Cell 1
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Cell 1
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 3
+  - 4
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: td
+  type: td_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 3
+  - 4
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: td
+  type: td_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Cell 2
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Cell 2
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 3
+  - 4
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: td
+  type: td_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: tr
+  type: tr_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map: null
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: tr
+  type: tr_open
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 4
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: td
+  type: td_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Cell 3
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Cell 3
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 4
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: td
+  type: td_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map:
+  - 4
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 1
+  tag: td
+  type: td_open
+- attrs: null
+  block: true
+  children:
+  - attrs: null
+    block: false
+    children: null
+    content: Cell 4
+    hidden: false
+    info: ''
+    level: 0
+    map: null
+    markup: ''
+    meta: {}
+    nesting: 0
+    tag: ''
+    type: text
+  content: Cell 4
+  hidden: false
+  info: ''
+  level: 4
+  map:
+  - 4
+  - 5
+  markup: ''
+  meta: {}
+  nesting: 0
+  tag: ''
+  type: inline
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 3
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: td
+  type: td_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 2
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: tr
+  type: tr_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 1
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: tbody
+  type: tbody_close
+- attrs: null
+  block: true
+  children: null
+  content: ''
+  hidden: false
+  info: ''
+  level: 0
+  map: null
+  markup: ''
+  meta: {}
+  nesting: -1
+  tag: table
+  type: table_close