joplin-plugin-backup 1.2.2 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,149 +0,0 @@
1
- import { helper } from "../src/helper";
2
-
3
- describe("Test helper", function () {
4
- it(`validFileName`, async () => {
5
- const testCases = [
6
- {
7
- fileName: "some test file.txt",
8
- expected: true,
9
- },
10
- {
11
- fileName: "some ^test file.txt",
12
- expected: true,
13
- },
14
- {
15
- fileName: "some :test file.txt",
16
- expected: false,
17
- },
18
- {
19
- fileName: "some \\test file.txt",
20
- expected: false,
21
- },
22
- {
23
- fileName: "some |test file.txt",
24
- expected: false,
25
- },
26
- {
27
- fileName: "some /test file.txt",
28
- expected: false,
29
- },
30
- {
31
- fileName: "some *test file.txt",
32
- expected: false,
33
- },
34
- {
35
- fileName: "some ?test file.txt",
36
- expected: false,
37
- },
38
- {
39
- fileName: "some <test file.txt",
40
- expected: false,
41
- },
42
- {
43
- fileName: "some >test file.txt",
44
- expected: false,
45
- },
46
- {
47
- fileName: "com9.txt",
48
- expected: false,
49
- },
50
- {
51
- fileName: "nul.txt",
52
- expected: false,
53
- },
54
- {
55
- fileName: "prn.txt",
56
- expected: false,
57
- },
58
- {
59
- fileName: "con.txt",
60
- expected: false,
61
- },
62
- {
63
- fileName: "lpt5.txt",
64
- expected: false,
65
- },
66
- ];
67
-
68
- for (const testCase of testCases) {
69
- expect(await helper.validFileName(testCase.fileName)).toBe(
70
- testCase.expected
71
- );
72
- }
73
- });
74
- it(`Compare versions`, async () => {
75
- const testCases = [
76
- {
77
- version1: "2.9.12",
78
- version2: "2.9.12",
79
- expected: 0,
80
- },
81
- {
82
- version1: "2.9.12",
83
- version2: "2.9.13",
84
- expected: -1,
85
- },
86
- {
87
- version1: "2.9.13",
88
- version2: "2.9.12",
89
- expected: 1,
90
- },
91
- {
92
- version1: "2.10.6",
93
- version2: "2.9.12",
94
- expected: 1,
95
- },
96
- {
97
- version1: "3.10.6",
98
- version2: "2.11.8",
99
- expected: 1,
100
- },
101
- {
102
- version1: "2.10.6",
103
- version2: "3.11.8",
104
- expected: -1,
105
- },
106
- {
107
- version1: "2",
108
- version2: "2.1",
109
- expected: -1,
110
- },
111
- {
112
- version1: "2.1",
113
- version2: "2",
114
- expected: 1,
115
- },
116
- {
117
- version1: "3",
118
- version2: "2",
119
- expected: 1,
120
- },
121
- {
122
- version1: "2",
123
- version2: "2",
124
- expected: 0,
125
- },
126
- {
127
- version1: "3.11.8",
128
- version2: "3.11.8-a",
129
- expected: 0,
130
- },
131
- {
132
- version1: "2",
133
- version2: "",
134
- expected: -2,
135
- },
136
- {
137
- version1: "3.a.8",
138
- version2: "3.11.8",
139
- expected: -1,
140
- },
141
- ];
142
-
143
- for (const testCase of testCases) {
144
- expect(
145
- await helper.versionCompare(testCase.version1, testCase.version2)
146
- ).toBe(testCase.expected);
147
- }
148
- });
149
- });
@@ -1,82 +0,0 @@
1
- import { Backup } from "../src/Backup";
2
- import joplin from "api";
3
- import { when } from "jest-when";
4
-
5
- let backup = null;
6
-
7
- describe("Password", function () {
8
- beforeEach(async () => {
9
- backup = new Backup() as any;
10
- });
11
-
12
- it(`Check`, async () => {
13
- const spyOnsSettingsValue = jest.spyOn(joplin.settings, "value");
14
- const spyOnsSettingsSetValue = jest.spyOn(joplin.settings, "setValue");
15
-
16
- const testCases = [
17
- {
18
- usePassword: false,
19
- password: "",
20
- passwordRepeat: "",
21
- expected: 0,
22
- called: 2,
23
- },
24
- {
25
- usePassword: false,
26
- password: "test",
27
- passwordRepeat: "test",
28
- expected: 0,
29
- called: 2,
30
- },
31
- {
32
- usePassword: false,
33
- password: "testA",
34
- passwordRepeat: "testB",
35
- expected: 0,
36
- called: 2,
37
- },
38
- {
39
- usePassword: true,
40
- password: "test",
41
- passwordRepeat: "test",
42
- expected: 1,
43
- called: 0,
44
- },
45
- {
46
- usePassword: true,
47
- password: "testA",
48
- passwordRepeat: "testB",
49
- expected: -1,
50
- called: 2,
51
- },
52
- {
53
- usePassword: true,
54
- password: " ",
55
- passwordRepeat: " ",
56
- expected: -1,
57
- called: 2,
58
- },
59
- {
60
- usePassword: true,
61
- password: "",
62
- passwordRepeat: " ",
63
- expected: -1,
64
- called: 2,
65
- },
66
- ];
67
-
68
- for (const testCase of testCases) {
69
- /* prettier-ignore */
70
- when(spyOnsSettingsValue)
71
- .mockImplementation(() => Promise.resolve("no mockImplementation"))
72
- .calledWith("usePassword").mockImplementation(() => Promise.resolve(testCase.usePassword))
73
- .calledWith("password").mockImplementation(() => Promise.resolve(testCase.password))
74
- .calledWith("passwordRepeat").mockImplementation(() => Promise.resolve(testCase.passwordRepeat));
75
- expect(await backup.checkPassword()).toBe(testCase.expected);
76
-
77
- await backup.enablePassword();
78
- expect(spyOnsSettingsSetValue).toBeCalledTimes(testCase.called);
79
- spyOnsSettingsSetValue.mockReset();
80
- }
81
- });
82
- });
@@ -1,104 +0,0 @@
1
- import { sevenZip } from "../src/sevenZip";
2
- import * as path from "path";
3
- import * as fs from "fs-extra";
4
-
5
- const testBaseDir = path.join(__dirname, "ziptests");
6
-
7
- describe("Test sevenZip", function () {
8
- beforeAll(async () => {});
9
-
10
- beforeEach(async () => {
11
- fs.emptyDirSync(testBaseDir);
12
- });
13
-
14
- afterAll(async () => {
15
- fs.removeSync(testBaseDir);
16
- });
17
-
18
- it(`List`, async () => {
19
- const file1Name = "file1.txt";
20
- const file2Name = "file2.txt";
21
- const file3Name = "file3.txt";
22
- const file1 = path.join(testBaseDir, file1Name);
23
- fs.emptyDirSync(path.join(testBaseDir, "sub"));
24
- const file2 = path.join(testBaseDir, "sub", file2Name);
25
- const file3 = path.join(testBaseDir, file3Name);
26
- const zip = path.join(testBaseDir, "file.7z");
27
- fs.writeFileSync(file1, "file");
28
- fs.writeFileSync(file2, "file");
29
- fs.writeFileSync(file3, "file");
30
- expect(fs.existsSync(file1)).toBe(true);
31
- expect(fs.existsSync(file2)).toBe(true);
32
- expect(fs.existsSync(file3)).toBe(true);
33
- expect(fs.existsSync(zip)).toBe(false);
34
-
35
- expect(await sevenZip.add(zip, path.join(testBaseDir, "*"), "secret")).toBe(
36
- true
37
- );
38
- expect(fs.existsSync(zip)).toBe(true);
39
-
40
- expect(await sevenZip.passwordProtected(zip)).toBe(true);
41
-
42
- const fileList = await sevenZip.list(zip, "secret");
43
- expect(fileList.length).toBe(4);
44
- });
45
-
46
- it(`passwordProtected`, async () => {
47
- const fileName = "file.txt";
48
- const file = path.join(testBaseDir, fileName);
49
- const zipNoPw = path.join(testBaseDir, "nowpw.7z");
50
- const zippw = path.join(testBaseDir, "pw.7z");
51
-
52
- fs.writeFileSync(file, "file");
53
- expect(fs.existsSync(file)).toBe(true);
54
-
55
- expect(fs.existsSync(zipNoPw)).toBe(false);
56
- expect(await sevenZip.add(zipNoPw, file)).toBe(true);
57
- expect(fs.existsSync(zipNoPw)).toBe(true);
58
- expect(await sevenZip.passwordProtected(zipNoPw)).toBe(false);
59
-
60
- expect(fs.existsSync(zippw)).toBe(false);
61
- expect(await sevenZip.add(zippw, file, "secret")).toBe(true);
62
- expect(fs.existsSync(zippw)).toBe(true);
63
- expect(await sevenZip.passwordProtected(zippw)).toBe(true);
64
- });
65
-
66
- describe("Add", function () {
67
- it(`File`, async () => {
68
- const fileName = "file.txt";
69
- const file = path.join(testBaseDir, fileName);
70
- const zip = path.join(testBaseDir, "file.7z");
71
- fs.writeFileSync(file, "file");
72
- expect(fs.existsSync(file)).toBe(true);
73
- expect(fs.existsSync(zip)).toBe(false);
74
-
75
- const result = await sevenZip.add(zip, file);
76
- expect(result).toBe(true);
77
- expect(fs.existsSync(zip)).toBe(true);
78
-
79
- const sevenZipList = await sevenZip.list(zip);
80
- expect(sevenZipList.length).toBe(1);
81
- expect(sevenZipList[0].file).toBe(fileName);
82
- });
83
-
84
- it(`File with password`, async () => {
85
- const fileName = "file.txt";
86
- const file = path.join(testBaseDir, fileName);
87
- const zip = path.join(testBaseDir, "file.7z");
88
- const password = "secret";
89
- fs.writeFileSync(file, "file");
90
- expect(fs.existsSync(file)).toBe(true);
91
- expect(fs.existsSync(zip)).toBe(false);
92
-
93
- const result = await sevenZip.add(zip, file, password);
94
- expect(result).toBe(true);
95
- expect(fs.existsSync(zip)).toBe(true);
96
-
97
- expect(await sevenZip.passwordProtected(zip)).toBe(true);
98
-
99
- const sevenZipList = await sevenZip.list(zip, password);
100
- expect(sevenZipList.length).toBe(1);
101
- expect(sevenZipList[0].file).toBe(fileName);
102
- });
103
- });
104
- });
@@ -1,16 +0,0 @@
1
- import { sevenZip, pathTo7zip } from "../src/sevenZip";
2
- import * as path from "path";
3
- import joplin from "api";
4
-
5
- it(`Set bin from joplin`, async () => {
6
- const pathBevor = pathTo7zip;
7
- const pathAdd = "addJoplinPath";
8
- const pathAfter = path.join(pathAdd, "7zip-bin", pathTo7zip);
9
-
10
- jest.spyOn(joplin.plugins, "installationDir").mockImplementation(async () => {
11
- return pathAdd;
12
- });
13
-
14
- await sevenZip.updateBinPath();
15
- expect(pathTo7zip).toBe(pathAfter);
16
- });
Binary file
package/img/main.jpg DELETED
Binary file
@@ -1,3 +0,0 @@
1
- {
2
- "extraScripts": []
3
- }