feat(fls): installed applications as Java loads them
readSystemSoftware lists a PC's or notebook's installed applications with the settings the model needs: server applications switched on and their port, the generic client's target, DNS recursion, web server virtual hosts, Gnutella's peer limit and the personal firewall (on by default, unlike a router's). Defaults the file leaves out are measured in Java. All 23 corpus files match Java. Two examples install an application of their own (Accumulator, Broadcast), compiled into projekt/anwendungen; it is left out with a warning, as this reader cannot run Java classes. It must survive a save. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -33,6 +33,7 @@ import {
|
||||
type FlsTopology,
|
||||
type ImportedProject,
|
||||
} from '../src/index.js';
|
||||
import { EXPECTED_WARNINGS } from './expectedWarnings.js';
|
||||
|
||||
const corpusRoot = join(dirname(fileURLToPath(import.meta.url)), '../../../corpus');
|
||||
interface SwiftSummary {
|
||||
@@ -289,7 +290,7 @@ describe('corpus: the imported model as Swift builds it', () => {
|
||||
expect(withoutApplicationDirectories(asSwiftState(project), swiftWebRoots(expected))).toEqual(
|
||||
withoutApplicationDirectories(expected),
|
||||
);
|
||||
expect(project.warnings).toEqual([]);
|
||||
expect(project.warnings).toEqual(EXPECTED_WARNINGS[name] ?? []);
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -309,7 +310,7 @@ describe('corpus: every file imports completely', () => {
|
||||
|
||||
expect(project.graph.nodes).toHaveLength(javaView[name]!.nodes.length);
|
||||
expect(project.graph.links).toHaveLength(javaView[name]!.cables.length);
|
||||
expect(project.warnings).toEqual([]);
|
||||
expect(project.warnings).toEqual(EXPECTED_WARNINGS[name] ?? []);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user