5180 fichiers 38.5 Mo 0 téléchargements 182 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / wired / WiredAddonLayoutCode.test.ts
WiredAddonLayoutCode.test.ts 2.5 Ko Télécharger le fichier
import { describe, expect, it } from 'vitest';
import { WiredAddonLayoutCode } from './WiredAddonLayoutCode';
import { WiredVariableLayoutCode } from './WiredVariableLayoutCode';

// The official AIR client's AddonCodes and VariableCodes (build WIN63-202610131318), for the ones we have.
const OFFICIAL_ADDONS: Record<string, number> = {
    CONDITION_EVALUATION: 0, RANDOM: 1, UNSEEN: 2, EXECUTION_LIMIT: 5, NO_MOVE_ANIMATION: 6, MOVE_PHYSICS: 7, CARRY_USERS: 8,
    ANIMATION_TIME: 9, FURNI_SELECTOR_FILTER: 10, USER_SELECTOR_FILTER: 11, FURNI_VARIABLE_FILTER: 12, USER_VARIABLE_FILTER: 13,
    USERNAME_PLACEHOLDER: 14, VARIABLE_PLACEHOLDER: 15, VARIABLE_CAPTURER: 16, EXECUTE_IN_ORDER: 17, CHEST_ITEM_TYPE_SCANNER: 18, FURNI_NAME_PLACEHOLDER: 19,
    CUSTOM_CONTRACT: 20, PROJECTILE: 21, MOVEMENT_CURVE: 22, VARIABLE_TEXT_CONVERTER: 1000, VARIABLE_LEVEL_UP: 1001, VARIABLE_TIME_UTIL: 1002,
    VARIABLE_ADDON_SHARE: 1003, VARIABLE_ADDON_IMPORT: 1004, VARIABLE_LEADERBOARD: 1005, VARIABLE_FX_HEALTH_POINTS: 1200, VARIABLE_FX_PROGRESS_BAR: 1201, VARIABLE_FX_LEVELLING_PROGRESS: 1202,
    VARIABLE_FX_STATUS_BAR: 1203, VARIABLE_FX_BOSS_BAR: 1204, VARIABLE_FX_NUMBER_DISPLAY: 1205, GLOBAL_PLACEHOLDER: 2000,
    ACHIEVEMENT_ENABLER: 2001, VARIABLES_WEB_API: 2002, LINK_SPEAKER: 2003
};
const OFFICIAL_VARIABLES: Record<string, number> = {
    FURNI_VARIABLE: 0, USER_VARIABLE: 1, GLOBAL_VARIABLE: 2, CONTEXT_VARIABLE: 3, REFERENCE_VARIABLE: 4, QUEST_VARIABLE: 5,
    QUEST_CHAIN_VARIABLE: 6, ECHO_VARIABLE: 7, DAILY_TASK_VARIABLE: 8, POINTER_VARIABLE: 9
};
const values = (table: unknown) => Object.values(table as Record<string, number>);

describe('WiredAddonLayoutCode / WiredVariableLayoutCode', () =>
{
    it('use the official codes', () =>
    {
        for(const [ name, code ] of Object.entries(OFFICIAL_ADDONS)) expect((WiredAddonLayoutCode as unknown as Record<string, number>)[name], name).toBe(code);
        for(const [ name, code ] of Object.entries(OFFICIAL_VARIABLES)) expect((WiredVariableLayoutCode as unknown as Record<string, number>)[name], name).toBe(code);
    });

    it('keep our own addons at 3000 and up, every code once', () =>
    {
        const codes = values(WiredAddonLayoutCode);

        expect(codes.filter(code => !values(OFFICIAL_ADDONS).includes(code)).every(code => code >= 3000)).toBe(true);
        expect(new Set(codes).size).toBe(codes.length);
        expect(new Set(values(WiredVariableLayoutCode)).size).toBe(values(WiredVariableLayoutCode).length);
    });
});
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser