From 3827810000b112ba5fd3508c8b03992ecf2cc93e Mon Sep 17 00:00:00 2001 From: Moul <moul@moul.re> Date: Sat, 20 Apr 2019 21:38:31 +0200 Subject: [PATCH] [fix] OutputSource: fix from_inline() regex: - Remove trailing \n, and limit UnitBase to 9 - Lock feature with a test --- duniterpy/documents/transaction.py | 2 +- tests/documents/test_transaction.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/duniterpy/documents/transaction.py b/duniterpy/documents/transaction.py index cd2ad5b1..71aeda2f 100644 --- a/duniterpy/documents/transaction.py +++ b/duniterpy/documents/transaction.py @@ -154,7 +154,7 @@ class OutputSource: """ A Transaction OUTPUT """ - re_inline = re.compile("([0-9]+):([0-9]+):(.*)\n") + re_inline = re.compile("([0-9]+):([0-9]):(.*)") def __init__(self, amount: int, base: int, condition: str) -> None: """ diff --git a/tests/documents/test_transaction.py b/tests/documents/test_transaction.py index 34e1cfab..af5aa072 100644 --- a/tests/documents/test_transaction.py +++ b/tests/documents/test_transaction.py @@ -6,7 +6,7 @@ Created on 12 déc. 2014 import unittest import pypeg2 from duniterpy.grammars import output -from duniterpy.documents.transaction import Transaction, reduce_base, SimpleTransaction, InputSource +from duniterpy.documents.transaction import Transaction, reduce_base, SimpleTransaction, InputSource, OutputSource compact_change = """TX:10:1:1:1:1:1:0 13410-000041DF0CCA173F09B5FBA48F619D4BC934F12ADF1D0B798639EB2149C4A8CC @@ -486,3 +486,9 @@ class TestTransaction(unittest.TestCase): input_source_str = "30:0:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2" i = InputSource.from_inline(10, input_source_str) self.assertEqual(i.inline(10), input_source_str) + + + def test_outputsource_from_inline(self): + output_source_str = "460:0:SIG(8kXygUHh1vLjmcRzXVM86t38EL8dfFJgfBeHmkaWLamu)" + o = OutputSource.from_inline(output_source_str) + self.assertEqual(o.inline(), output_source_str) -- GitLab