Preserve C/H bits and extension bit

This commit is contained in:
2026-03-12 09:25:53 +01:00
parent 5bf12c326a
commit 4dc3118806
3 changed files with 121 additions and 8 deletions

View File

@@ -0,0 +1,24 @@
import { Address } from "../src/address";
import { describe, it, expect } from "vitest";
describe("Address extension handling", () => {
it("encodes and decodes extension", () => {
const addr = new Address("NOCALL", 7, false, 0b11, true);
const bytes = addr.toBytes();
expect((bytes[6] & 0x01)).toBe(1); // extension set
const decoded = Address.fromBytes(bytes);
expect(decoded.getExtension()).toBe(true);
expect(decoded.callsign).toBe("NOCALL");
expect(decoded.ssid).toBe(7);
});
it("can set and clear extension", () => {
const addr = new Address("TEST", 1);
addr.setExtension(true);
let bytes = addr.toBytes();
expect((bytes[6] & 0x01)).toBe(1);
addr.setExtension(false);
bytes = addr.toBytes();
expect((bytes[6] & 0x01)).toBe(0);
});
});