Skip to main content
Module

x/cliffy/table/test/table_test.ts

Command line framework for deno πŸ¦• Including Commandline-Interfaces, Prompts, CLI-Table, Arguments Parser and more...
Extremely Popular
Go to Latest
File
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759
import { Table } from "../table.ts";import { assertEquals, assertStrictEquals, assertThrows,} from "../../dev_deps.ts";import { Row } from "../row.ts";
Deno.test("simple table", () => { assertEquals( Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), `cell1 cell2 cell3cell1 cell2 cell3cell1 cell2 cell3`.slice(1), );});
Deno.test("simple table from table", () => { assertEquals( Table.from( new Table() .header(["1", "2", "3"]) .body([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]), ) .padding(1) .toString(), `1 2 3 cell1 cell2 cell3cell1 cell2 cell3cell1 cell2 cell3`.slice(1), );});
Deno.test("simple table from json", () => { assertEquals( Table.fromJson([{ firstName: "foo", lastName: "bar", age: "3", }, { firstName: "foo", lastName: "bar", age: "44", }, { firstName: "foo", lastName: "bar", age: "132", }]) .padding(1) .toString(), `firstName lastName agefoo bar 3 foo bar 44 foo bar 132`.slice(1), );});
Deno.test("clone simple table", () => { const table1 = Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]).padding(1); const table2 = table1.clone(); const table3 = table2.clone(); assertEquals(table2, table3); assertThrows(() => assertStrictEquals(table2, table3), Error);});
Deno.test("table getter", () => { const header = Row.from(["1", "2", "3"]).border(false); const table = new Table() .header(header) .body([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .minColWidth(3) .maxColWidth(10) .indent(2) .padding(4) .border(); assertEquals(table.getHeader(), header); assertEquals(table.getBody(), [ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]); assertEquals(table.getMinColWidth(), 3); assertEquals(table.getMaxColWidth(), 10); assertEquals(table.getIndent(), 2); assertEquals(table.getPadding(), 4); assertEquals(table.hasBorder(), true); assertEquals(table.hasBodyBorder(), true); assertEquals(table.hasHeaderBorder(), false);});
Deno.test("simple table with min col with", () => { assertEquals( Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .indent(2) .indent(5, false) .minColWidth(10) .minColWidth(20, false) .padding(1) .padding(10, false) .toString(), ` cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 `.slice(1), );});
Deno.test("simple table with word break", () => { assertEquals( Table.from([ ["cell1", "cell2 cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3 cell3"], ]) .maxColWidth(4) .maxColWidth(20, false) .padding(1) .toString(), `cell cell cell1 2 3 cell 2 cell cell cell1 2 3 cell cell cell1 2 3 cell 3 `.slice(1), );});
Deno.test("simple border table", () => { assertEquals( Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .border() .border(false, false) .toString(), `β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”β”‚ cell1 β”‚ cell2 β”‚ cell3 β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”‚ cell1 β”‚ cell2 β”‚ cell3 β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”‚ cell1 β”‚ cell2 β”‚ cell3 β”‚β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜`.slice(1), );});
Deno.test("simple nested table", () => { assertEquals( Table.from([[ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .toString(), ]]) .padding(1) .toString(), `cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3`.slice(1), );});
Deno.test("simple nested border table", () => { assertEquals( Table.from([[ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .border() .toString(), ]]) .padding(1) .toString(), `β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜`.slice(1), );});
Deno.test("multiline table", () => { assertEquals( Table.from([ [ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", "cell2", "cell3", ], [ "cell1", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.", "cell3", ], [ "cell1", "cell2", "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", ], ]) .padding(1) .maxColWidth(20) .toString(), `Stet clita kasd cell2 cell3 gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. cell1 Lorem ipsum dolor cell3 sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. cell1 cell2 At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. `.slice(1), );});
Deno.test("multiline border table", () => { assertEquals( Table.from([ [ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", "cell2", "cell3", ], [ "cell1", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.", "cell3", ], [ "cell1", "cell2", "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", ], ]) .padding(0) .maxColWidth(20) .border() .toString(), `β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚Stet clita kasdβ”‚cell2 β”‚cell3 β”‚β”‚gubergren, no β”‚ β”‚ β”‚β”‚sea takimata β”‚ β”‚ β”‚β”‚sanctus est β”‚ β”‚ β”‚β”‚Lorem ipsum β”‚ β”‚ β”‚β”‚dolor sit amet.β”‚ β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚cell1 β”‚Lorem ipsum dolorβ”‚cell3 β”‚β”‚ β”‚sit amet, β”‚ β”‚β”‚ β”‚consetetur β”‚ β”‚β”‚ β”‚sadipscing elitr,β”‚ β”‚β”‚ β”‚sed diam nonumy β”‚ β”‚β”‚ β”‚eirmod tempor β”‚ β”‚β”‚ β”‚invidunt ut β”‚ β”‚β”‚ β”‚labore et dolore β”‚ β”‚β”‚ β”‚magna aliquyam β”‚ β”‚β”‚ β”‚erat, sed diam β”‚ β”‚β”‚ β”‚voluptua. β”‚ β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚cell1 β”‚cell2 β”‚At vero eos etβ”‚β”‚ β”‚ β”‚accusam et β”‚β”‚ β”‚ β”‚justo duo β”‚β”‚ β”‚ β”‚dolores et ea β”‚β”‚ β”‚ β”‚rebum. Stet β”‚β”‚ β”‚ β”‚clita kasd β”‚β”‚ β”‚ β”‚gubergren, no β”‚β”‚ β”‚ β”‚sea takimata β”‚β”‚ β”‚ β”‚sanctus est β”‚β”‚ β”‚ β”‚Lorem ipsum β”‚β”‚ β”‚ β”‚dolor sit β”‚β”‚ β”‚ β”‚amet. β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜`.slice(1), );});
Deno.test("nested multiline border table", () => { assertEquals( Table.from([[ Table.from([ ["sed diam nonumy eirmod tempor invidunt ut labore.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], [ "cell1", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr.", "cell3", ], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["takimata sanctus est Lorem ipsum.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["Stet clita kasd gubergren, no sea takimata.", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "sanctus est Lorem ipsum dolor sit."], ]) .padding(1) .maxColWidth(20) .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["sed diam nonumy eirmod tempor invidunt ut labore.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "accusam et justo duo."], ["cell1", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["Stet clita kasd gubergren, no sea takimata.", "cell2", "cell3"], ]) .padding(1) .maxColWidth(20) .toString(), ]]) .padding(1) .toString(), `sed diam nonumy cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 eirmod tempor cell1 Lorem ipsum dolor cell3 cell1 cell2 cell3 invidunt ut sit amet, cell1 cell2 cell3 labore. consetetur cell1 cell2 cell3 sadipscing elitr. cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 takimata sanctus est cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 Lorem ipsum. Stet clita kasd cell2 cell3 cell1 cell2 sanctus est Loremcell1 cell2 cell3 gubergren, no ipsum dolor sit. sea takimata. cell1 cell2 cell3 cell1 cell2 cell3 cell1 cell2 cell3 sed diam nonumy cell2 cell3 cell1 cell2 accusam et justo cell1 cell2 cell3 eirmod tempor duo. Stet clita kasd cell2 cell3 invidunt ut cell1 cell2 cell3 gubergren, no labore. sea takimata. cell1 cell2 cell3 ` .slice(1), );});
Deno.test("nested multiline border table", () => { assertEquals( Table.from([[ Table.from([ ["sed diam nonumy eirmod tempor invidunt ut labore.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], [ "cell1", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr.", "cell3", ], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["takimata sanctus est Lorem ipsum.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["Stet clita kasd gubergren, no sea takimata.", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["cell1", "cell2", "sanctus est Lorem ipsum dolor sit."], ]) .padding(0) .maxColWidth(20) .border() .toString(), ], [ Table.from([ ["cell1", "cell2", "cell3"], ["sed diam nonumy eirmod tempor invidunt ut labore.", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "accusam et justo duo."], ["cell1", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), Table.from([ ["cell1", "cell2", "cell3"], ["cell1", "cell2", "cell3"], ["Stet clita kasd gubergren, no sea takimata.", "cell2", "cell3"], ]) .padding(0) .maxColWidth(20) .border() .toString(), ]]) .padding(1) .toString(), `β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”‚sed diam nonumyβ”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2 β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚eirmod tempor β”‚ β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚invidunt ut β”‚ β”‚ β”‚ β”‚cell1β”‚Lorem ipsum dolorβ”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚labore. β”‚ β”‚ β”‚ β”‚ β”‚sit amet, β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚ β”‚consetetur β”‚ β”‚ β”‚cell1β”‚cell2β”‚cell3β”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚ β”‚sadipscing elitr.β”‚ β”‚ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2 β”‚cell3β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3 β”‚β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚takimata sanctus estβ”‚cell2β”‚cell3β”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3 β”‚β”‚Lorem ipsum. β”‚ β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚Stet clita kasdβ”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚sanctus est Loremβ”‚β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚gubergren, no β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ipsum dolor sit. β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β”‚sea takimata. β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β” β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚cell3 β”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚sed diam nonumyβ”‚cell2β”‚cell3β”‚ β”‚cell1β”‚cell2β”‚accusam et justoβ”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β”‚eirmod tempor β”‚ β”‚ β”‚ β”‚ β”‚ β”‚duo. β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β”‚invidunt ut β”‚ β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚Stet clita kasdβ”‚cell2β”‚cell3β”‚ β”‚labore. β”‚ β”‚ β”‚ β”‚cell1β”‚cell2β”‚cell3 β”‚ β”‚gubergren, no β”‚ β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€ β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚sea takimata. β”‚ β”‚ β”‚ β”‚cell1 β”‚cell2β”‚cell3β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜ ` .slice(1), );});
Deno.test("table with padding", () => { assertEquals( Table.from([ [ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", "cell2", "cell3", ], [ "cell1", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.", "cell3", ], [ "cell1", "cell2", "At vero eos et accusam et justo duo dolores et ea rebum.", ], ]) .padding(5) .maxColWidth(20) .toString(), `Stet clita kasd cell2 cell3 gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. cell1 Lorem ipsum dolor cell3 sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt. cell1 cell2 At vero eos et accusam et justo duo dolores et ea rebum. `.slice(1), );});