CyberChef/test/tests/operations/Literals.mjs

115 lines
3.7 KiB
JavaScript
Raw Normal View History

2018-09-25 22:27:45 +02:00
/**
* Literal tests.
*
* @author edouard hinard []
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
import TestRegister from "../../TestRegister";
TestRegister.addTests([
{
name: "Literal: empty",
input: "",
expectedOutput: "b''",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: single quote",
input: "'",
expectedOutput: "b\"'\"",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: single quote and data",
input: "aaa'bbb",
expectedOutput: "b\"aaa'bbb\"",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: double quote",
input: "\"",
expectedOutput: "b'\"'",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: double quote and data",
input: "aaa\"bbb",
expectedOutput: "b'aaa\"bbb'",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: single + double",
input: "'\"",
expectedOutput: "b'\\'\"'",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: double + single",
input: "\"'",
expectedOutput: "b'\"\\''",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: UTF-8 encoded string",
input: "ça ma couté 20€",
expectedOutput: "b'\\xc3\\xa7a ma cout\\xc3\\xa9 20\\xe2\\x82\\xac'",
recipeConfig: [
{
"op": "To Python bytes",
"args": []
},
],
},
{
name: "Literal: all 256 byte values",
input: "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",
expectedOutput: "b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f !\"#$%&\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\x7f\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b\\x9c\\x9d\\x9e\\x9f\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xab\\xac\\xad\\xae\\xaf\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xbb\\xbc\\xbd\\xbe\\xbf\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\\xd0\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xe0\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff'",
recipeConfig: [
{
"op": "From Base64",
"args": ["A-Za-z0-9+/="]
},
{
"op": "To Python bytes",
"args": []
},
],
},
]);