Fix supervised credentials and declare typed RPC records for canvas placement
This commit is contained in:
@@ -13,6 +13,17 @@ import {
|
||||
fixtureId,
|
||||
} from "./fixtures/capability-model.js";
|
||||
|
||||
test("RPC record fields retain declared reference targets and reject duplicate fields", () => {
|
||||
const compile = (fields: string) => compileCapabilityResourceSource(`
|
||||
external atom Board id "atom:board";
|
||||
package Runtime id "package:runtime" revision "package:runtime@1" {
|
||||
function move id "export:move" : record { ${fields} } -> unit;
|
||||
}`, {source: {repository: "https://example.test/runtime.git", commit: "a".repeat(40)}});
|
||||
const result = compile("board: atom-ref<Board>; position: record { x: double; y: double; }; note: optional<string>;");
|
||||
assert.equal(result.ok, true, JSON.stringify(result.diagnostics));
|
||||
assert.equal(compile("board: atom-ref<Board>; board: string;").ok, false);
|
||||
});
|
||||
|
||||
const compileWebStudioFixture = (packageTransform = (source: string) => source) => {
|
||||
const fixture = (name: string) => readFileSync(
|
||||
resolve(process.cwd(), "test/fixtures", name),
|
||||
|
||||
Reference in New Issue
Block a user