d
This commit is contained in:
parent
c3a6f5ff37
commit
4c4e767ec6
73 changed files with 3502 additions and 741 deletions
15
test/v4786-effects-ux-smoke-test.js
Normal file
15
test/v4786-effects-ux-smoke-test.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
'use strict';
|
||||
const {assert,app,css,read,functionSource}=require('./helpers/app-source');
|
||||
const catalog=JSON.parse(read('store-catalog.json')),ids=new Set(catalog.map(item=>item.id));
|
||||
for(const id of['line-effect-prism','line-effect-comet','line-effect-neon','reaction-effect-rain'])assert(!ids.has(id),`Retired effect remains in catalog: ${id}`);
|
||||
assert(app.includes('MAX_RENDER_FPS=30')&&app.includes('AUXILIARY_FPS=30')&&app.includes('REACTION_TARGET_FPS=30')&&app.includes('DRAG_TARGET_FPS=30'),'Visual rendering is not capped at 30 FPS');
|
||||
assert(css.includes('.path.line-effect-aurora,.gate-marker.line-effect-aurora')&&css.includes('.gate-dot.line-effect-aurora')&&css.includes('!important')&&functionSource('nextAuroraRgb').includes('auroraPaletteIndex')&&functionSource('startAuroraRgbAnimation').includes('AURORA_COLOR_INTERVAL')&&app.includes('AURORA_COLOR_INTERVAL=2000'),'Aurora is not driven by the curated two-second palette across lines and gates');
|
||||
const styled=functionSource('drawStyledReaction');
|
||||
assert(!styled.includes("style==='rain'")&&styled.includes('floatY=-18')&&!styled.includes('drawReactionFlash(context,50'),'Classic reaction is not reduced to a simple floating emoji or rain remains');
|
||||
assert(functionSource('drawLaserReaction').includes('spin*3.8'),'Laser center emoji is not rotating at high speed');
|
||||
const publish=functionSource('publishReactionAt');
|
||||
assert(publish.includes("style!=='classic'")&&publish.includes('activeLocalSpecialReactionUntil=expiresAt')&&publish.includes('sendOrQueueRealtimeReaction(reaction)'),'Client does not lock or share overlapping special emoji effects');
|
||||
assert(functionSource('publishReaction',read('realtime-server.js')).includes('active.playerId===client.playerId'),'Server does not reject overlapping special emoji effects');
|
||||
assert(functionSource('animatePurchasedItemToInventory').includes("fly.className='purchase-item-fly'")&&functionSource('animatePurchasedItemToInventory').includes('inventoryBtn.classList.add')&&functionSource('renderStorePanel').includes('purchaseFlyOrigin(icon)'),'Purchased-item appearance does not fly into the Item button');
|
||||
assert(!functionSource('makeBoard').includes('active-board-boundary')&&!css.includes('active-board-boundary'),'Retired selected-board orbit outline remains');
|
||||
console.log('v47.87 effect performance, reaction sharing, Aurora, and shop fly-in passed');
|
||||
Loading…
Add table
Add a link
Reference in a new issue