microsoft/vscode-react-native

Public

mirrored from https://github.com/microsoft/vscode-react-nativeAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
0.4.1

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/test/common/ios/xcodeproj.test.ts

60lines · modeblame

81226dceJimmy Thomson10 years ago1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for details.
3
4import {Xcodeproj} from "../../../common/ios/xcodeproj";
5
f5edf87fJimmy Thomson10 years ago6import * as assert from "assert";
81226dceJimmy Thomson10 years ago7import * as path from "path";
8import * as Q from "q";
9
10suite("xcodeproj", function() {
11suite("commonContext", function() {
12test("should look in the correct location for xcodeproj files and return one", function() {
2bc72bf2Jimmy Thomson10 years ago13const projectRoot = path.join("/", "tmp", "myProject");
81d6e05bJimmy Thomson9 years ago14const projectName = "foo";
15const fileType = ".xcodeproj";
16const testFiles = [projectName + fileType];
81226dceJimmy Thomson10 years ago17const mockFileSystem: any = {
c4a42a32Jimmy Thomson9 years ago18readDir: (path: string) => {
81226dceJimmy Thomson10 years ago19return Q(testFiles);
eec73ab5Jimmy Thomson9 years ago20},
db80cd4eJimmy Thomson10 years ago21};
22
81226dceJimmy Thomson10 years ago23const xcodeproj = new Xcodeproj({ nodeFileSystem: mockFileSystem });
24
25return xcodeproj.findXcodeprojFile(projectRoot)
c4a42a32Jimmy Thomson9 years ago26.then((proj) => {
27assert.deepEqual(proj, {
81d6e05bJimmy Thomson9 years ago28fileName: path.join(projectRoot, testFiles[0]),
29fileType,
30projectName,
c4a42a32Jimmy Thomson9 years ago31});
db80cd4eJimmy Thomson10 years ago32});
81226dceJimmy Thomson10 years ago33});
67b4477aNathan Piper9 years ago34test("should look in the correct location for xcodeproj/xcworkspace files and prefer xcworkspace over xcodeproj", function() {
35const projectRoot = path.join("/", "tmp", "myProject");
36const projectName = "foo";
37const xcodeprojFileType = ".xcodeproj";
38const xcworkspaceFileType = ".xcworkspace";
39const xcodeprojFileName = projectName + xcodeprojFileType;
40const xcworkspaceFileName = projectName + xcworkspaceFileType;
41const testFiles = [xcodeprojFileName, xcworkspaceFileName];
42const mockFileSystem: any = {
43readDir: (path: string) => {
44return Q(testFiles);
45},
46};
47
48const xcodeproj = new Xcodeproj({ nodeFileSystem: mockFileSystem });
49
50return xcodeproj.findXcodeprojFile(projectRoot)
51.then((proj) => {
52assert.deepEqual(proj, {
53fileName: path.join(projectRoot, xcworkspaceFileName),
54fileType: xcworkspaceFileType,
55projectName,
56});
57});
58});
81226dceJimmy Thomson10 years ago59});
60});