Add unit tests for base class support, and fix some issues.
Review Request #12916 — Created March 24, 2023 and submitted — Latest diff uploaded
This change adds a new test suite covering
spinaBaseClassExtends()
(and a lot of common code shared with@spina
).In the process, some typing and runtime issues were found and fixed:
-
Mixins can now mix in static members.
-
Mixins are now applied before processing attributes, allowing for
static members to be mixed in and processed. -
An attribute was unnecessarily set twice when copying static members
to the prototype. -
extend()
is now part of theSpinaClass
interface. -
Some functions now reference
PartialSpinaClass
rather than
SpinaClass
, when working with a class that hasn't yet been fully
processed.
Unit tests pass.