Added Test, function checks, and cleaned some output.
parent
946d165aa0
commit
75a5fc0ddc
|
@ -1,3 +1,5 @@
|
||||||
|
import Utils from "../Utils.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NetBIOS operations.
|
* NetBIOS operations.
|
||||||
*
|
*
|
||||||
|
@ -26,9 +28,15 @@ const NetBIOS = {
|
||||||
let output = [],
|
let output = [],
|
||||||
offset = args[0];
|
offset = args[0];
|
||||||
|
|
||||||
for (let i = 0; i < input.length; i++) {
|
if (input.length <= 16) {
|
||||||
output.push((input[i] >> 4) + offset);
|
for (let i = 0; i < input.length; i++) {
|
||||||
output.push((input[i] & 0xf) + offset);
|
output.push((input[i] >> 4) + offset);
|
||||||
|
output.push((input[i] & 0xf) + offset);
|
||||||
|
}
|
||||||
|
for (let i = input.length; i < 16; i++) {
|
||||||
|
output.push(67);
|
||||||
|
output.push(65);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
|
@ -46,9 +54,12 @@ const NetBIOS = {
|
||||||
let output = [],
|
let output = [],
|
||||||
offset = args[0];
|
offset = args[0];
|
||||||
|
|
||||||
for (let i = 0; i < input.length; i += 2) {
|
if (input.length <= 32 && (input.length % 2) == 0) {
|
||||||
output.push((((input[i] & 0xff) - offset) << 4) |
|
for (let i = 0; i < input.length; i += 2) {
|
||||||
(((input[i + 1] & 0xff) - offset) & 0xf));
|
output.push((((input[i] & 0xff) - offset) << 4) |
|
||||||
|
(((input[i + 1] & 0xff) - offset) & 0xf));
|
||||||
|
}
|
||||||
|
output = Utils.strToByteArray(Utils.byteArrayToChars(output).trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
return output;
|
return output;
|
||||||
|
|
|
@ -26,6 +26,7 @@ import "./tests/operations/Image.js";
|
||||||
import "./tests/operations/MorseCode.js";
|
import "./tests/operations/MorseCode.js";
|
||||||
import "./tests/operations/MS.js";
|
import "./tests/operations/MS.js";
|
||||||
import "./tests/operations/PHP.js";
|
import "./tests/operations/PHP.js";
|
||||||
|
import "./tests/operations/NetBIOS.js";
|
||||||
import "./tests/operations/StrUtils.js";
|
import "./tests/operations/StrUtils.js";
|
||||||
import "./tests/operations/SeqUtils.js";
|
import "./tests/operations/SeqUtils.js";
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/**
|
||||||
|
* NetBIOS tests.
|
||||||
|
*
|
||||||
|
* @author bwhitn [brian.m.whitney@outlook.com]
|
||||||
|
*
|
||||||
|
* @copyright Crown Copyright 2017
|
||||||
|
* @license Apache-2.0
|
||||||
|
*/
|
||||||
|
import TestRegister from "../../TestRegister.js";
|
||||||
|
|
||||||
|
TestRegister.addTests([
|
||||||
|
{
|
||||||
|
name: "Encode NetBIOS name",
|
||||||
|
input: "The NetBIOS name",
|
||||||
|
expectedOutput: "FEGIGFCAEOGFHEECEJEPFDCAGOGBGNGF",
|
||||||
|
recipeConfig: [
|
||||||
|
{
|
||||||
|
op: "Encode NetBIOS Name",
|
||||||
|
args: [65],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Decode NetBIOS Name",
|
||||||
|
input: "FEGIGFCAEOGFHEECEJEPFDCAGOGBGNGF",
|
||||||
|
expectedOutput: "The NetBIOS name",
|
||||||
|
recipeConfig: [
|
||||||
|
{
|
||||||
|
op: "Decode NetBIOS Name",
|
||||||
|
args: [65],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]);
|
Loading…
Reference in New Issue