Commit 050b23f8 authored by Mike JS. Choi's avatar Mike JS. Choi

[UI] New tests for the new UI

Notice that screenshots for fastlane are taken in the test file
by calling `snapshot("IMG_NAME")`
parent 975ca705
......@@ -10,9 +10,11 @@ xcuserdata
# Fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/screenshots/*/*.png
fastlane/screenshots/screenshots.html
# CocoaPods
Pods
......
/*****************************************************************************
* LocaleHelper.swift
* VLC for iOSUITests
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Authors: Mike JS. Choi <mkchoi212 # icloud.com>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
import Foundation
import XCTest
struct LocaleHelper {
let localizationBundle: Bundle
let inherantBundle = Bundle(for: UIApplication.self)
init(lang: String, target: AnyClass) {
localizationBundle = LocaleHelper.loadLocalizables(lang: lang, target: target)
}
func localized(key: String) -> String {
let res = NSLocalizedString(key, bundle: localizationBundle, comment: "")
return res
}
}
extension LocaleHelper {
static func loadLocalizables(lang: String, target: AnyClass) -> Bundle {
let mainBundle = Bundle(for: target.self)
guard let path = mainBundle.path(forResource: lang, ofType: ".lproj") else {
XCTFail("Could not resolve localization file for \(lang)")
return Bundle()
}
guard let bundle = Bundle(path: path) else {
XCTFail("Could not load bundle at \(path)")
return Bundle()
}
return bundle
}
}
/*****************************************************************************
* VLC_for_IOSTestMenu.m
* VLC for iOS
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Author: Carola Nitz <caro # videolan.org>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
#import <XCTest/XCTest.h>
@interface VLC_for_IOSTestMenu : XCTestCase
@property (nonatomic, strong) XCUIApplication *application;
@end
@implementation VLC_for_IOSTestMenu
- (void)setUp {
[super setUp];
self.continueAfterFailure = YES;
self.application = [[XCUIApplication alloc] init];
[self.application launch];
[[XCUIDevice sharedDevice] setOrientation:UIDeviceOrientationFaceUp];
if (self.application.navigationBars[@"Welcome"].exists) {
[self.application.navigationBars[@"Welcome"].buttons[@"Done"] tap];
}
}
- (void)testMenuTabAllFiles
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"All Files"] tap];
XCTAssertNotNil(self.application.navigationBars[@"All Files"]);
}
- (void)testMenuTabMusicAlbums
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Music Albums"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Music Albums"]);
}
- (void)testMenuTabTVShows
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"TV Shows"] tap];
XCTAssertNotNil(self.application.navigationBars[@"TV Shows"]);
}
- (void)testMenuTabLocalNetwork
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Local Network"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Local Network"]);
}
- (void)testMenuTabNetworkStream
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Network Stream"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Network Stream"]);
}
- (void)testMenuTabDownloads
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Downloads"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Downloads"]);
}
- (void)testMenuTabWifi
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Sharing via WiFi"] tap];
XCTAssertFalse(self.application.tables.staticTexts[@"Inactive Server"].exists);
}
- (void)testMenuTabCloudServices
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Cloud Services"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Cloud Services"]);
}
- (void)testMenuTabSettings
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"Settings"] tap];
XCTAssertNotNil(self.application.navigationBars[@"Settings"]);
}
- (void)testMenuTabAbout
{
[self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[self.application.cells.staticTexts[@"About VLC for iOS"] tap];
XCTAssertNotNil(self.application.navigationBars[@"About"]);
}
@end
/*****************************************************************************
* VLC_for_iOSTestVideoCodecs.m
* VLC for iOS
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Author: Carola Nitz <caro # videolan.org>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
#import <XCTest/XCTest.h>
@interface XCUIElement(Test)
- (void)clearAndEnterText:(NSString *)text;
@end
@implementation XCUIElement(Test)
- (void)clearAndEnterText:(NSString *)text {
if( ![[self value] isKindOfClass:[NSString class]]) {
XCTFail("Tried to clear and enter text into a non string value");
return;
}
[self tap];
NSString *deleteString = @"";
for (int i = 0; i < [(NSString *)[self value] length]; i++){
deleteString = [deleteString stringByAppendingString:XCUIKeyboardKeyDelete];
}
[self typeText:deleteString];
[self typeText:text];
}
@end
@interface VLC_for_iOSTestVideoCodecs : XCTestCase
@end
@implementation VLC_for_iOSTestVideoCodecs
- (void)setUp {
[super setUp];
self.continueAfterFailure = YES;
[[[XCUIApplication alloc] init] launch];
[[XCUIDevice sharedDevice] setOrientation:UIDeviceOrientationFaceUp];
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testMovCodec
{
[self playWithFilename:@"rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov"];
}
- (void)testHEVCCodec10b
{
[self playWithFilename:@"http://jell.yfish.us/media/jellyfish-90-mbps-hd-hevc-10bit.mkv"];
}
- (void)testHEVCCodec
{
[self playWithFilename:@"http://jell.yfish.us/media/jellyfish-25-mbps-hd-hevc.mkv"];
}
- (void)testH264Codec
{
[self playWithFilename:@"http://jell.yfish.us/media/jellyfish-25-mbps-hd-h264.mkv"];
}
- (void)playWithFilename:(NSString *)filename
{
XCUIApplication *app = [[XCUIApplication alloc] init];
[app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
[app.cells.staticTexts[@"Network Stream"] tap];
XCUIElement *httpMyserverComFileMkvTextField = app.textFields.allElementsBoundByIndex.firstObject;
[httpMyserverComFileMkvTextField clearAndEnterText:filename];
[[[XCUIApplication alloc] init].buttons[@"Open Network Stream"] tap];
XCUIElement *displayTime = app.buttons[@"--:--"];
__block NSPredicate *predicate = [NSPredicate predicateWithFormat:@"exists == 0"];
[self expectationForPredicate:predicate evaluatedWithObject:displayTime handler:nil];
//we wait for the displaytime to change
[self waitForExpectationsWithTimeout:20.0 handler:^(NSError * _Nullable error) {
//once it changes we tap the videoplayer to bring up the playelements
[app.otherElements[@"Video Player"] doubleTap];
XCUIElement *playpause = app.buttons[@"Play or Pause current playback"];
predicate = [NSPredicate predicateWithFormat:@"exists == 1"];
[self expectationForPredicate:predicate evaluatedWithObject:playpause handler:nil];
[self waitForExpectationsWithTimeout:20.0 handler:nil];
}];
}
@end
/*****************************************************************************
* VLCiOSTestMenu.swift
* VLC for iOSUITests
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Authors: Mike JS. Choi <mkchoi212 # icloud.com>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
import Foundation
import XCTest
class VLCiOSTestMenu: XCTestCase {
let app = XCUIApplication()
let helper = LocaleHelper(lang: deviceLanguage, target: VLCiOSTestVideoCodecs.self)
let moreTab = XCUIApplication().tabBars.buttons.element(boundBy: 4)
override func setUp() {
super.setUp()
XCUIDevice.shared.orientation = .portrait
setupSnapshot(app)
app.launch()
}
func testNavigationToAudioTab() {
let audio = helper.localized(key: "AUDIO")
app.tabBars.buttons[audio].tap()
XCTAssertNotNil(app.navigationBars[audio])
snapshot("audio_tab")
}
func testNavigationToNetworkTab() {
let localNetwork = helper.localized(key: "LOCAL_NETWORK")
app.tabBars.buttons[localNetwork].tap()
XCTAssertNotNil(app.navigationBars[localNetwork])
snapshot("network_tab")
}
func testNavigationToVideoTab() {
app.tabBars.buttons["Video"].tap()
XCTAssertNotNil(app.navigationBars["Video"])
snapshot("video_tab")
}
func testNavigationToSettingsTab() {
let settings = helper.localized(key: "Settings")
app.tabBars.buttons[settings].tap()
XCTAssertNotNil(app.navigationBars[settings])
}
func testNavigationToCloudServices() {
moreTab.tap()
let cloudServices = helper.localized(key: "CLOUD_SERVICES")
app.cells.staticTexts[cloudServices].tap()
XCTAssertNotNil(app.navigationBars[cloudServices])
}
func testNavigationToDownloads() {
moreTab.tap()
let downloads = helper.localized(key: "DOWNLOAD_FROM_HTTP")
app.cells.staticTexts[downloads].tap()
XCTAssertNotNil(app.navigationBars[downloads])
}
func testNavigationToNetworkStream() {
moreTab.tap()
let network = helper.localized(key: "OPEN_NETWORK")
app.cells.staticTexts[network].tap()
XCTAssertNotNil(app.navigationBars[network])
}
func testNavigationToAbout() {
moreTab.tap()
let about = helper.localized(key: "ABOUT_APP")
app.cells.staticTexts[about].tap()
XCTAssertNotNil(app.navigationBars[about])
}
}
/*****************************************************************************
* VLCiOSTestVideoCodecs.swift
* VLC for iOSUITests
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Authors: Mike JS. Choi <mkchoi212 # icloud.com>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
import Foundation
import XCTest
class VLCiOSTestVideoCodecs: XCTestCase {
let app = XCUIApplication()
let helper = LocaleHelper(lang: deviceLanguage, target: VLCiOSTestVideoCodecs.self)
let moreTab = XCUIApplication().tabBars.buttons.element(boundBy: 4)
override func setUp() {
super.setUp()
XCUIDevice.shared.orientation = .portrait
setupSnapshot(app)
app.launch()
}
func testDownload() {
download(name: "http://jell.yfish.us/media/jellyfish-10-mbps-hd-h264.mkv")
app.tabBars.buttons["Video"].tap()
app.collectionViews.cells.element(boundBy: 0).tap()
app.navigationBars["VLCMovieView"].buttons[helper.localized(key: "VIDEO_ASPECT_RATIO_BUTTON")].tap()
snapshot("playback")
}
func testMovCodec() {
stream(named: "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov")
}
func testHEVCCodec10b() {
stream(named: "http://jell.yfish.us/media/jellyfish-90-mbps-hd-hevc-10bit.mkv")
}
func testHEVCCodec() {
stream(named: "http://jell.yfish.us/media/jellyfish-25-mbps-hd-hevc.mkv")
}
func testH264Codec() {
stream(named: "http://jell.yfish.us/media/jellyfish-25-mbps-hd-h264.mkv")
}
func download(name fileName: String) {
moreTab.tap()
app.staticTexts[helper.localized(key: "DOWNLOAD_FROM_HTTP")].tap()
let downloadTextfield = app.textFields["http://myserver.com/file.mkv"]
downloadTextfield.clearAndEnter(text: fileName)
app.buttons[helper.localized(key: "BUTTON_DOWNLOAD")].tap()
let cancelDownloadButton = app.buttons["flatDeleteButton"]
let predicate = NSPredicate(format: "exists == 0")
expectation(for: predicate, evaluatedWith: cancelDownloadButton, handler: nil)
waitForExpectations(timeout: 20.0) { err in
XCTAssertNil(err)
downloadTextfield.typeText("\n")
}
}
func stream(named fileName: String) {
moreTab.tap()
app.staticTexts[helper.localized(key: "OPEN_NETWORK")].tap()
let addressTextField = app.textFields["http://myserver.com/file.mkv"]
addressTextField.clearAndEnter(text: fileName)
app.buttons[helper.localized(key: "OPEN_NETWORK")].tap()
let displayTime = app.navigationBars["VLCMovieView"].buttons["--:--"]
let zeroPredicate = NSPredicate(format: "exists == 0")
expectation(for: zeroPredicate, evaluatedWith: displayTime, handler: nil)
waitForExpectations(timeout: 20.0) { err in
XCTAssertNil(err)
if !(self.app.buttons[self.helper.localized(key: "BUTTON_DONE")].exists) {
self.app.otherElements[self.helper.localized(key: "VO_VIDEOPLAYER_TITLE")].tap()
}
let playPause = self.app.buttons[self.helper.localized(key: "PLAY_PAUSE_BUTTON")]
let onePredicate = NSPredicate(format: "exists == 1")
self.expectation(for: onePredicate, evaluatedWith: playPause, handler: nil)
self.waitForExpectations(timeout: 20.0, handler: nil)
}
}
}
/*****************************************************************************
* XCUIElement+Helpers.swift
* VLC for iOSUITests
*****************************************************************************
* Copyright (c) 2018 VideoLAN. All rights reserved.
* $Id$
*
* Authors: Mike JS. Choi <mkchoi212 # icloud.com>
*
* Refer to the COPYING file of the official project for license.
*****************************************************************************/
import Foundation
import XCTest
extension XCUIElement {
func clearAndEnter(text: String) {
guard let stringValue = self.value as? String else {
XCTFail("Tried to clear and enter text into a non string value")
return
}
tap()
let deleteString = stringValue.map { _ in XCUIKeyboardKey.delete.rawValue }.joined(separator: "")
typeText(deleteString)
typeText(text)
}
}
......@@ -27,7 +27,6 @@
417E686C1F307D8F00DB9BB2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 417E68711F307D8F00DB9BB2 /* InfoPlist.strings */; };
417E68B91F321EFF00DB9BB2 /* VLCActivityViewControllerVendor.m in Sources */ = {isa = PBXBuildFile; fileRef = 417E68B81F321EFF00DB9BB2 /* VLCActivityViewControllerVendor.m */; };
4184AA151A5492070063DF5A /* VLCCloudStorageController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4184AA141A5492070063DF5A /* VLCCloudStorageController.m */; };
4187112B1F78F87200317B1A /* VLC_for_iOSTestVideoCodecs.m in Sources */ = {isa = PBXBuildFile; fileRef = 4187112A1F78F87200317B1A /* VLC_for_iOSTestVideoCodecs.m */; };
418B144720179C00000447AA /* MediaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 418B144620179C00000447AA /* MediaViewController.swift */; };
418B144D20179C75000447AA /* VLCTabBarCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 418B144C20179C74000447AA /* VLCTabBarCoordinator.swift */; };
418B145020179CB9000447AA /* LayoutAnchorContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 418B144F20179CB9000447AA /* LayoutAnchorContainer.swift */; };
......@@ -38,7 +37,6 @@
419A2C661F37A4B70069D224 /* VLCStringsForLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 419A2C651F37A4B70069D224 /* VLCStringsForLocalization.m */; };
419A2C681F37A4B70069D224 /* VLCStringsForLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 419A2C651F37A4B70069D224 /* VLCStringsForLocalization.m */; };
419D7F051F54176900AF69A2 /* VLCTimeNavigationTitleView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 419D7F041F54176900AF69A2 /* VLCTimeNavigationTitleView.xib */; };
41B0BC931F73EF1B0063BA26 /* VLC_for_IOSTestMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B0BC911F73EF1B0063BA26 /* VLC_for_IOSTestMenu.m */; };
41B93C011A53833B00102E8B /* VLCProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B93C001A53833B00102E8B /* VLCProgressView.m */; };
41B93C051A53835300102E8B /* VLCCloudServiceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B93C031A53835300102E8B /* VLCCloudServiceCell.m */; };
41B93C081A53853B00102E8B /* VLCCloudServiceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 41B93C071A53853B00102E8B /* VLCCloudServiceCell.xib */; };
......@@ -246,7 +244,13 @@
9BADAF45185FBD9D00108BD8 /* VLCFrostedGlasView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BADAF44185FBD9D00108BD8 /* VLCFrostedGlasView.m */; };
9BE4D1CE183D76950006346C /* VLCCloudStorageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784B0183A990F009EE944 /* VLCCloudStorageTableViewCell.m */; };
A79246C8170F11DF0036AAF2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A79246C6170F11DF0036AAF2 /* Localizable.strings */; };
CAF76D8E20709BE500E2AD7B /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF76D8D20709BE400E2AD7B /* SnapshotHelper.swift */; };
CAA0B0ED2072651000B9274E /* VLCiOSTestMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF76D8F20709C4100E2AD7B /* VLCiOSTestMenu.swift */; };
CAA0B0EE2072651500B9274E /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF76D8D20709BE400E2AD7B /* SnapshotHelper.swift */; };
CAA0B0EF2072651800B9274E /* VLCiOSTestVideoCodecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF76D9120709C7000E2AD7B /* VLCiOSTestVideoCodecs.swift */; };
CAA0B0F02072651A00B9274E /* XCUIElement+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF76D9320709C9500E2AD7B /* XCUIElement+Helpers.swift */; };
CAA0B0F52072686E00B9274E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A79246C6170F11DF0036AAF2 /* Localizable.strings */; };
CAA0B0F720726A0E00B9274E /* LocaleHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA0B0F620726A0E00B9274E /* LocaleHelper.swift */; };
CAF76D9520709CDE00E2AD7B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A79246C6170F11DF0036AAF2 /* Localizable.strings */; };
CC1BBC461704938300A20CBF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CC1BBC451704938300A20CBF /* libiconv.dylib */; };
CC1BBC4C1704939B00A20CBF /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CC1BBC4B1704939B00A20CBF /* libsqlite3.dylib */; };
CC1BBC4E170493A300A20CBF /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CC1BBC4D170493A300A20CBF /* libbz2.dylib */; };
......@@ -535,7 +539,6 @@
417E68B81F321EFF00DB9BB2 /* VLCActivityViewControllerVendor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCActivityViewControllerVendor.m; sourceTree = "<group>"; };
4184AA131A5492070063DF5A /* VLCCloudStorageController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCCloudStorageController.h; path = Sources/VLCCloudStorageController.h; sourceTree = SOURCE_ROOT; };
4184AA141A5492070063DF5A /* VLCCloudStorageController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCCloudStorageController.m; path = Sources/VLCCloudStorageController.m; sourceTree = SOURCE_ROOT; };
4187112A1F78F87200317B1A /* VLC_for_iOSTestVideoCodecs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLC_for_iOSTestVideoCodecs.m; sourceTree = "<group>"; };
418B144620179C00000447AA /* MediaViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MediaViewController.swift; path = Sources/MediaViewController.swift; sourceTree = SOURCE_ROOT; };
418B144C20179C74000447AA /* VLCTabBarCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = VLCTabBarCoordinator.swift; path = Sources/VLCTabBarCoordinator.swift; sourceTree = SOURCE_ROOT; };
418B144F20179CB9000447AA /* LayoutAnchorContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LayoutAnchorContainer.swift; path = Sources/LayoutAnchorContainer.swift; sourceTree = "<group>"; };
......@@ -547,7 +550,6 @@
419D7F041F54176900AF69A2 /* VLCTimeNavigationTitleView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = VLCTimeNavigationTitleView.xib; path = Resources/VLCTimeNavigationTitleView.xib; sourceTree = SOURCE_ROOT; };
41B0BC861F73ED7D0063BA26 /* VLC for iOSUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "VLC for iOSUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
41B0BC8A1F73ED7D0063BA26 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
41B0BC911F73EF1B0063BA26 /* VLC_for_IOSTestMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLC_for_IOSTestMenu.m; sourceTree = "<group>"; };
41B93BFF1A53833B00102E8B /* VLCProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCProgressView.h; path = Sources/VLCProgressView.h; sourceTree = SOURCE_ROOT; };
41B93C001A53833B00102E8B /* VLCProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCProgressView.m; path = Sources/VLCProgressView.m; sourceTree = SOURCE_ROOT; };
41B93C021A53835300102E8B /* VLCCloudServiceCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCCloudServiceCell.h; path = Sources/VLCCloudServiceCell.h; sourceTree = SOURCE_ROOT; };
......@@ -943,7 +945,11 @@
A79246C9170F11E40036AAF2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
AC40202FFE42CEDCEB37E50D /* Pods-VLC-tvOS.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VLC-tvOS.distribution.xcconfig"; path = "Pods/Target Support Files/Pods-VLC-tvOS/Pods-VLC-tvOS.distribution.xcconfig"; sourceTree = "<group>"; };
C6872E7B396534F3DAF4E48F /* Pods-VLC-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VLC-iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-VLC-iOS/Pods-VLC-iOS.release.xcconfig"; sourceTree = "<group>"; };
CAA0B0F620726A0E00B9274E /* LocaleHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocaleHelper.swift; sourceTree = "<group>"; };
CAF76D8D20709BE400E2AD7B /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapshotHelper.swift; path = fastlane/SnapshotHelper.swift; sourceTree = SOURCE_ROOT; };
CAF76D8F20709C4100E2AD7B /* VLCiOSTestMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VLCiOSTestMenu.swift; sourceTree = "<group>"; };
CAF76D9120709C7000E2AD7B /* VLCiOSTestVideoCodecs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VLCiOSTestVideoCodecs.swift; sourceTree = "<group>"; };
CAF76D9320709C9500E2AD7B /* XCUIElement+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCUIElement+Helpers.swift"; sourceTree = "<group>"; };
CC1BBC451704938300A20CBF /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
CC1BBC471704938B00A20CBF /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; };
CC1BBC491704939300A20CBF /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
......@@ -1229,10 +1235,12 @@
41B0BC871F73ED7D0063BA26 /* VLC for iOSUITests */ = {
isa = PBXGroup;
children = (
4187112A1F78F87200317B1A /* VLC_for_iOSTestVideoCodecs.m */,
41B0BC911F73EF1B0063BA26 /* VLC_for_IOSTestMenu.m */,
41B0BC8A1F73ED7D0063BA26 /* Info.plist */,
CAF76D8D20709BE400E2AD7B /* SnapshotHelper.swift */,
CAF76D8F20709C4100E2AD7B /* VLCiOSTestMenu.swift */,
CAF76D9120709C7000E2AD7B /* VLCiOSTestVideoCodecs.swift */,
CAA0B0F620726A0E00B9274E /* LocaleHelper.swift */,
CAF76D9320709C9500E2AD7B /* XCUIElement+Helpers.swift */,
);
path = "VLC for iOSUITests";
sourceTree = "<group>";
......@@ -2631,6 +2639,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CAA0B0F52072686E00B9274E /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -2670,6 +2679,7 @@
6B4E33D11BF2A39400A35255 /* playerControl.css in Resources */,
7D405EE21BEA1FAD006ED886 /* index.html in Resources */,
7D51B3B11BF0EEF4005AF4D5 /* VLCPlaybackInfoMediaInfoTVViewController.xib in Resources */,
CAF76D9520709CDE00E2AD7B /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -2911,6 +2921,39 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
F7403765A53B71CD3E9EF429 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-VLC-watchOS-Extension-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
41B0BC821F73ED7D0063BA26 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CAA0B0F720726A0E00B9274E /* LocaleHelper.swift in Sources */,
CAA0B0EF2072651800B9274E /* VLCiOSTestVideoCodecs.swift in Sources */,
CAA0B0F02072651A00B9274E /* XCUIElement+Helpers.swift in Sources */,
CAA0B0ED2072651000B9274E /* VLCiOSTestMenu.swift in Sources */,
CAA0B0EE2072651500B9274E /* SnapshotHelper.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
7D1329391BA1F10100BE647E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
......@@ -3009,7 +3052,6 @@
7D3E528B1BD7B5E100309D15 /* VLCCloudServicesTVViewController.m in Sources */,
DD9D8F6B1C01FE5B00B4060F /* VLCPlaybackInfoCollectionViewDataSource.m in Sources */,
7D405ED41BEA150C006ED886 /* VLCActivityManager.m in Sources */,
CAF76D8E20709BE500E2AD7B /* SnapshotHelper.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......
......@@ -276,6 +276,4 @@ private extension CGFloat {
}
}
// Please don't remove the lines below
// They are used to detect outdated configuration files
// SnapshotHelperVersion [1.10]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment