'use strict'; const assert = require('node:assert/strict'); const core = require('../../assets/widgets/admin-core.js'); assert.deepEqual(core.parseDependency('["mode","==","cards"]'), ['mode', '==', 'cards']); assert.deepEqual(core.parseDependency('{broken'), []); assert.equal(core.dependencyVisible(['mode', '==', 'cards'], 'cards'), true); assert.equal(core.dependencyVisible(['mode', '==', 'cards'], 'list'), false); assert.equal(core.dependencyVisible(['mode', '!=', 'cards'], 'list'), true); assert.equal(core.dependencyVisible(['mode', '!=', 'cards'], 'cards'), false); assert.equal(core.dependencyVisible([], 'anything'), true); assert.equal( core.replaceRepeaterIndexes('widget-aksrt_widget_slider[4][slides][__index_ab12cd34__][layers][9][title]', [2, 1]), 'widget-aksrt_widget_slider[4][slides][2][layers][1][title]' ); assert.equal(core.replaceRepeaterIndexes('plain[name]', [1]), 'plain[name]'); console.log('Widget admin core tests passed: dependency visibility and nested repeater indexing.');