Added Test, function checks, and cleaned some output.

feature-extract-files
bwhitn 2017-12-15 19:46:21 -05:00
parent 946d165aa0
commit 75a5fc0ddc
3 changed files with 52 additions and 6 deletions

View File

@ -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;

View File

@ -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";

View File

@ -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],
},
],
},
]);