def trans(tmp_path): """A good plugin that uses entry points.""" distinfo = tmp_path / "napari_language_pack_es_CO-0.1.0.dist-info" distinfo.mkdir() (distinfo / "top_level.txt").write_text('napari_language_pack_es_CO') (distinfo / "entry_points.txt").write_text( "[napari.languagepack]\nes_CO = napari_language_pack_es_CO\n" ) (distinfo / "METADATA").write_text( "Metadata-Version: 2.1\n" "Name: napari-language-pack-es-CO\n" "Version: 0.1.0\n" ) pkgdir = tmp_path / 'napari_language_pack_es_CO' msgs = pkgdir / 'locale' / 'es_CO' / 'LC_MESSAGES' msgs.mkdir(parents=True) (pkgdir / '__init__.py').touch() (msgs / "napari.po").write_text(es_CO_po) (msgs / "napari.mo").write_bytes(es_CO_mo) from napari_plugin_engine.manager import temp_path_additions with temp_path_additions(tmp_path): # Load translator and force a locale for testing translator._set_locale(TEST_LOCALE) return translator.load()
def test_locale_invalid(): with pytest.warns(UserWarning): translator._set_locale(TEST_LOCALE) trans = translator.load() result = trans._("BOO") assert result == "BOO"