nes-emu
Version:
A NES emulator
30 lines (29 loc) • 995 B
JavaScript
;
var _Controller = _interopRequireDefault(require("./Controller"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const should = require("chai").Should();
describe("Controller", () => {
let controller;
beforeEach(() => {
const port = _Controller.default.createPorts().primary;
controller = new _Controller.default(port);
});
it("starts in 0", () => {
controller.toByte().should.equal(0);
});
it("can update button states", () => {
controller.update("BUTTON_B", true);
controller.update("BUTTON_LEFT", true);
controller.toByte().should.equal(0b01000010);
});
it("also updates the controller port", () => {
controller.update("BUTTON_B", true);
controller.update("BUTTON_LEFT", true);
controller.port.value.should.equal(0b01000010);
});
it("can clear all buttons", () => {
controller.update("BUTTON_B", true);
controller.clear();
controller.toByte().should.equal(0);
});
});