-
Notifications
You must be signed in to change notification settings - Fork 98
Expand file tree
/
Copy pathfindUserProjects.test.mts
More file actions
79 lines (77 loc) · 2.68 KB
/
findUserProjects.test.mts
File metadata and controls
79 lines (77 loc) · 2.68 KB
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
import { deepEqual, equal } from "node:assert/strict";
import * as os from "node:os";
import * as path from "node:path";
import { describe, it } from "node:test";
import { findUserProjects, toProjectEntry } from "../../windows/app.mjs";
describe("findUserProjects()", () => {
it("finds all user projects, ignoring android/ios/macos/node_modules", () => {
const projectPath = path.join("test", "__fixtures__", "windows_test_app");
deepEqual(findUserProjects(projectPath), [
{
path: path.join(projectPath, "Root.vcxproj"),
name: "Root",
guid: "{00000000-0000-0000-0000-000000000000}",
},
{
path: path.join(projectPath, "windows", "Windows.vcxproj"),
name: "ReactTestApp",
guid: "{00000000-0000-0000-0000-000000000000}",
},
{
path: path.join(projectPath, "windows", "WithoutProjectName.vcxproj"),
name: "WithoutProjectName",
guid: "{00000000-0000-0000-0000-000000000000}",
},
]);
deepEqual(findUserProjects(path.join(projectPath, "android")), [
{
path: path.join(projectPath, "android", "Android.vcxproj"),
name: "Android",
guid: "{00000000-0000-0000-0000-000000000000}",
},
]);
deepEqual(findUserProjects(path.join(projectPath, "ios")), [
{
path: path.join(projectPath, "ios", "iOS.vcxproj"),
name: "iOS",
guid: "{00000000-0000-0000-0000-000000000000}",
},
]);
deepEqual(findUserProjects(path.join(projectPath, "macos")), [
{
path: path.join(projectPath, "macos", "macOS.vcxproj"),
name: "macOS",
guid: "{00000000-0000-0000-0000-000000000000}",
},
]);
deepEqual(findUserProjects(path.join(projectPath, "node_modules")), [
{
path: path.join(projectPath, "node_modules", "SomeProject.vcxproj"),
name: "SomeProject",
guid: "{00000000-0000-0000-0000-000000000000}",
},
]);
});
});
describe("toProjectEntry()", () => {
it("returns solution entry for specified project", () => {
const projectPath = path.join("windows", "ReactTestApp.vcxproj");
equal(
toProjectEntry(
{
path: projectPath,
name: "ReactTestApp",
guid: "{00000000-0000-0000-0000-000000000000}",
},
path.resolve("")
),
[
`Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactTestApp", "${projectPath}", "{00000000-0000-0000-0000-000000000000}"`,
"\tProjectSection(ProjectDependencies) = postProject",
`\t\t{B44CEAD7-FBFF-4A17-95EA-FF5434BBD79D} = {B44CEAD7-FBFF-4A17-95EA-FF5434BBD79D}`,
"\tEndProjectSection",
"EndProject",
].join(os.EOL)
);
});
});