StringArrayEncodingSanitizer.spec.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { assert } from 'chai';
  2. import { TStringArrayEncoding } from '../../../../src/types/options/TStringArrayEncoding';
  3. import { StringArrayEncoding } from '../../../../src/enums/StringArrayEncoding';
  4. import { StringArrayEncodingSanitizer } from '../../../../src/cli/sanitizers/StringArrayEncodingSanitizer';
  5. describe('StringArrayEncodingSanitizer', () => {
  6. describe('Variant #1: string array encoding `base64`', () => {
  7. const inputValue: string = 'base64';
  8. const expectedValue: TStringArrayEncoding[] = [StringArrayEncoding.Base64];
  9. let value: TStringArrayEncoding[];
  10. before(() => {
  11. value = StringArrayEncodingSanitizer(inputValue);
  12. });
  13. it('should sanitize value', () => {
  14. assert.deepEqual(value, expectedValue);
  15. });
  16. });
  17. describe('Variant #2: string array encoding `base64, rc4`', () => {
  18. const inputValue: string = 'base64,rc4';
  19. const expectedValue: TStringArrayEncoding[] = [
  20. StringArrayEncoding.Base64,
  21. StringArrayEncoding.Rc4
  22. ];
  23. let value: TStringArrayEncoding[];
  24. before(() => {
  25. value = StringArrayEncodingSanitizer(inputValue);
  26. });
  27. it('should sanitize value', () => {
  28. assert.deepEqual(value, expectedValue);
  29. });
  30. });
  31. describe('Variant #3: string array encoding `foo`', () => {
  32. const inputValue: string = 'foo';
  33. let testFunc: () => TStringArrayEncoding[];
  34. before(() => {
  35. testFunc = () => StringArrayEncodingSanitizer(inputValue);
  36. });
  37. it('should throw an error for invalid encoding', () => {
  38. assert.throws(testFunc, 'Invalid value');
  39. });
  40. });
  41. describe('Variant #4: string array encoding `base64,foo`', () => {
  42. const inputValue: string = 'base64,foo';
  43. let testFunc: () => TStringArrayEncoding[];
  44. before(() => {
  45. testFunc = () => StringArrayEncodingSanitizer(inputValue);
  46. });
  47. it('should throw an error for invalid encoding', () => {
  48. assert.throws(testFunc, 'Invalid value');
  49. });
  50. });
  51. });