UNPKG

mcard-js

Version:

A JavaScript implementation of MCard - A data model for persistently storing content with cryptographic hashing and timestamping

79 lines (66 loc) 4.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _content_type_detector = _interopRequireDefault(require("../content/model/content_type_detector.js")); // Test script for content type detection // Create test examples const jsonBufferExample = { "type": "Buffer", "data": [123, 10, 32, 32, 34, 110, 97, 109, 101, 34, 58, 32, 34, 84, 101, 115, 116, 32, 79, 98, 106, 101, 99, 116, 34, 44, 10, 32, 32, 34, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 58, 32, 123, 10, 32, 32, 32, 32, 34, 99, 111, 108, 111, 114, 34, 58, 32, 34, 98, 108, 117, 101, 34, 44, 10, 32, 32, 32, 32, 34, 115, 105, 122, 101, 34, 58, 32, 49, 48, 48, 44, 10, 32, 32, 32, 32, 34, 110, 101, 115, 116, 101, 100, 34, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 34, 97, 114, 114, 97, 121, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 51, 10, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 34, 98, 111, 111, 108, 101, 97, 110, 34, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 10, 125] }; const csvBufferExample = { "type": "Buffer", "data": [105, 100, 44, 110, 97, 109, 101, 44, 118, 97, 108, 117, 101, 10, 49, 44, 73, 116, 101, 109, 32, 49, 44, 49, 48, 48, 10, 50, 44, 73, 116, 101, 109, 32, 50, 44, 50, 48, 48, 10, 51, 44, 73, 116, 101, 109, 32, 51, 44, 51, 48, 48, 10] }; // Plain text example const txtBufferExample = { "type": "Buffer", "data": [84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 105, 109, 112, 108, 101, 32, 112, 108, 97, 105, 110, 32, 116, 101, 120, 116, 32, 102, 105, 108, 101, 46, 10, 10, 73, 116, 32, 100, 111, 101, 115, 110, 39, 116, 32, 104, 97, 118, 101, 32, 97, 110, 121, 32, 115, 112, 101, 99, 105, 97, 108, 32, 102, 111, 114, 109, 97, 116, 116, 105, 110, 103, 32, 111, 114, 32, 115, 116, 114, 117, 99, 116, 117, 114, 101, 46, 10, 10, 74, 117, 115, 116, 32, 112, 108, 97, 105, 110, 32, 116, 101, 120, 116, 46] }; // Example MOV file header bytes const movFileHeader = new Uint8Array([0x00, 0x00, 0x00, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); // Mock MOV file buffer const movBufferExample = { type: "Buffer", data: Array.from(movFileHeader) }; // Function to decode buffer content to readable format function decodeBuffer(bufferJson) { if (typeof bufferJson === 'object' && bufferJson.type === 'Buffer' && Array.isArray(bufferJson.data)) { const array = new Uint8Array(bufferJson.data); return new TextDecoder().decode(array); } return "Not a buffer format"; } // Test detection without our enhancement function runTests() { console.log("====== TEST RESULTS ======"); // 1. Test JSON Buffer content console.log("\n1. Testing JSON Buffer Example:"); console.log("Decoded content:", decodeBuffer(jsonBufferExample)); const jsonResult = _content_type_detector.default.detectContentType(jsonBufferExample); console.log("Detection result:", jsonResult); // 2. Test CSV Buffer content console.log("\n2. Testing CSV Buffer Example:"); console.log("Decoded content:", decodeBuffer(csvBufferExample)); const csvResult = _content_type_detector.default.detectContentType(csvBufferExample); console.log("Detection result:", csvResult); // 3. Test TXT Buffer content console.log("\n3. Testing TXT Buffer Example:"); console.log("Decoded content:", decodeBuffer(txtBufferExample)); const txtResult = _content_type_detector.default.detectContentType(txtBufferExample); console.log("Detection result:", txtResult); // 4. Test MOV file detection console.log("\n4. Testing MOV Buffer Example:"); console.log("Cannot show decoded binary content"); const movResult = _content_type_detector.default.detectContentType(movBufferExample); console.log("Detection result:", movResult); // Summary console.log("\n====== SUMMARY ======"); console.log("JSON detected as:", jsonResult.mimeType, "(" + jsonResult.extension + ")"); console.log("CSV detected as:", csvResult.mimeType, "(" + csvResult.extension + ")"); console.log("TXT detected as:", txtResult.mimeType, "(" + txtResult.extension + ")"); console.log("MOV detected as:", movResult.mimeType, "(" + movResult.extension + ")"); } runTests(); // Run this with Node.js: node src/utils/test-content-detection.js //# sourceMappingURL=test-content-detection.js.map