'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import { Jimp, mkJGD } from '@jimp/test-utils';
 
import configure from '@jimp/custom';
 
import flip from '../src';
 
const jimp = configure({ plugins: [flip] }, Jimp);
 
describe('Flipping plugin', () => {
  it('can flip horizontally', async () => {
    const src = await jimp.read(
      mkJGD(
        'AAAABBBB',
        'AAABAAAB',
        'ABABABAB',
        'CCCCCCCC',
        'CCCCCCCC',
        'CCCCCCCC',
        'AACCCCAA'
      )
    );
 
    const result = src.flip(true, false);
 
    result
      .getJGDSync()
      .should.be.sameJGD(
        mkJGD(
          'BBBBAAAA',
          'BAAABAAA',
          'BABABABA',
          'CCCCCCCC',
          'CCCCCCCC',
          'CCCCCCCC',
          'AACCCCAA'
        )
      );
  });
 
  it('can flip vertically', async () => {
    const src = await jimp.read(
      mkJGD(
        'AAAABBBB',
        'AAABAAAB',
        'ABABABAB',
        'CCCCCCCC',
        'CCCCCCCC',
        'CCCCCCCC',
        'AACCCCAA'
      )
    );
 
    const result = src.flip(false, true);
 
    result
      .getJGDSync()
      .should.be.sameJGD(
        mkJGD(
          'AACCCCAA',
          'CCCCCCCC',
          'CCCCCCCC',
          'CCCCCCCC',
          'ABABABAB',
          'AAABAAAB',
          'AAAABBBB'
        )
      );
  });
 
  it('can flip both horizontally and vertically at once', async () => {
    const src = await jimp.read(
      mkJGD(
        'AAAABBBB',
        'AAABAAAB',
        'ABABABAB',
        'CCCCCCCC',
        'CCCCCCCC',
        'CCCCCCCC',
        'AACCCCAA'
      )
    );
 
    const result = src.flip(true, true);
 
    result
      .getJGDSync()
      .should.be.sameJGD(
        mkJGD(
          'AACCCCAA',
          'CCCCCCCC',
          'CCCCCCCC',
          'CCCCCCCC',
          'BABABABA',
          'BAAABAAA',
          'BBBBAAAA'
        )
      );
  });
});