# -*- coding: utf-8 -*- # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/master/COPYING import pytest from pylint.checkers import BaseChecker from pylint.message import MessageDefinitionStore, MessageIdStore @pytest.fixture def msgid(): return "W1234" @pytest.fixture def symbol(): return "msg-symbol" @pytest.fixture def empty_store(): return MessageDefinitionStore() @pytest.fixture def store(): store = MessageDefinitionStore() class Checker(BaseChecker): name = "achecker" msgs = { "W1234": ( "message", "msg-symbol", "msg description.", {"old_names": [("W0001", "old-symbol")]}, ), "E1234": ( "Duplicate keyword argument %r in %s call", "duplicate-keyword-arg", "Used when a function call passes the same keyword argument multiple times.", {"maxversion": (2, 6)}, ), } store.register_messages_from_checker(Checker()) return store @pytest.fixture def message_definitions(store): return store.messages @pytest.fixture def msgids(): return { "W1234": "warning-symbol", "W1235": "warning-symbol-two", "C1234": "convention-symbol", "E1234": "error-symbol", } @pytest.fixture def empty_msgid_store(): return MessageIdStore() @pytest.fixture def msgid_store(msgids): msgid_store = MessageIdStore() for msgid, symbol in msgids.items(): msgid_store.add_msgid_and_symbol(msgid, symbol) return msgid_store