mirror of https://github.com/lark-parser/lark.git
Merge pull request #1481 from weaversam8/bugfix/1476-symbol-eq
Fix `Symbol.__eq__` to return false when comparing with None
This commit is contained in:
commit
24f19a35f3
|
@ -16,7 +16,8 @@ class Symbol(Serialize):
|
|||
self.name = name
|
||||
|
||||
def __eq__(self, other):
|
||||
assert isinstance(other, Symbol), other
|
||||
if not isinstance(other, Symbol):
|
||||
return NotImplemented
|
||||
return self.is_term == other.is_term and self.name == other.name
|
||||
|
||||
def __ne__(self, other):
|
||||
|
|
|
@ -6,7 +6,7 @@ from unittest import TestCase, main
|
|||
from lark import Lark, Token, Tree, ParseError, UnexpectedInput
|
||||
from lark.load_grammar import GrammarError, GRAMMAR_ERRORS, find_grammar_errors, list_grammar_imports
|
||||
from lark.load_grammar import FromPackageLoader
|
||||
|
||||
from lark.grammar import Symbol
|
||||
|
||||
class TestGrammar(TestCase):
|
||||
def setUp(self):
|
||||
|
@ -296,8 +296,11 @@ class TestGrammar(TestCase):
|
|||
p.parse('ab')
|
||||
|
||||
|
||||
def test_symbol_eq(self):
|
||||
a = None
|
||||
b = Symbol("abc")
|
||||
|
||||
|
||||
self.assertNotEqual(a, b)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in New Issue