1 | 'use strict';
|
2 |
|
3 | const fileSorter = require('../src/filesorter.js');
|
4 | const assert = require('assert');
|
5 |
|
6 | describe('fileSorter', () => {
|
7 | it('should sort files per filename', () => {
|
8 | assert.deepEqual(
|
9 | [
|
10 | '/var/plop/c.svg',
|
11 | '/var/plop/a.svg',
|
12 | '/var/plop/A.svg',
|
13 | '/var/plop/C.svg',
|
14 | '/var/plop/B.svg',
|
15 | '/var/plop/b.svg',
|
16 | ].sort(fileSorter),
|
17 | [
|
18 | '/var/plop/A.svg',
|
19 | '/var/plop/B.svg',
|
20 | '/var/plop/C.svg',
|
21 | '/var/plop/a.svg',
|
22 | '/var/plop/b.svg',
|
23 | '/var/plop/c.svg',
|
24 | ]
|
25 | );
|
26 | });
|
27 |
|
28 | it('should sort files per codepoints', () => {
|
29 | assert.deepEqual(
|
30 | [
|
31 | '/var/plop/uAE01-c.svg',
|
32 | '/var/plop/uAE03-a.svg',
|
33 | '/var/plop/uAE02-A.svg',
|
34 | '/var/plop/uAE06-C.svg',
|
35 | '/var/plop/uAE04-B.svg',
|
36 | '/var/plop/uAE05-b.svg',
|
37 | ].sort(fileSorter),
|
38 | [
|
39 | '/var/plop/uAE01-c.svg',
|
40 | '/var/plop/uAE02-A.svg',
|
41 | '/var/plop/uAE03-a.svg',
|
42 | '/var/plop/uAE04-B.svg',
|
43 | '/var/plop/uAE05-b.svg',
|
44 | '/var/plop/uAE06-C.svg',
|
45 | ]
|
46 | );
|
47 | });
|
48 |
|
49 | it('should put codepoints first', () => {
|
50 | assert.deepEqual(
|
51 | [
|
52 | '/var/plop/uAE01-c.svg',
|
53 | '/var/plop/uAE03-a.svg',
|
54 | '/var/plop/uAE02-A.svg',
|
55 | '/var/plop/C.svg',
|
56 | '/var/plop/B.svg',
|
57 | '/var/plop/b.svg',
|
58 | ].sort(fileSorter),
|
59 | [
|
60 | '/var/plop/uAE01-c.svg',
|
61 | '/var/plop/uAE02-A.svg',
|
62 | '/var/plop/uAE03-a.svg',
|
63 | '/var/plop/B.svg',
|
64 | '/var/plop/C.svg',
|
65 | '/var/plop/b.svg',
|
66 | ]
|
67 | );
|
68 | });
|
69 |
|
70 | it('should work with the @pinin files', () => {
|
71 | assert.deepEqual(
|
72 | [
|
73 | 'bell-disabled.svg',
|
74 | 'bell-disabled-o.svg',
|
75 | 'bell-o.svg',
|
76 | 'UEA01-calendar-agenda.svg',
|
77 | 'UEA02-calendar-alert.svg',
|
78 | 'UEA03-calendar.svg',
|
79 | 'uEA04-bookmark-favorite.svg',
|
80 | 'uEA05-bookmark-o.svg',
|
81 | 'uEA06-bookmark.svg',
|
82 | ].sort(fileSorter),
|
83 | [
|
84 | 'UEA01-calendar-agenda.svg',
|
85 | 'UEA02-calendar-alert.svg',
|
86 | 'UEA03-calendar.svg',
|
87 | 'uEA04-bookmark-favorite.svg',
|
88 | 'uEA05-bookmark-o.svg',
|
89 | 'uEA06-bookmark.svg',
|
90 | 'bell-disabled.svg',
|
91 | 'bell-disabled-o.svg',
|
92 | 'bell-o.svg',
|
93 | ]
|
94 | );
|
95 | });
|
96 | });
|