def test_cell_tab(self): raw_text = """\ |\tcol 1\t| """.rstrip() expected = """\ | col 1 | """.rstrip() self.assertMultiLineEqual(expected, tablelib.format_table(raw_text))
def test_auto_complete_multi_line(self): raw_text = """\ | | """.rstrip() expected = """\ | | | | """.rstrip() self.assertMultiLineEqual(expected, tablelib.format_table(raw_text))
def test_prefix(self): raw_text = """\ | col 1 | col 2 | |---------|---------| | cell 11 | cell 12 | | cell 21 | cell 22 | """.rstrip() expected = """\ | col 1 | col 2 | |---------|---------| | cell 11 | cell 12 | | cell 21 | cell 22 | """.rstrip() self.assertMultiLineEqual(expected, tablelib.format_table(raw_text))
def test_auto_alignment(self): raw_text = """\ |column 1|column 2| |second line 1|second line 2| |-|-| |text value row 1 |0.9999999999999999| |tv row 2 |99| """.rstrip() expected = """\ | column 1 | column 2 | | second line 1 | second line 2 | |------------------|--------------------| | text value row 1 | 0.9999999999999999 | | tv row 2 | 99 | """.rstrip() self.assertMultiLineEqual(expected, tablelib.format_table(raw_text))
def test_specify_alignment(self): raw_text = """\ | column 1 | column 2 | column 3 | | < | > | # | |-|-|-| | 1 | row 1 | c1 | | 2 | row 2 | c2 | | 3 | row 3 | c3 | """ expected = """\ | column 1 | column 2 | column 3 | | <<<<<<<< | >>>>>>>> | ######## | |----------|----------|----------| | 1 | row 1 | c1 | | 2 | row 2 | c2 | | 3 | row 3 | c3 | """.rstrip() self.assertMultiLineEqual(expected, tablelib.format_table(raw_text))
def run_one_sel(self, edit, sel): (sel_row, sel_col) = self.view.rowcol(sel.begin()) first_table_row = self.get_first_table_row(self.get_row(sel.begin())) last_table_row = self.get_last_table_row(self.get_row(sel.begin())) begin_point = self.view.line(self.view.text_point(first_table_row, 0)).begin() end_point = self.view.line(self.view.text_point(last_table_row, 0)).end() table_region = sublime.Region(begin_point, end_point) text = self.view.substr(table_region) line_text = self.get_text(sel_row) sel_field_num = line_text.count("|", 0, sel_col) - 1 i1 = line_text.rfind("|", 0, sel_col) if len(line_text[i1 + 1:].strip()) == 0 and sel_field_num > 0: sel_field_num = sel_field_num - 1 self.view.replace(edit, table_region, tablelib.format_table(text)) pt = self.get_field_default_point(sel_row, sel_field_num) return sublime.Region(pt, pt)
def test_auto_complete(self): self.assertEquals("| |", tablelib.format_table("|"))
def test_not_table(self): with self.assertRaises(AssertionError): tablelib.format_table("")