@@ -1991,8 +1991,24 @@ 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 "<td>Metadata size</td>" in html
2003+ num_tables_with_metadata = 0
2004+ for codec , count in codecs .items ():
2005+ assert html .count (f">{ codec } </td>" ) == count
2006+ num_tables_with_metadata += count
2007+ # Only one table (provenances) has no metadata
2008+ assert num_tables_with_metadata == len (ts .tables .table_name_map ) - 1
2009+ # All metadata tables should show the percentage metadata size
2010+ assert html .count ("%)</td>" ) == num_tables_with_metadata
2011+
19962012 if ts .num_provenances > 0 :
19972013 assert (
19982014 f"<td>{ json .loads (ts .provenance (0 ).record )['software' ]['name' ]} </td>"
0 commit comments