class_docstr: Parser for use in testing HTML rendering of tables.
class_docstr_tok: ["Parser","for","use","in","testing","HTML","rendering","of","tables","."]
code: def handle_endtag(self, tag):
      if tag == "table":
          if self._in_table:
              self.has_table = True
          self._in_table = False
          return
  
      if tag == "thead":
          if self._in_thead:
              self.has_thead = True
          self._in_thead = False
          return
  
      if tag == "tbody":
          if self._in_tbody:
              self.has_tbody = True
          self._in_tbody = False
          return
  
      if tag == "tr":
          if self._in_tbody:
              self.body_rows.append(self._current_row)
          elif self._in_thead:
              self.header_rows.append(self._current_row)
  
          return
  
      if tag in ("td", "th"):
          self._current_row.append(self._cell_data)
          self._cell_data = None
          self._in_cell = False
          return
  
file_path: agate/tests/test_table/test_print_html.py
imports: import warnings
  from html.parser import HTMLParser
  from io import StringIO
  from agate import Table
  from agate.data_types import Number, Text
  from agate.testcase import AgateTestCase
label_desc: Use image node_id 3 for calling the TableHTMLParser obj's underlying member method code with example usage: obj.handle_endtag(tag) without return types