Skip to content

Commit 88a2e42

Browse files
committed
write_hex_file: 'ext_addr_mode' parameter is now case-insensitive
1 parent 6731f34 commit 88a2e42

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

intelhex/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,8 @@ def write_hex_file(self, f, write_start_addr=True, eolstyle='native', byte_count
573573
minaddr = addresses[0] if addr_len else 0
574574
maxaddr = addresses[-1] if addr_len else 0
575575

576+
# make parameter case-insensitive
577+
ext_addr_mode = ext_addr_mode.lower()
576578
# resolve extended address type
577579
if ext_addr_mode == 'linear':
578580
# enforces Extended Linear Address record type (default)

intelhex/test.py

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1798,12 +1798,44 @@ def test_write_hex_file_byte_count_255(self):
17981798

17991799
class TestWriteHexFileExtAddrMode(unittest.TestCase):
18001800

1801-
def test_write_hex_file_wrong_ext_addr_mode(self):
1801+
def test_write_hex_file_ext_addr_mode_param(self):
18021802
ih = intelhex.IntelHex()
18031803
sio = StringIO()
1804+
1805+
# invalid param
18041806
self.assertRaises(ValueError, ih.write_hex_file, sio, ext_addr_mode='bad')
1807+
1808+
# insesitive casing check
1809+
isValueError = False
1810+
try:
1811+
ih.write_hex_file(sio, ext_addr_mode='AUTO')
1812+
except ValueError:
1813+
isValueError = True
1814+
self.assertFalse(isValueError)
1815+
1816+
isValueError = False
1817+
try:
1818+
ih.write_hex_file(sio, ext_addr_mode='Linear')
1819+
except ValueError:
1820+
isValueError = True
1821+
self.assertFalse(isValueError)
1822+
1823+
isValueError = False
1824+
try:
1825+
ih.write_hex_file(sio, ext_addr_mode='segmenT')
1826+
except ValueError:
1827+
isValueError = True
1828+
self.assertFalse(isValueError)
1829+
1830+
isValueError = False
1831+
try:
1832+
ih.write_hex_file(sio, ext_addr_mode='NoNe')
1833+
except ValueError:
1834+
isValueError = True
1835+
self.assertFalse(isValueError)
1836+
18051837
sio.close()
1806-
1838+
18071839
def test_write_hex_file_no_starting_address_simple(self):
18081840
#prepare
18091841
ih = intelhex.IntelHex(StringIO(hex_simple))

0 commit comments

Comments
 (0)