Files
cocos-engine/tests/core/serialization/shared/cases/super.test.ts
Leslie Leigh (李的序) 705c977fc9 Binary serialization (#8946)
* Binary serialization

* Update snapshots

* Update

* rename option ccon -> useCCON

* Missing script

* encodeCCONJson: chunks -> chunkURLs

* Update

* (de)serializeSymbol -> (de)serializeTag;

* CustomizedSerializable -> CustomSerializable

* _deserializePrimitiveObject -> _fillPlainObject

* Unify CCClass CCClassConstructor

* encodeCCONJson -> parseCCONJson

* Custom serializable

* Move (de)serializeSuper(This) from context into global

* property -> read(write)Property; (de)serializeThis(Super) -> (read)writeThis(Super)

* CI and lint

* Mock cc env
2021-07-15 10:21:25 +08:00

67 lines
1.8 KiB
TypeScript

import { ccclassAutoNamed, runTest } from '../utils';
import { _decorator } from 'cc';
import { PORTS_BOTH_DYNAMIC_COMPILED, testEachPort } from '../port';
@ccclassAutoNamed(__filename)
class CCClassBase {
@_decorator.property
superField = 'superField';
@_decorator.property
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Super';
}
class TrivialClassBase {
@_decorator.property
superField = 'superField';
@_decorator.property
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Super';
}
@ccclassAutoNamed(__filename)
class CCClassInheritsFromCCClass extends CCClassBase {
@_decorator.property
derivedField = 'derivedField';
@_decorator.property
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Derived';
}
@ccclassAutoNamed(__filename)
class CCClassInheritsFromTrivialClass extends TrivialClassBase {
@_decorator.property
derivedField = 'derivedField';
@_decorator.property
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Derived';
}
class TrivialClassInheritsFromCCClass extends CCClassBase {
derivedField = 'derivedField';
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Derived';
}
class TrivialClassInheritsFromTrivialClass extends TrivialClassBase {
derivedField = 'derivedField';
superFieldToBeOverwritten = 'superFieldToBeOverwritten.Derived';
}
const value = {
ccClassInheritsFromCCClass: new CCClassInheritsFromCCClass(),
ccClassInheritsFromTrivialClass: new CCClassInheritsFromTrivialClass(),
// trivialClassInheritsFromCCClass: new TrivialClassInheritsFromCCClass(),
// trivialClassInheritsFromTrivialClass: new TrivialClassInheritsFromTrivialClass(),
};
testEachPort(PORTS_BOTH_DYNAMIC_COMPILED, async (port) => {
await runTest(
__filename,
port,
value,
);
});