Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
// TODO: add non XVIZ test cases
];
const validateMessageType = (tt, testcase, msg) => {
if (testcase.isValid) {
tt.is(getXVIZMessageType(msg), testcase.expectedType, 'XVIZ type matches');
} else {
tt.is(getXVIZMessageType(msg), null, 'XVIZ Type correctly null');
}
};
for (const testCase of testCases) {
t.comment(testCase.title);
t.is(isXVIZMessage(testCase.message), testCase.isValid, 'binary JSON object');
validateMessageType(t, testCase, testCase.message);
}
t.end();
});
const validateMessageType = (tt, testcase, msg) => {
if (testcase.isValid) {
const type = testcase.isBinary ? testcase.expectedType : testcase.message.type;
tt.is(getXVIZMessageType(msg), type, 'XVIZ type matches');
} else {
tt.is(getXVIZMessageType(msg), null, 'XVIZ type correctly null');
}
};
for (const testCase of testCases) {
t.comment(testCase.title);
t.is(isXVIZMessage(testCase.message), testCase.isValid, 'plain JSON object');
validateMessageType(t, testCase, testCase.message);
const jsonString = JSON.stringify(testCase.message);
t.is(isXVIZMessage(jsonString), testCase.isValid, 'JSON string');
validateMessageType(t, testCase, jsonString);
const binary = new TextEncoder().encode(jsonString);
t.is(isXVIZMessage(binary), testCase.isValid, 'Uint8Array');
t.is(isXVIZMessage(binary.buffer), testCase.isValid, 'ArrayBuffer');
validateMessageType(t, testCase, binary);
validateMessageType(t, testCase, binary.buffer);
}
t.end();
});
} else {
tt.is(getXVIZMessageType(msg), null, 'XVIZ type correctly null');
}
};
for (const testCase of testCases) {
t.comment(testCase.title);
t.is(isXVIZMessage(testCase.message), testCase.isValid, 'plain JSON object');
validateMessageType(t, testCase, testCase.message);
const jsonString = JSON.stringify(testCase.message);
t.is(isXVIZMessage(jsonString), testCase.isValid, 'JSON string');
validateMessageType(t, testCase, jsonString);
const binary = new TextEncoder().encode(jsonString);
t.is(isXVIZMessage(binary), testCase.isValid, 'Uint8Array');
t.is(isXVIZMessage(binary.buffer), testCase.isValid, 'ArrayBuffer');
validateMessageType(t, testCase, binary);
validateMessageType(t, testCase, binary.buffer);
}
t.end();
});
tt.is(getXVIZMessageType(msg), null, 'XVIZ type correctly null');
}
};
for (const testCase of testCases) {
t.comment(testCase.title);
t.is(isXVIZMessage(testCase.message), testCase.isValid, 'plain JSON object');
validateMessageType(t, testCase, testCase.message);
const jsonString = JSON.stringify(testCase.message);
t.is(isXVIZMessage(jsonString), testCase.isValid, 'JSON string');
validateMessageType(t, testCase, jsonString);
const binary = new TextEncoder().encode(jsonString);
t.is(isXVIZMessage(binary), testCase.isValid, 'Uint8Array');
t.is(isXVIZMessage(binary.buffer), testCase.isValid, 'ArrayBuffer');
validateMessageType(t, testCase, binary);
validateMessageType(t, testCase, binary.buffer);
}
t.end();
});