Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import re | |
| import sys | |
| import types | |
| import unittest | |
| from pathlib import Path | |
| from unittest.mock import patch | |
| import app.app as dashboard_app | |
| class _Context: | |
| def __enter__(self) -> "_Context": | |
| return self | |
| def __exit__(self, *_args: object) -> bool: | |
| return False | |
| class _FakeGradio(types.SimpleNamespace): | |
| def __init__(self) -> None: | |
| self.markdown_values: list[str] = [] | |
| super().__init__( | |
| Blocks=lambda **_kwargs: _Context(), | |
| Column=lambda **_kwargs: _Context(), | |
| HTML=lambda *_args, **_kwargs: None, | |
| Markdown=self.Markdown, | |
| Tab=lambda *_args, **_kwargs: _Context(), | |
| Tabs=lambda **_kwargs: _Context(), | |
| ) | |
| def Markdown(self, value: str, **_kwargs: object) -> None: | |
| self.markdown_values.append(value) | |
| class HeaderTests(unittest.TestCase): | |
| def test_dashboard_tabs_include_numeric_semantics_between_static_tabs(self) -> None: | |
| self.assertEqual( | |
| dashboard_app.dashboard_tab_names(), | |
| [ | |
| "Top Snippets", | |
| "Logit Lens", | |
| "Implicit Scenarios", | |
| "Numeric Semantics", | |
| "Activity Preference", | |
| "Continuation Steering", | |
| "Clustering", | |
| "PCA", | |
| "Layer Structure", | |
| ], | |
| ) | |
| def test_dashboard_header_includes_github_link(self) -> None: | |
| fake_gradio = _FakeGradio() | |
| original_gradio = sys.modules.get("gradio") | |
| sys.modules["gradio"] = fake_gradio | |
| if original_gradio is None: | |
| self.addCleanup(lambda: sys.modules.pop("gradio", None)) | |
| else: | |
| self.addCleanup(lambda: sys.modules.__setitem__("gradio", original_gradio)) | |
| with patch.multiple( | |
| dashboard_app, | |
| top_snippets_dashboard_html=lambda _root: "", | |
| logit_lens_dashboard_html=lambda _root: "", | |
| build_implicit_scenarios_heatmap=lambda _root: object(), | |
| build_numeric_semantics_figure=lambda _root: object(), | |
| build_activity_preference_figure=lambda _root: object(), | |
| _causal_continuation_tab=lambda *_args, **_kwargs: None, | |
| build_cosine_heatmap=lambda _root: object(), | |
| build_umap_scatter=lambda _root: object(), | |
| build_pca_barplots=lambda _root: object(), | |
| build_pca_human_rating_scatter=lambda _root: object(), | |
| build_layer_similarity_heatmap=lambda _root: object(), | |
| _static_plot=lambda *_args, **_kwargs: None, | |
| _vector_plot=lambda *_args, **_kwargs: None, | |
| ): | |
| dashboard_app.build_dashboard( | |
| static_root=Path("static"), | |
| causal_root=Path("causal"), | |
| vector_space_root=Path("vector"), | |
| ) | |
| expected_link = "[GitHub](https://github.com/y3zai/angry-claw)" | |
| self.assertTrue( | |
| any(expected_link in value for value in fake_gradio.markdown_values), | |
| fake_gradio.markdown_values, | |
| ) | |
| def test_header_link_spacing_does_not_overlap_title(self) -> None: | |
| css = dashboard_app.dashboard_css() | |
| self.assertIn(".unified-demo-header-link", css) | |
| header_link_rules = re.findall( | |
| r"\.unified-demo-header-link\s*\{(?P<rules>[^}]*)\}", | |
| css, | |
| ) | |
| self.assertTrue(header_link_rules, css) | |
| self.assertTrue( | |
| all("margin-top: -" not in rules for rules in header_link_rules), | |
| header_link_rules, | |
| ) | |
| if __name__ == "__main__": | |
| unittest.main() | |