From a6c0db47ab544c9694e9b127682c57b8c784523e Mon Sep 17 00:00:00 2001 From: d98762625 Date: Thu, 16 Aug 2018 09:58:27 +0100 Subject: [PATCH] Finished first run through of tests --- src/node/config/excludedOperations.mjs | 3 -- src/node/index.mjs | 10 ++++++ test/tests/nodeApi/ops.mjs | 42 +++++++++++++++++++++++--- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/src/node/config/excludedOperations.mjs b/src/node/config/excludedOperations.mjs index 7046c7df..36f92499 100644 --- a/src/node/config/excludedOperations.mjs +++ b/src/node/config/excludedOperations.mjs @@ -19,9 +19,6 @@ export default [ "Unzip", "Zip", - // Also uses files - "DetectFileType", - "ExtractEXIF", // Relies on state of recipe. // "Magic", diff --git a/src/node/index.mjs b/src/node/index.mjs index ccc53ee6..06db3d89 100644 --- a/src/node/index.mjs +++ b/src/node/index.mjs @@ -57,6 +57,7 @@ import { DecodeText as core_DecodeText, DeriveEVPKey as core_DeriveEVPKey, DerivePBKDF2Key as core_DerivePBKDF2Key, + DetectFileType as core_DetectFileType, Diff as core_Diff, DisassembleX86 as core_DisassembleX86, Divide as core_Divide, @@ -69,6 +70,7 @@ import { ExpandAlphabetRange as core_ExpandAlphabetRange, ExtractDates as core_ExtractDates, ExtractDomains as core_ExtractDomains, + ExtractEXIF as core_ExtractEXIF, ExtractEmailAddresses as core_ExtractEmailAddresses, ExtractFilePaths as core_ExtractFilePaths, ExtractIPAddresses as core_ExtractIPAddresses, @@ -316,6 +318,7 @@ function generateChef() { "decodeText": wrap(core_DecodeText), "deriveEVPKey": wrap(core_DeriveEVPKey), "derivePBKDF2Key": wrap(core_DerivePBKDF2Key), + "detectFileType": wrap(core_DetectFileType), "diff": wrap(core_Diff), "disassembleX86": wrap(core_DisassembleX86), "divide": wrap(core_Divide), @@ -328,6 +331,7 @@ function generateChef() { "expandAlphabetRange": wrap(core_ExpandAlphabetRange), "extractDates": wrap(core_ExtractDates), "extractDomains": wrap(core_ExtractDomains), + "extractEXIF": wrap(core_ExtractEXIF), "extractEmailAddresses": wrap(core_ExtractEmailAddresses), "extractFilePaths": wrap(core_ExtractFilePaths), "extractIPAddresses": wrap(core_ExtractIPAddresses), @@ -559,6 +563,7 @@ const decodeNetBIOSName = chef.decodeNetBIOSName; const decodeText = chef.decodeText; const deriveEVPKey = chef.deriveEVPKey; const derivePBKDF2Key = chef.derivePBKDF2Key; +const detectFileType = chef.detectFileType; const diff = chef.diff; const disassembleX86 = chef.disassembleX86; const divide = chef.divide; @@ -571,6 +576,7 @@ const escapeUnicodeCharacters = chef.escapeUnicodeCharacters; const expandAlphabetRange = chef.expandAlphabetRange; const extractDates = chef.extractDates; const extractDomains = chef.extractDomains; +const extractEXIF = chef.extractEXIF; const extractEmailAddresses = chef.extractEmailAddresses; const extractFilePaths = chef.extractFilePaths; const extractIPAddresses = chef.extractIPAddresses; @@ -800,6 +806,7 @@ const operations = [ decodeText, deriveEVPKey, derivePBKDF2Key, + detectFileType, diff, disassembleX86, divide, @@ -812,6 +819,7 @@ const operations = [ expandAlphabetRange, extractDates, extractDomains, + extractEXIF, extractEmailAddresses, extractFilePaths, extractIPAddresses, @@ -1044,6 +1052,7 @@ export { decodeText, deriveEVPKey, derivePBKDF2Key, + detectFileType, diff, disassembleX86, divide, @@ -1056,6 +1065,7 @@ export { expandAlphabetRange, extractDates, extractDomains, + extractEXIF, extractEmailAddresses, extractFilePaths, extractIPAddresses, diff --git a/test/tests/nodeApi/ops.mjs b/test/tests/nodeApi/ops.mjs index f0718d68..4343b7df 100644 --- a/test/tests/nodeApi/ops.mjs +++ b/test/tests/nodeApi/ops.mjs @@ -938,6 +938,13 @@ smothering ampersand abreast assert.strictEqual(chef.toCamelCase("Quickest Wheel").toString(), "quickestWheel"); }), + it("toHex: accepts args", () => { + const result = toHex("some input", { + delimiter: "Colon", + }); + assert.strictEqual(result.toString(), "73:6f:6d:65:20:69:6e:70:75:74"); + }), + it("To Kebab case", () => { assert.strictEqual(chef.toKebabCase("Elfin Gold").toString(), "elfin-gold"); }), @@ -978,11 +985,36 @@ smothering ampersand abreast `); }), - it("toHex: accepts args", () => { - const result = toHex("some input", { - delimiter: "Colon", - }); - assert.strictEqual(result.toString(), "73:6f:6d:65:20:69:6e:70:75:74"); + it("XPath expression", () => { + assert.strictEqual( + chef.XPathExpression("abc", {xPath: "contact-info/company"}).toString(), + "abc"); + }), + + it("Zlib deflate / inflate", () => { + assert.strictEqual(chef.zlibInflate(chef.zlibDeflate("cut homer wile rooky grits dizen")).toString(), "cut homer wile rooky grits dizen"); + }), + + + it("Detect file type", () => { + assert.strictEqual( + chef.detectFileType(fs.readFileSync("test/tests/nodeApi/sampleData/pic.jpg")).toString(), + `File extension: jpg +MIME type: image/jpeg`); + }), + + it("extract EXIF", () => { + assert.strictEqual( + chef.extractEXIF(fs.readFileSync("test/tests/nodeApi/sampleData/pic.jpg")).toString(), + `Found 7 tags. + +Orientation: 1 +XResolution: 72 +YResolution: 72 +ResolutionUnit: 2 +ColorSpace: 1 +ExifImageWidth: 57 +ExifImageHeight: 57`); }), ]);