1from unittest.mock import MagicMock
2
3from UM.Extension import Extension
4
5
6def test_activateMenuItem():
7    test_extension = Extension()
8    mock_object = MagicMock()
9    mock_function = mock_object.bla
10    test_extension.addMenuItem("test", mock_function)
11    test_extension.activateMenuItem("test")
12
13    # Check that the function was called without any attributes being passed along.
14    mock_function.assert_called_once_with()
15
16
17def test_menuItemOrder():
18    test_extension = Extension()
19
20    test_extension.addMenuItem("b", MagicMock())
21    test_extension.addMenuItem("a", MagicMock())
22
23    # Ensure that the order by which the menu items were added is the same.
24    assert test_extension.getMenuItemList() == ["b", "a"]
25
26
27# Super simple test, there is no reason this should ever change, but now extension is 100% tested
28def test_menuName():
29    test_extension = Extension()
30    assert test_extension.getMenuName() is None
31    test_extension.setMenuName("bloop")
32    assert test_extension.getMenuName() == "bloop"
33