idlize

Форк
0
/
test_inheritance.ts 
54 строки · 1.7 Кб
1
import {strict as assert} from 'assert';
2

3
import {toArray, toStr, toInt32} from "../unit_utils"
4
import {RuntimeType, Tags} from "@arkoala/arkui/SerializerBase"
5
import {Serializer} from "@arkoala/arkui/Serializer"
6

7
enum AdaptiveColor {
8
    DEFAULT
9
}
10

11
enum ThemeColorMode {
12
    SYSTEM,
13
    LIGHT,
14
    DARK
15
}
16

17
it('Test BackgroundBlurStyleOptions serializer has superclass', function () {
18
    let serializer = new Serializer()
19
    let blurOptions: BlurOptions = {
20
        grayscale: [2, 3]
21
    }
22
    let backgroundBlurStyleOptions: BackgroundBlurStyleOptions = {
23
        colorMode: ThemeColorMode.SYSTEM,
24
        adaptiveColor: AdaptiveColor.DEFAULT,
25
        scale: 1,
26
        blurOptions: blurOptions,
27
    }
28
    serializer.writeBackgroundBlurStyleOptions(backgroundBlurStyleOptions)
29
    assert.deepEqual(toArray(serializer), [
30
        RuntimeType.NUMBER, ...toInt32(ThemeColorMode.SYSTEM),
31
        RuntimeType.NUMBER, ...toInt32(AdaptiveColor.DEFAULT),
32
        RuntimeType.NUMBER, Tags.INT32, ...toInt32(1),
33
        RuntimeType.OBJECT, RuntimeType.OBJECT, Tags.INT32, ...toInt32(2), Tags.INT32, ...toInt32(3)
34
    ])
35
});
36

37
it('Test bindSheet serializer has superclass', function () {
38
    let serializer = new Serializer()
39
    let resource: Resource = { id: 43, bundleName: "MyApp", moduleName: "MyApp" }
40
    let sheetTitle: SheetTitleOptions = {
41
        title: resource
42
    }
43
    serializer.writeSheetOptions({
44
        backgroundColor: '#00ffffff',
45
        title: sheetTitle
46
    })
47
    assert.deepEqual(toArray(serializer), [
48
        RuntimeType.STRING, RuntimeType.STRING, ...toStr("#00ffffff"),
49
        RuntimeType.OBJECT,
50
        RuntimeType.OBJECT, ...toStr(JSON.stringify(resource)),
51
        RuntimeType.UNDEFINED,
52
        RuntimeType.UNDEFINED
53
    ])
54
})
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.