ui: give the Requires table its own AID column (v3.5.18)
The imported-library AIDs are now shown in a dedicated column between the library name and the minimum version (Library | AID | Version | Family | Refs), monospace and break-all so the 32-char UICC/3GPP AIDs wrap cleanly on narrow panels. When a library name cannot be resolved (vendor AID) the name cell shows a dash instead of repeating the AID now carried by the column. Tests updated: the Requires slice asserts the AID header and every row's AID, and the unresolved-name case expects the dash plus the AID column. Help EN/RU reworded; the AID key is a no-op in RU. 592 frontend / 473 Python green; version 3.5.18; sw simple-v271.
This commit is contained in:
@@ -106,15 +106,14 @@ test('capMemHtml renders the grouped report: package, requires, memory, componen
|
||||
assert.ok(out.includes('>24 B</td>'), out);
|
||||
assert.ok(out.includes('peak method frame 8 B'), out);
|
||||
assert.ok(out.includes('C6=3000 C7=0x0110 C8=0x0088'), out);
|
||||
// requires: library name, version, family and refs; the AID is not
|
||||
// repeated when the name resolves (it adds nothing), and the section
|
||||
// carries no package AIDs
|
||||
assert.ok(out.includes('>javacard.framework</td>'), out);
|
||||
assert.ok(out.includes('>\u2265 1.0</td>'), out);
|
||||
assert.ok(out.includes('>Oracle JavaCard API</td>'), out);
|
||||
assert.ok(out.includes('>6</td>'), out);
|
||||
// requires: library name, AID, minimum version, family and refs
|
||||
const req = out.slice(out.indexOf('Requires (1)'), out.indexOf('Memory</div>'));
|
||||
assert.ok(!req.includes('A0000000620101'), req);
|
||||
assert.ok(req.includes('>AID</td>'), req);
|
||||
assert.ok(req.includes('>javacard.framework</td>'), req);
|
||||
assert.ok(req.includes('>A0000000620101</td>'), req);
|
||||
assert.ok(req.includes('>\u2265 1.0</td>'), req);
|
||||
assert.ok(req.includes('>Oracle JavaCard API</td>'), req);
|
||||
assert.ok(req.includes('>6</td>'), req);
|
||||
// package identity + compiled-against hint derived from the framework version
|
||||
assert.ok(out.includes('A0000000620101') && out.includes('>v1.0</td>'), out);
|
||||
assert.ok(out.includes('applet package'), out);
|
||||
@@ -143,12 +142,13 @@ test('capMemHtml skips the import section on a response without imports', () =>
|
||||
assert.ok(out.includes('>2.1 kB</td>'), out);
|
||||
});
|
||||
|
||||
test('capMemHtml keeps unknown import AIDs bare and labels the family only when known', () => {
|
||||
test('capMemHtml shows a dash for an unresolved import name (the AID column carries it)', () => {
|
||||
const mem = memFixture();
|
||||
mem.imports = [{ aid: 'A1130001180001', minor: 0, major: 1, refs: 2 }];
|
||||
const out = capMemHtml(mem);
|
||||
const req = out.slice(out.indexOf('Requires (1)'), out.indexOf('Memory</div>'));
|
||||
assert.ok(req.includes('A1130001180001'), req); // unknown AID: shown as the name
|
||||
assert.ok(req.includes('>\u2014</td>'), req); // no resolved name: a dash
|
||||
assert.ok(req.includes('>A1130001180001</td>'), req); // the AID column carries it
|
||||
assert.ok(req.includes('>\u2265 1.0</td>'), req);
|
||||
assert.ok(req.includes('>2</td>'), req); // refs
|
||||
assert.ok(!out.includes('Java Card'), out); // no framework import
|
||||
|
||||
Reference in New Issue
Block a user