@@ -1991,8 +1991,25 @@ def test_html_repr(self, ts):
19911991 assert len (html ) > 5000
19921992 assert f"<tr><td>Trees</td><td>{ ts .num_trees :,} </td></tr>" in html
19931993 assert f"<tr><td>Time Units</td><td>{ ts .time_units } </td></tr>" in html
1994- for table in ts .tables .table_name_map :
1995- assert f"<td>{ table .capitalize ()} </td>" in html
1994+ codecs = collections .defaultdict (int )
1995+ for table_name , table in ts .tables .table_name_map .items ():
1996+ assert f"<td>{ table_name .capitalize ()} </td>" in html
1997+ if hasattr (table , "metadata_schema" ):
1998+ schema = table .metadata_schema .schema
1999+ codec = schema ["codec" ] if schema else "raw"
2000+ codecs [codec ] += 1
2001+ assert "<td>Metadata</td>" in html
2002+ assert "<th>Metadata</th>" in html
2003+ assert "<th>Metadata size</th>" in html
2004+ num_tables_with_metadata = 0
2005+ for codec , count in codecs .items ():
2006+ assert html .count (f">{ codec } </td>" ) == count
2007+ num_tables_with_metadata += count
2008+ # Only one table (provenances) has no metadata
2009+ assert num_tables_with_metadata == len (ts .tables .table_name_map ) - 1
2010+ # All metadata tables should show the percentage metadata size
2011+ assert html .count ("%)</td>" ) == num_tables_with_metadata
2012+
19962013 if ts .num_provenances > 0 :
19972014 assert (
19982015 f"<td>{ json .loads (ts .provenance (0 ).record )['software' ]['name' ]} </td>"
0 commit comments