Sha256: 3960bf6c9e59f3b940fc394c0971042988d9e942dcb239aac0cc52ea6df579d8

Contents?: true

Size: 1.67 KB

Versions: 185

Compression:

Stored size: 1.67 KB

Contents

import Crypto from './crypto-square';

describe('Crypto', () => {
  test('normalize strange characters', () => {
    const crypto = new Crypto('s#$%^&plunk');
    expect(crypto.normalizePlaintext()).toEqual('splunk');
  });

  xtest('normalize numbers', () => {
    const crypto = new Crypto('1, 2, 3 GO!');
    expect(crypto.normalizePlaintext()).toEqual('123go');
  });

  xtest('size of small square', () => {
    const crypto = new Crypto('1234');
    expect(crypto.size()).toEqual(2);
  });

  xtest('size of small square with additional non-number chars', () => {
    const crypto = new Crypto('1 2 3 4');
    expect(crypto.size()).toEqual(2);
  });

  xtest('size of slightly larger square', () => {
    const crypto = new Crypto('123456789');
    expect(crypto.size()).toEqual(3);
  });

  xtest('size of non-perfect square', () => {
    const crypto = new Crypto('123456789abc');
    expect(crypto.size()).toEqual(4);
  });

  xtest('plain text segments', () => {
    const crypto = new Crypto('Never vex thine heart with idle woes');
    expect(crypto.plaintextSegments()).toEqual(['neverv', 'exthin', 'eheart', 'withid', 'lewoes']);
  });

  xtest('plain text segments', () => {
    const crypto = new Crypto('ZOMG! ZOMBIES!!!');
    expect(crypto.plaintextSegments()).toEqual(['zomg', 'zomb', 'ies']);
  });

  xtest('cipher text', () => {
    const crypto = new Crypto('Time is an illusion. Lunchtime doubly so.');
    expect(crypto.ciphertext()).toEqual('tasneyinicdsmiohooelntuillibsuuml');
  });

  xtest('cipher text', () => {
    const crypto = new Crypto('We all know interspecies romance is weird.');
    expect(crypto.ciphertext()).toEqual('wneiaweoreneawssciliprerlneoidktcms');
  });
});

Version data entries

185 entries across 185 versions & 1 rubygems

Version Path
trackler-2.2.1.78 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.77 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.76 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.75 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.74 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.73 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.72 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.71 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.70 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.69 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.68 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.67 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.66 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.65 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.64 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.63 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.62 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.61 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.60 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js
trackler-2.2.1.59 tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js