1
exercism fetch javascript crypto-square

crypto-square.spec.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var Crypto = require('./crypto-square');

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

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

  xit('size of small square', function () {
    var crypto = new Crypto('1234');
    expect(crypto.size()).toEqual(2);
  });

  xit('size of small square with additional non-nuber chars', function () {
    var crypto = new Crypto('1 2 3 4');
    expect(crypto.size()).toEqual(2);
  });

  xit('size of slightly larger square', function () {
    var crypto = new Crypto('123456789');
    expect(crypto.size()).toEqual(3);
  });

  xit('size of non-perfect square', function () {
    var crypto = new Crypto('123456789abc');
    expect(crypto.size()).toEqual(4);
  });

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

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

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

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