| 
1 | 1 | import napari  | 
 | 2 | +import numpy as np  | 
2 | 3 | import pytest  | 
3 | 4 | 
 
  | 
 | 5 | +from napari_matplotlib import ScatterWidget  | 
4 | 6 | from napari_matplotlib.base import NapariMPLWidget  | 
5 | 7 | 
 
  | 
6 | 8 | 
 
  | 
@@ -49,3 +51,37 @@ def test_theme_background_check(make_napari_viewer):  | 
49 | 51 |     _mock_up_theme()  | 
50 | 52 |     viewer.theme = "blue"  | 
51 | 53 |     assert widget._theme_has_light_bg() is True  | 
 | 54 | + | 
 | 55 | + | 
 | 56 | +@pytest.mark.parametrize(  | 
 | 57 | +    "theme_name, expected_text_colour",  | 
 | 58 | +    [("dark", "white"), ("light", "black")],  | 
 | 59 | +)  | 
 | 60 | +def test_titles_respect_theme(  | 
 | 61 | +    make_napari_viewer, theme_name, expected_text_colour  | 
 | 62 | +):  | 
 | 63 | +    """  | 
 | 64 | +    Test that the axis labels and titles are the correct color for the napari theme.  | 
 | 65 | +    """  | 
 | 66 | +    viewer = make_napari_viewer()  | 
 | 67 | +    widget = ScatterWidget(viewer)  | 
 | 68 | +    viewer.theme = theme_name  | 
 | 69 | + | 
 | 70 | +    # make a scatter plot of two random layers  | 
 | 71 | +    viewer.add_image(np.random.random((10, 10)), name="first test image")  | 
 | 72 | +    viewer.add_image(np.random.random((10, 10)), name="second test image")  | 
 | 73 | +    viewer.layers.selection.clear()  | 
 | 74 | +    viewer.layers.selection.add(viewer.layers[0])  | 
 | 75 | +    viewer.layers.selection.add(viewer.layers[1])  | 
 | 76 | + | 
 | 77 | +    ax = widget.figure.gca()  | 
 | 78 | + | 
 | 79 | +    # sanity test to make sure we've got the correct image names  | 
 | 80 | +    assert ax.xaxis.label.get_text() == "first test image"  | 
 | 81 | +    assert ax.yaxis.label.get_text() == "second test image"  | 
 | 82 | + | 
 | 83 | +    # print(dir(ax.yaxis.label))  | 
 | 84 | +    # TODO: put checks of the axis tick labels here  | 
 | 85 | + | 
 | 86 | +    assert ax.xaxis.label.get_color() == expected_text_colour  | 
 | 87 | +    assert ax.yaxis.label.get_color() == expected_text_colour  | 
0 commit comments