Skip to content

Commit

Permalink
Add util for unsigned and signed int. conversion
Browse files Browse the repository at this point in the history
Will be used in later commit in extended clipboard handling.
  • Loading branch information
CendioNiko committed Feb 17, 2020
1 parent f52e979 commit 9575ded
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
15 changes: 15 additions & 0 deletions core/util/int.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
*/

export function toUnsigned32bit(toConvert) {
return toConvert >>> 0;
}

export function toSigned32bit(toConvert) {
return toConvert | 0;
}
16 changes: 16 additions & 0 deletions tests/test.int.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* eslint-disable no-console */
const expect = chai.expect;

import { toUnsigned32bit, toSigned32bit } from '../core/util/int.js';

describe('Integer casting', function () {
it('should cast unsigned to signed', function () {
let expected = 4294967286;
expect(toUnsigned32bit(-10)).to.equal(expected);
});

it('should cast signed to unsigned', function () {
let expected = -10;
expect(toSigned32bit(4294967286)).to.equal(expected);
});
});

0 comments on commit 9575ded

Please sign in to comment.