Add unit tests for @spina, and fix various issues that were found.

Review Request #12918 — Created March 24, 2023 and submitted — Latest diff uploaded

Information

Spina
master

Reviewers

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
    new MutableSpinaClass 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.

Commits

Files