From 7ed68a50b1379a8d8265ff76292ed0620d2a45e5 Mon Sep 17 00:00:00 2001 From: Alexis Roda Date: Wed, 7 Aug 2019 02:05:14 +0200 Subject: Fix issue 11. --- tests/test_z80count.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 tests/test_z80count.py (limited to 'tests/test_z80count.py') diff --git a/tests/test_z80count.py b/tests/test_z80count.py new file mode 100644 index 0000000..c816359 --- /dev/null +++ b/tests/test_z80count.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +import pytest + +from z80count.z80count import Parser +from z80count.z80count import z80count + + +@pytest.mark.parametrize("line,expected", ( + ("PLY_InterruptionOn: call PLY_Init", + "PLY_InterruptionOn: call PLY_Init ; [17]\n"), + ("PLY_ReplayFrequency:\tld de,0", + "PLY_ReplayFrequency:\tld de,0 ; [10]\n"), + +)) +def test_issue_11(line, expected): + parser = Parser() + output, _ = z80count(line, parser, total=0, subt=False, + no_update=True, column=1, use_tabs=False, + tab_width=4, debug=False) + assert output == expected -- cgit v1.2.3 From fd9f4e10bf775303d19273feaf327b4f5c52a74a Mon Sep 17 00:00:00 2001 From: Alexis Roda Date: Wed, 7 Aug 2019 02:08:27 +0200 Subject: Fix regex for labels. SDCC also allows $ and dots in the labels. --- tests/test_z80count.py | 2 ++ z80count/z80count.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'tests/test_z80count.py') diff --git a/tests/test_z80count.py b/tests/test_z80count.py index c816359..85a9084 100644 --- a/tests/test_z80count.py +++ b/tests/test_z80count.py @@ -9,6 +9,8 @@ from z80count.z80count import z80count @pytest.mark.parametrize("line,expected", ( ("PLY_InterruptionOn: call PLY_Init", "PLY_InterruptionOn: call PLY_Init ; [17]\n"), + ("$PLY_Interruption.On: call PLY_Init", + "$PLY_Interruption.On: call PLY_Init ; [17]\n"), ("PLY_ReplayFrequency:\tld de,0", "PLY_ReplayFrequency:\tld de,0 ; [10]\n"), diff --git a/z80count/z80count.py b/z80count/z80count.py index 8356622..abfa48f 100644 --- a/z80count/z80count.py +++ b/z80count/z80count.py @@ -186,7 +186,7 @@ class Parser(object): """Simple parser based on a table of regexes.""" # [label:] OPERATOR [OPERANDS] [; comment] - _LINE_RE = re.compile(r"^([\w]+:)?\s*(?P\w+)(?P\s+.*)?$") + _LINE_RE = re.compile(r"^([$.\w]+:)?\s*(?P\w+)(?P\s+.*)?$") def __init__(self): self._table = self._load_table() -- cgit v1.2.3