ui: Parser pill — C-APDU / R-APDU parsers as sub-pills; R-APDU rename (v3.5.0)
Remote APDU now has six top-level pills (SIM RFM, USIM RFM, RAM/GP, Expanded Script, Push commands, Parser); the C-APDU and R-APDU parsers are nested panels behind the Parser pill, switched by parserSwitchSubtab(). - "Response parser" renamed to "R-APDU parser" (RU: «Разбор R-APDU»), the umbrella is "Parser" / «Разбор»; the C-APDU panel keeps its id and label. - cApduSwitchSubtab() routes nested names through the Parser pill first, so pysimSendOta()'s post-send jump keeps working; the help deep-link anchor follows the selected parser (c-apdu-parser / response-parser) and the Push commands pill now links to the renamed #push-commands section. - The small C-APDU panel moved next to the R-APDU panel so both live in the #c-apdu-sub-parser container; html.test.js checks the nesting and sub-pills. - Pill lists updated in help EN/RU (2.6 note, 2.8 heading), READMEs, AGENTS; sw cache -> simple-v248.
This commit is contained in:
@@ -119,9 +119,19 @@ test('profile rows have a Clone action', () => {
|
||||
assert.match(html, /t\('Clone'\)/);
|
||||
});
|
||||
|
||||
test('response parser is a Remote APDU pill', () => {
|
||||
assert.match(html, /data-sub="response" onclick="cApduSwitchSubtab\('response'\)"/);
|
||||
assert.ok(html.includes('id="c-apdu-sub-response"'));
|
||||
test('the C-APDU and R-APDU parsers are sub-pills of the Parser pill', () => {
|
||||
// The Parser pill is a top-level Remote APDU subtab...
|
||||
assert.match(html, /data-sub="parser" onclick="cApduSwitchSubtab\('parser'\)"/);
|
||||
// ...and both parser panels live inside its container, one after the other.
|
||||
const container = html.indexOf('id="c-apdu-sub-parser"');
|
||||
const parse = html.indexOf('id="c-apdu-sub-parse"');
|
||||
const response = html.indexOf('id="c-apdu-sub-response"');
|
||||
assert.ok(container > 0, 'Parser container missing');
|
||||
assert.ok(parse > container, 'C-APDU panel must be inside the Parser container');
|
||||
assert.ok(response > parse, 'R-APDU panel must follow the C-APDU panel');
|
||||
// Their sub-pill buttons exist and switch through parserSwitchSubtab.
|
||||
assert.match(html, /id="parser-btn-parse" onclick="parserSwitchSubtab\('parse'\)"/);
|
||||
assert.match(html, /id="parser-btn-response" onclick="parserSwitchSubtab\('response'\)"/);
|
||||
});
|
||||
|
||||
test('profiler and phone simulator are top-level tab contents', () => {
|
||||
|
||||
Reference in New Issue
Block a user