Skip to content

Commit 78160b0

Browse files
committed
Add None term_to_binary conversion to an undefined Erlang atom.
1 parent 2ba600b commit 78160b0

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

erlang.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,8 @@ def _term_to_binary(term):
599599
return _dict_to_binary(term)
600600
elif type(term) == bool:
601601
return OtpErlangAtom(term and b'true' or b'false').binary()
602+
elif term is None:
603+
return OtpErlangAtom(b'undefined').binary()
602604
elif isinstance(term, OtpErlangAtom):
603605
return term.binary()
604606
elif isinstance(term, OtpErlangList):

tests/erlang_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,9 +434,10 @@ def test_term_to_binary_string_basic(self):
434434
def test_term_to_binary_string(self):
435435
self.assertEqual(b'\x83j', erlang.term_to_binary(''))
436436
self.assertEqual(b'\x83k\0\4test', erlang.term_to_binary('test'))
437-
def test_term_to_binary_boolean(self):
437+
def test_term_to_binary_predefined_atom(self):
438438
self.assertEqual(b'\x83s\4true', erlang.term_to_binary(True))
439439
self.assertEqual(b'\x83s\5false', erlang.term_to_binary(False))
440+
self.assertEqual(b'\x83s\x09undefined', erlang.term_to_binary(None))
440441
def test_term_to_binary_short_integer(self):
441442
self.assertEqual(b'\x83a\0', erlang.term_to_binary(0))
442443
self.assertEqual(b'\x83a\xff', erlang.term_to_binary(255))

0 commit comments

Comments
 (0)