| @@ -1,355 +1,355 @@ | |||||
| name: empty_table | name: empty_table | ||||
| label: Parsing an empty table. | |||||
| label: parsing an empty table | |||||
| input: "{|\n|}" | input: "{|\n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: inline_table | name: inline_table | ||||
| label: Correctly handle tables with close on the same line. | |||||
| label: correctly handle tables with close on the same line | |||||
| input: "{||}" | input: "{||}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=""), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=""), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: no_table_close_simple | name: no_table_close_simple | ||||
| label: No table close on inline table | |||||
| label: no table close on inline table | |||||
| input: "{| " | input: "{| " | ||||
| output: [Text(text="{| ")] | output: [Text(text="{| ")] | ||||
| --- | --- | ||||
| name: no_table_close_newline | name: no_table_close_newline | ||||
| label: No table close with a newline | |||||
| label: no table close with a newline | |||||
| input: "{| \n " | input: "{| \n " | ||||
| output: [Text(text="{| \n ")] | output: [Text(text="{| \n ")] | ||||
| --- | --- | ||||
| name: no_table_close_inside_cell | name: no_table_close_inside_cell | ||||
| label: No table close while inside of a cell | |||||
| label: no table close while inside of a cell | |||||
| input: "{| \n| " | input: "{| \n| " | ||||
| output: [Text(text="{| \n| ")] | output: [Text(text="{| \n| ")] | ||||
| --- | --- | ||||
| name: no_table_close_inside_cell_after_newline | name: no_table_close_inside_cell_after_newline | ||||
| label: No table close while inside of a cell after a newline | |||||
| label: no table close while inside of a cell after a newline | |||||
| input: "{| \n| \n " | input: "{| \n| \n " | ||||
| output: [Text(text="{| \n| \n ")] | output: [Text(text="{| \n| \n ")] | ||||
| --- | --- | ||||
| name: no_table_close_inside_cell_with_attributes | name: no_table_close_inside_cell_with_attributes | ||||
| label: No table close while inside of a cell with attributes | |||||
| label: no table close while inside of a cell with attributes | |||||
| input: "{| \n| red | test" | input: "{| \n| red | test" | ||||
| output: [Text(text="{| \n| red | test")] | output: [Text(text="{| \n| red | test")] | ||||
| --- | --- | ||||
| name: no_table_close_inside_row | name: no_table_close_inside_row | ||||
| label: No table close while inside of a row | |||||
| label: no table close while inside of a row | |||||
| input: "{| \n|- " | input: "{| \n|- " | ||||
| output: [Text(text="{| \n|- ")] | output: [Text(text="{| \n|- ")] | ||||
| --- | --- | ||||
| name: no_table_close_inside_row_after_newline | name: no_table_close_inside_row_after_newline | ||||
| label: No table close while inside of a row after a newline | |||||
| label: no table close while inside of a row after a newline | |||||
| input: "{| \n|- \n " | input: "{| \n|- \n " | ||||
| output: [Text(text="{| \n|- \n ")] | output: [Text(text="{| \n|- \n ")] | ||||
| --- | --- | ||||
| name: no_table_close_attributes | name: no_table_close_attributes | ||||
| label: Don't parse attributes as attributes if the table doesn't exist. | |||||
| label: don't parse attributes as attributes if the table doesn't exist | |||||
| input: "{| border="1"" | input: "{| border="1"" | ||||
| output: [Text(text="{| border=\"1\"")] | output: [Text(text="{| border=\"1\"")] | ||||
| --- | --- | ||||
| name: no_table_close_unclosed_attributes | name: no_table_close_unclosed_attributes | ||||
| label: Don't parse unclosed attributes if the table doesn't exist. | |||||
| label: don't parse unclosed attributes if the table doesn't exist | |||||
| input: "{| border=" | input: "{| border=" | ||||
| output: [Text(text="{| border=")] | output: [Text(text="{| border=")] | ||||
| --- | --- | ||||
| name: no_table_close_row_attributes | name: no_table_close_row_attributes | ||||
| label: Don't parse row attributes as attributes if the table doesn't exist. | |||||
| label: don't parse row attributes as attributes if the table doesn't exist | |||||
| input: "{| |- border="1"" | input: "{| |- border="1"" | ||||
| output: [Text(text="{| |- border=\"1\"")] | output: [Text(text="{| |- border=\"1\"")] | ||||
| --- | --- | ||||
| name: no_table_close_cell | name: no_table_close_cell | ||||
| label: Don't parse cells if the table doesn't close. | |||||
| label: don't parse cells if the table doesn't close | |||||
| input: "{| | border="1"| test || red | foo" | input: "{| | border="1"| test || red | foo" | ||||
| output: [Text(text="{| | border=\"1\"| test || red | foo")] | output: [Text(text="{| | border=\"1\"| test || red | foo")] | ||||
| --- | --- | ||||
| name: crazy_no_table_close | name: crazy_no_table_close | ||||
| label: Lost of opened wiki syntax without closes. | |||||
| label: lost of opened wiki syntax without closes | |||||
| input: "{{{ {{ {| <ref" | input: "{{{ {{ {| <ref" | ||||
| output: [Text(text="{{{ {{ {| <ref")] | output: [Text(text="{{{ {{ {| <ref")] | ||||
| --- | --- | ||||
| name: leading_whitespace_table | name: leading_whitespace_table | ||||
| label: Handle leading whitespace for a table. | |||||
| label: handle leading whitespace for a table | |||||
| input: "foo \n \t {|\n|}" | input: "foo \n \t {|\n|}" | ||||
| output: [Text(text="foo \n \t "), TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [Text(text="foo \n \t "), TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: whitespace_after_table | name: whitespace_after_table | ||||
| label: Handle whitespace after a table close. | |||||
| label: handle whitespace after a table close | |||||
| input: "{|\n|}\n \t " | input: "{|\n|}\n \t " | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text="\n \t ")] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text="\n \t ")] | ||||
| --- | --- | ||||
| name: different_whitespace_after_table | name: different_whitespace_after_table | ||||
| label: Handle spaces after a table close. | |||||
| label: handle spaces after a table close | |||||
| input: "{|\n|} \n " | input: "{|\n|} \n " | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" \n ")] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" \n ")] | ||||
| --- | --- | ||||
| name: characters_after_table | name: characters_after_table | ||||
| label: Handle characters after a table close. | |||||
| label: handle characters after a table close | |||||
| input: "{|\n|} tsta" | input: "{|\n|} tsta" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" tsta")] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" tsta")] | ||||
| --- | --- | ||||
| name: characters_after_inline_table | name: characters_after_inline_table | ||||
| label: Handle characters after an inline table close. | |||||
| label: handle characters after an inline table close | |||||
| input: "{| |} tsta" | input: "{| |} tsta" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" tsta")] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" tsta")] | ||||
| --- | --- | ||||
| name: leading_characters_table | name: leading_characters_table | ||||
| label: Don't parse as a table when leading characters are not newline or whitespace. | |||||
| label: don't parse as a table when leading characters are not newline or whitespace | |||||
| input: "foo \n foo \t {|\n|}" | input: "foo \n foo \t {|\n|}" | ||||
| output: [Text(text="foo \n foo \t {|\n|}")] | output: [Text(text="foo \n foo \t {|\n|}")] | ||||
| --- | --- | ||||
| name: table_row_simple | name: table_row_simple | ||||
| label: Simple table row. | |||||
| label: simple table row | |||||
| input: "{|\n |- \n|}" | input: "{|\n |- \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_row_multiple | name: table_row_multiple | ||||
| label: Simple table row. | |||||
| label: simple table row | |||||
| input: "{|\n |- \n|- \n |-\n |}" | input: "{|\n |- \n|- \n |-\n |}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_simple | name: table_cell_simple | ||||
| label: Simple table cell. | |||||
| label: simple table cell | |||||
| input: "{|\n | foo \n|}" | input: "{|\n | foo \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_inline | name: table_cell_inline | ||||
| label: Multiple inline table cells. | |||||
| label: multiple inline table cells | |||||
| input: "{|\n | foo || bar || test \n|}" | input: "{|\n | foo || bar || test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar "), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar "), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_multiple | name: table_cell_multiple | ||||
| label: Multiple table cells (non-inline). | |||||
| label: multiple table cells (non-inline) | |||||
| input: "{|\n| foo \n| bar \n| test \n|}" | input: "{|\n| foo \n| bar \n| test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_header_simple | name: table_header_simple | ||||
| label: Simple header cell. | |||||
| label: simple header cell | |||||
| input: "{|\n ! foo \n|}" | input: "{|\n ! foo \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_header_inline | name: table_header_inline | ||||
| label: Multiple inline header cells. | |||||
| label: multiple inline header cells | |||||
| input: "{|\n ! foo || bar !! test \n|}" | input: "{|\n ! foo || bar !! test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" bar "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" bar "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_header_multiple | name: table_header_multiple | ||||
| label: Multiple table header cells (non-inline). | |||||
| label: multiple table header cells (non-inline) | |||||
| input: "{|\n! foo \n! bar \n! test \n|}" | input: "{|\n! foo \n! bar \n! test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagCloseOpen(padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: nested_cells_and_rows | name: nested_cells_and_rows | ||||
| label: Combination of cells and rows in a table. | |||||
| label: combination of cells and rows in a table | |||||
| input: "{|\n|- \n| foo \n|- \n| bar\n|}" | input: "{|\n|- \n| foo \n|- \n| bar\n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar\n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagCloseOpen(padding=" \n"), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" bar\n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_fake_close | name: table_cell_fake_close | ||||
| label: Looks like a table close but is not. | |||||
| label: looks like a table close but is not | |||||
| input: "{|\n | |} \n|}" | input: "{|\n | |} \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text="} \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text="} \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_more_fake_close | name: table_cell_more_fake_close | ||||
| label: Looks like a table close but is not. | |||||
| label: looks like a table close but is not | |||||
| input: "{|\n || |} \n|}" | input: "{|\n || |} \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" |} \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" |} \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_extra_close | name: table_cell_extra_close | ||||
| label: Process second close as text. | |||||
| label: process second close as text | |||||
| input: "{| \n |} \n|}" | input: "{| \n |} \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" \n|}")] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose(), Text(text=" \n|}")] | ||||
| --- | --- | ||||
| name: nowiki_inside_table | name: nowiki_inside_table | ||||
| label: Nowiki handles pipe characters in tables. | |||||
| label: nowiki handles pipe characters in tables | |||||
| input: "{|\n | foo <nowiki>| |- {| |} || ! !!</nowiki> bar \n|}" | input: "{|\n | foo <nowiki>| |- {| |} || ! !!</nowiki> bar \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenOpen(), Text(text="nowiki"), TagCloseOpen(padding=""), Text(text="| |- {| |} || ! !!"), TagOpenClose(), Text(text="nowiki"), TagCloseClose(), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo "), TagOpenOpen(), Text(text="nowiki"), TagCloseOpen(padding=""), Text(text="| |- {| |} || ! !!"), TagOpenClose(), Text(text="nowiki"), TagCloseClose(), Text(text=" bar \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_text_outside_cell | name: table_text_outside_cell | ||||
| label: Parse text inside table but outside of a cell. | |||||
| label: parse text inside table but outside of a cell | |||||
| input: "{|\n bar \n | foo \n|}" | input: "{|\n bar \n | foo \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar \n "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar \n "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), Text(text=" foo \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: no_table_cell_with_leading_characters | name: no_table_cell_with_leading_characters | ||||
| label: Fail to create a table cell when there are leading non-whitespace characters. | |||||
| label: fail to create a table cell when there are leading non-whitespace characters | |||||
| input: "{|\n bar | foo \n|}" | input: "{|\n bar | foo \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar | foo \n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar | foo \n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: no_table_row_with_leading_characters | name: no_table_row_with_leading_characters | ||||
| label: Fail to create a table row when there are leading non-whitespace characters. | |||||
| label: fail to create a table row when there are leading non-whitespace characters | |||||
| input: "{|\n bar |- foo \n|}" | input: "{|\n bar |- foo \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar |- foo \n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" bar |- foo \n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: template_inside_table_cell | name: template_inside_table_cell | ||||
| label: Template within table cell. | |||||
| label: template within table cell | |||||
| input: "{|\n |{{foo\n|bar=baz}} \n|}" | input: "{|\n |{{foo\n|bar=baz}} \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), TemplateOpen(), Text(text="foo\n"), TemplateParamSeparator(), Text(text="bar"), TemplateParamEquals(), Text(text="baz"), TemplateClose(), Text(text=" \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(padding=""), TemplateOpen(), Text(text="foo\n"), TemplateParamSeparator(), Text(text="bar"), TemplateParamEquals(), Text(text="baz"), TemplateClose(), Text(text=" \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_attributes | name: table_cell_attributes | ||||
| label: Parse table cell style attributes. | |||||
| label: parse table cell style attributes | |||||
| input: "{| \n | name="foo bar"| test \n|}" | input: "{| \n | name="foo bar"| test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_empty_attributes | name: table_cell_empty_attributes | ||||
| label: Parse table cell with style markers but no attributes. | |||||
| label: parse table cell with style markers but no attributes | |||||
| input: "{| \n | | test \n|}" | input: "{| \n | | test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_with_dash | name: table_cell_with_dash | ||||
| label: Parse a situation in which a cell line looks like a row line. | |||||
| label: parse a situation in which a cell line looks like a row line | |||||
| input: "{|\n ||- \n|}" | input: "{|\n ||- \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="- \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding="\n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="- \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_attributes_quote_with_pipe | name: table_cell_attributes_quote_with_pipe | ||||
| label: Pipe inside an attribute quote should still be used as a style separator. | |||||
| label: pipe inside an attribute quote should still be used as a style separator | |||||
| input: "{| \n | name="foo|bar"| test \n|}" | input: "{| \n | name="foo|bar"| test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), Text(text="\"foo"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="bar\"| test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), Text(text="\"foo"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="bar\"| test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_attributes_name_with_pipe | name: table_cell_attributes_name_with_pipe | ||||
| label: Pipe inside an attribute name should still be used as a style separator. | |||||
| label: pipe inside an attribute name should still be used as a style separator | |||||
| input: "{| \n | name|="foo bar" | test \n|}" | input: "{| \n | name|="foo bar" | test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="=\"foo bar\" | test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagCloseOpen(wiki_markup="|", padding=""), Text(text="=\"foo bar\" | test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_attributes_pipe_after_equals | name: table_cell_attributes_pipe_after_equals | ||||
| label: Pipe inside an attribute should still be used as a style separator after an equals. | |||||
| label: pipe inside an attribute should still be used as a style separator after an equals | |||||
| input: "{| \n | name=|"foo|bar"| test \n|}" | input: "{| \n | name=|"foo|bar"| test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagCloseOpen(wiki_markup="|", padding=""), Text(text="\"foo|bar\"| test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagCloseOpen(wiki_markup="|", padding=""), Text(text="\"foo|bar\"| test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_cell_attributes_templates | name: table_cell_attributes_templates | ||||
| label: Pipe inside attributes shouldn't be style separator. | |||||
| label: pipe inside attributes shouldn't be style separator | |||||
| input: "{| \n | {{comment|template=baz}} | test \n|}" | input: "{| \n | {{comment|template=baz}} | test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_after_eq="", pad_first=" ", pad_before_eq=" "), TemplateOpen(), Text(text="comment"), TemplateParamSeparator(), Text(text="template"), TemplateParamEquals(), Text(text="baz"), TemplateClose(), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|"), Text(text="td"), TagAttrStart(pad_after_eq="", pad_first=" ", pad_before_eq=" "), TemplateOpen(), Text(text="comment"), TemplateParamSeparator(), Text(text="template"), TemplateParamEquals(), Text(text="baz"), TemplateClose(), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="td"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: header_cell_attributes | name: header_cell_attributes | ||||
| label: Parse header cell style attributes. | |||||
| label: parse header cell style attributes | |||||
| input: "{| \n ! name="foo bar"| test \n|}" | input: "{| \n ! name="foo bar"| test \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" test \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: inline_cell_attributes | name: inline_cell_attributes | ||||
| label: Parse cell style attributes of inline cells. | |||||
| label: parse cell style attributes of inline cells | |||||
| input: "{| \n ! name="foo bar" | test ||color="red"| markup!!foo | time \n|}" | input: "{| \n ! name="foo bar" | test ||color="red"| markup!!foo | time \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagAttrStart(pad_after_eq="", pad_first=" ", pad_before_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text=" test "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="th"), TagAttrStart(pad_first="", pad_before_eq="", pad_after_eq=""), Text(text="color"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="red"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" markup"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!!"), Text(text="th"), TagAttrStart(pad_first="", pad_before_eq=" ", pad_after_eq=""), Text(text="foo"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" time \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="!"), Text(text="th"), TagAttrStart(pad_after_eq="", pad_first=" ", pad_before_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(wiki_markup="|", padding=" "), Text(text=" test "), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="||"), Text(text="th"), TagAttrStart(pad_first="", pad_before_eq="", pad_after_eq=""), Text(text="color"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="red"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" markup"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenOpen(wiki_markup="!!"), Text(text="th"), TagAttrStart(pad_first="", pad_before_eq=" ", pad_after_eq=""), Text(text="foo"), TagCloseOpen(wiki_markup="|", padding=""), Text(text=" time \n"), TagOpenClose(wiki_markup=""), Text(text="th"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_row_attributes | name: table_row_attributes | ||||
| label: Parse table row style attributes. | |||||
| label: parse table row style attributes | |||||
| input: "{| \n |- name="foo bar"\n|}" | input: "{| \n |- name="foo bar"\n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_row_attributes_crazy_whitespace | name: table_row_attributes_crazy_whitespace | ||||
| label: Parse table row style attributes with different whitespace. | |||||
| label: parse table row style attributes with different whitespace | |||||
| input: "{| \t \n |- \t name="foo bar" \t \n|}" | input: "{| \t \n |- \t name="foo bar" \t \n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \t \n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagAttrStart(pad_first=" \t ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding=" \t \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagCloseOpen(padding=" \t \n"), Text(text=" "), TagOpenOpen(wiki_markup="|-"), Text(text="tr"), TagAttrStart(pad_first=" \t ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding=" \t \n"), TagOpenClose(wiki_markup=""), Text(text="tr"), TagCloseClose(), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_attributes | name: table_attributes | ||||
| label: Parse table style attributes. | |||||
| label: parse table style attributes | |||||
| input: "{| name="foo bar"\n|}" | input: "{| name="foo bar"\n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="foo bar"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: inline_table_attributes | name: inline_table_attributes | ||||
| label: Correctly handle attributes in inline tables. | |||||
| label: correctly handle attributes in inline tables | |||||
| input: "{| foo="tee bar" |}" | input: "{| foo="tee bar" |}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"),TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="foo"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="tee bar"), TagCloseOpen(padding=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"),TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="foo"), TagAttrEquals(), TagAttrQuote(char="\""), Text(text="tee bar"), TagCloseOpen(padding=" "), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||
| --- | --- | ||||
| name: table_incorrect_attributes | name: table_incorrect_attributes | ||||
| label: Parse incorrect table style attributes. | |||||
| label: parse incorrect table style attributes | |||||
| input: "{| name="foo\n|}" | input: "{| name="foo\n|}" | ||||
| output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), Text(text="\"foo"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | output: [TagOpenOpen(wiki_markup="{|"), Text(text="table"), TagAttrStart(pad_first=" ", pad_before_eq="", pad_after_eq=""), Text(text="name"), TagAttrEquals(), Text(text="\"foo"), TagCloseOpen(padding="\n"), TagOpenClose(wiki_markup="|}"), Text(text="table"), TagCloseClose()] | ||||