beeware / batavia

A JavaScript implementation of the Python virtual machine.
http://pybee.org/batavia
Other
1.39k stars 424 forks source link

Completed implementation of float() builtin - all test cases now passing. #747

Closed nicklambourne closed 6 years ago

nicklambourne commented 6 years ago

Changes

Added python-compliant error handling support for passing complex, byte and bytearray objects to the float builtin function. Some of these types threw non-standard messages in python and this functionality has been implemented in Batavia.

Problem

Error handling for objects of type complex, bytes and bytearray when passed to the builtin float() did not conform to the CPython implementation (generally threw ValueErrors instead of the correct TypeErrors). These issues were the causes of all remaining test failures in the float() Batavia implementation.

Issues

Contributes to fixing #47.

PR Checklist: