Add unit tests for @spina, and fix various issues that were found.
Review Request #12918 — Created March 24, 2023 and submitted — Latest diff uploaded
This change adds unit tests that cover the
@spina
decorator, testing
all options and behaviors.While working on this, the following issues were found and fixed:
-
Instances created from a Spina class were lacking the typing to access
Spina state and methods. -
__spinaOptions
wasn't marked readonly (fixing this required adding a
newMutableSpinaClass
so class prep could set this option). -
__spinaOptions
was always duplicated, wasting memory, since we
weren't checking for emptiness correctly. -
automergeAttrs
retained attributes that were skipped. -
Wrong names for classes could be used.
-
__super__
wasn't read-only.
Unit tests pass.