Compare commits

...

25 Commits
0.3.2 ... 0.3.4

Author SHA1 Message Date
Steven Gill
b46cdca795 Updated version and RELEASENOTES.md for release 0.3.4 2014-10-03 16:10:14 -07:00
Shazron Abdullah
129830a76c Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus). 2014-10-01 16:06:24 -07:00
Shazron Abdullah
24e6f2e0dd CB-7633 - (Re-fix based on updated unit tests) iPhone 6 Plus support 2014-10-01 13:59:22 -07:00
Shazron Abdullah
21f372acc9 Updated iOS tests for locked orientations 2014-10-01 13:49:36 -07:00
Shazron Abdullah
4d548e67c2 Added more iOS splash screen tests. 2014-09-30 17:52:51 -07:00
Shazron Abdullah
55722de1c4 CB-7633 - Add support for iPhone 6/6+ 2014-09-30 17:52:30 -07:00
Shazron Abdullah
0ffe1c2d46 Added failing iPhone 6/6 Plus tests. 2014-09-30 16:59:47 -07:00
Shazron Abdullah
95f407ea0d Re-fix iOS command line tests not working if Xcode was not launched at least once (shared scheme was not saved in the right place) 2014-09-30 11:56:38 -07:00
Shazron Abdullah
99803ba7c6 Fix iOS command line tests not working if Xcode was not launched at least once. 2014-09-30 11:52:11 -07:00
Shazron Abdullah
6b87577801 Added 'npm test' 2014-09-30 11:47:46 -07:00
Shazron Abdullah
d0614c532b Fixed iOS tests README typo. 2014-09-30 11:06:04 -07:00
Shazron Abdullah
483182f33a CB-7663 - Update README for command line invocation of tests 2014-09-29 17:49:21 -07:00
Shazron Abdullah
d85c6a9359 CB-7663 - iOS unit tests for splash screen 2014-09-29 17:33:50 -07:00
Shazron Abdullah
fcd628ffc9 CB-7663 - prep for unit tests 2014-09-29 14:03:58 -07:00
Shazron Abdullah
e1f17d6665 Properly formatted splashscreen preference docs. 2014-09-29 12:03:01 -07:00
Marcel Kinard
ec7c6aac30 CB-7571 Bump version of nested plugin to match parent plugin 2014-09-17 16:27:18 -04:00
Marcel Kinard
0b001fb209 CB-7571 Incremented plugin version. 2014-09-17 15:35:02 -04:00
Marcel Kinard
e4d8b77027 CB-7571 Updated version and RELEASENOTES.md for release 0.3.3 2014-09-17 15:27:44 -04:00
Lisa Seacat DeLuca
0f63861e88 CB-7249cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-08-19 10:51:57 -04:00
Edna Morales
e364377d4f Merge renamed tests dir 2014-08-13 13:24:50 -04:00
Jesse MacFadyen
395302ee16 Merge branch 'CB-7196' of https://github.com/stacic/cordova-plugin-splashscreen 2014-08-07 13:39:02 -07:00
Steven Gill
333b0e7f90 CB-7244 Incremented plugin version. 2014-08-06 19:24:29 -07:00
Staci Cooper
be8d340f31 Renamed test dir, added nested plugin.xml 2014-08-01 16:40:01 -04:00
Edna Morales
f833c39ed3 added documentation for manual tests 2014-07-29 09:10:44 -04:00
Staci Cooper
8eb2533e78 CB-7196 port splashscreen tests to framework 2014-07-24 15:37:03 -04:00
23 changed files with 2062 additions and 25 deletions

9
.gitignore vendored
View File

@@ -1,4 +1,4 @@
#If ignorance is bliss, then somebody knock the smile off my face
#If ignorance is bliss, then somebody knock the smile off my face
*.csproj.user
*.suo
@@ -20,4 +20,9 @@ Thumbs.db
node_modules
/tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj/xcuserdata/
/tests/ios/CDVSplashScreenTest.xcworkspace/xcuserdata/

View File

@@ -77,3 +77,20 @@
* CB-7041 ios: Fix image filename logic when setting the iPad splash screen
* fixes Splashscreen crash on WP8
* Remove outdated doc
### 0.3.3 (Sep 17, 2014)
* CB-7249 cordova-plugin-splashscreen documentation translation
* Renamed test dir, added nested plugin.xml
* added documentation for manual tests
* CB-7196 port splashscreen tests to framework
### 0.3.4 (Oct 03, 2014)
* Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus).
* CB-7633 - (Re-fix based on updated unit tests) iPhone 6 Plus support
* Updated iOS tests for locked orientations
* Added more iOS splash screen tests.
* CB-7633 - Add support for iPhone 6/6+
* Added failing iPhone 6/6 Plus tests.
* Added 'npm test'
* CB-7663 - iOS unit tests for splash screen
* Properly formatted splashscreen preference docs.

View File

@@ -40,13 +40,13 @@ Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
* SplashScreen.Show
* SplashScreen.Hide
### Android Macken
### Android Eigenarten
Sie müssen in der Datei config.xml fügen Sie die folgenden Einstellungen:
Sie müssen in der config.xml folgende Einstellungen vornehmen:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
Wo Foo ist der Name der Datei Splashscreen, vorzugsweise eine 9-Patch-Datei. Stellen Sie sicher, Splashcreen Dateien zu Ihrem Res/Xml-Verzeichnis unter den entsprechenden Ordnern hinzuzufügen. Der zweite Parameter stellt dar, wie lange das Splashscreen in Millisekunden angezeigt werden. Es wird standardmäßig auf 3000 ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens][1] .
"foo" stellt hierbei den Namen der SplashScreen-Datei dar. Vorzugsweise ist dies ein "9-Patch-File". Stellen Sie sicher, dass Sie die erforderlichen Dateien für den SplashScreen auch Ihrem Res/XML-Verzeichnis hinzufügen und dorthin kopieren. Der zweite Parameter stellt dar, wie lange der SplashScreen in Millisekunden angezeigt wird. Standardmäßig beträgt dieser Wert 3000ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens][1] .
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -57,9 +57,9 @@ Schließen Sie den Splash-Screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
### BlackBerry 10, WP8, iOS Eigenarten
Die `config.xml` der Datei `AutoHideSplashScreen` muss `false` . Verstecken des Begrüßungsbildschirms für zwei Sekunden Verzögerung, fügen Sie einen Timer wie die folgende in der `deviceready` -Ereignishandler:
Der in der `config.xml` enthaltene Befehl `AutoHideSplashScreen` muss auf `false` gesetzt sein. Um das Verstecken des SplashScreens um zwei Sekunden zu verzögern, können Sie einen Countdown in den `deviceready` -Eventhändler wie folgt integrieren:
setTimeout(function() {
navigator.splashscreen.hide();
@@ -68,9 +68,9 @@ Die `config.xml` der Datei `AutoHideSplashScreen` muss `false` . Verstecken des
## SplashScreen.Show
Zeigt den Begrüßungsbildschirm.
Zeigt den SplashScreen.
navigator.splashscreen.show();
Ihre Anwendung kann nicht aufgerufen werden `navigator.splashscreen.show()` bis die app gestartet hat und das `deviceready` -Ereignis ausgelöst hat. Aber da in der Regel der Splash-Screen soll sichtbar sein, bevor die Anwendung gestartet wurde, scheint die Niederlage der Zweck des Begrüßungsbildschirms. Somit einige Konfiguration in `config.xml` wird automatisch `show` den Splash-Screen unmittelbar nach Ihrer app starten und bevor es voll gestartet und hat das `deviceready` Ereignis. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1] . Aus diesem Grund ist es unwahrscheinlich, dass Sie aufrufen müssen `navigator.splashscreen.show()` den Splash-Screen beim Starten der app sichtbar zu machen.
Ihre Anwendung kann die Funktion `navigator.splashscreen.show()` nicht aufrufen, bis die App vollständig gestartet, und das `deviceready` -Event ausgelöst wurde. Aber da der SplashScreen eigentlich beabsichtigt, bereits vor dem vollständigen Laden der App sichtbar zu sein, würde dies die eigentliche Funktion des SplashScreens sinnlos machen. Vorausgesetzt von einigen Konfigurationen in der `config.xml` wird der Splashscreen also dennoch unmittelbar nach dem Laden der App gestartet `show` noch bevor das `deviceready` -Event ausgelöst wurde. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1] . Aus diesem Grund ist es unpassend, dass Sie die Funktion `navigator.splashscreen.show()` aufrufen müssen, denn der Splashscreen erscheint unverzüglich nach dem Starten der App.

View File

@@ -45,8 +45,8 @@ This plugin displays and hides a splash screen during application launch.
In your config.xml, you need to add the following preferences:
`<preference name="SplashScreen" value="foo" />`
`<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Where foo is the name of the splashscreen file, preferably a 9 patch file. Make sure to add your splashcreen files to your res/xml directory under the appropriate folders. The second parameter represents how long the splashscreen will appear in milliseconds. It defaults to 3000 ms. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information.

View File

@@ -20,7 +20,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="org.apache.cordova.splashscreen"
version="0.3.2">
version="0.3.4">
<name>Splashscreen</name>
<description>Cordova Splashscreen Plugin</description>
<license>Apache 2.0</license>

View File

@@ -20,6 +20,16 @@
#import <Foundation/Foundation.h>
#import <Cordova/CDVPlugin.h>
typedef struct {
BOOL iPhone;
BOOL iPad;
BOOL iPhone5;
BOOL iPhone6;
BOOL iPhone6Plus;
BOOL retina;
} CDV_iOSDevice;
@interface CDVSplashScreen : CDVPlugin {
UIActivityIndicatorView* _activityView;
UIImageView* _imageView;

View File

@@ -19,9 +19,11 @@
#import "CDVSplashScreen.h"
#import <Cordova/CDVViewController.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
#define kSplashScreenDurationDefault 0.25f
@implementation CDVSplashScreen
- (void)pluginInitialize
@@ -116,38 +118,74 @@
[self.viewController.view removeObserver:self forKeyPath:@"bounds"];
}
// Sets the view's frame and image.
- (void)updateImage
- (CDV_iOSDevice) getCurrentDevice
{
UIInterfaceOrientation orientation = self.viewController.interfaceOrientation;
CDV_iOSDevice device;
UIScreen* mainScreen = [UIScreen mainScreen];
CGFloat mainScreenHeight = mainScreen.bounds.size.height;
device.iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
device.iPhone = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone);
device.retina = ([mainScreen scale] == 2.0);
device.iPhone5 = (device.iPhone && mainScreenHeight == 568.0);
// note these below is not a true device detect, for example if you are on an
// iPhone 6/6+ but the app is scaled it will prob set iPhone5 as true, but
// this is appropriate for detecting the runtime screen environment
device.iPhone6 = (device.iPhone && mainScreenHeight == 667.0);
device.iPhone6Plus = (device.iPhone && mainScreenHeight == 736.0);
return device;
}
- (NSString*)getImageName:(UIInterfaceOrientation)currentOrientation delegate:(id<CDVScreenOrientationDelegate>)orientationDelegate device:(CDV_iOSDevice)device
{
// Use UILaunchImageFile if specified in plist. Otherwise, use Default.
NSString* imageName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UILaunchImageFile"];
NSUInteger supportedOrientations = [orientationDelegate supportedInterfaceOrientations];
// Checks to see if the developer has locked the orientation to use only one of Portrait or Landscape
CDVViewController* vc = (CDVViewController*)self.viewController;
BOOL supportsLandscape = [vc supportsOrientation:UIInterfaceOrientationLandscapeLeft] || [vc supportsOrientation:UIInterfaceOrientationLandscapeRight];
BOOL supportsPortrait = [vc supportsOrientation:UIInterfaceOrientationPortrait] || [vc supportsOrientation:UIInterfaceOrientationPortraitUpsideDown];
BOOL supportsLandscape = (supportedOrientations & UIInterfaceOrientationMaskLandscape);
BOOL supportsPortrait = (supportedOrientations & UIInterfaceOrientationMaskPortrait || supportedOrientations & UIInterfaceOrientationMaskPortraitUpsideDown);
// this means there are no mixed orientations in there
BOOL isOrientationLocked = !(supportsPortrait && supportsLandscape);
if (imageName) {
imageName = [imageName stringByDeletingPathExtension];
} else {
imageName = @"Default";
}
if (CDV_IsIPhone5()) {
if (device.iPhone5) { // does not support landscape
imageName = [imageName stringByAppendingString:@"-568h"];
} else if (CDV_IsIPad()) {
} else if (device.iPhone6) { // does not support landscape
imageName = [imageName stringByAppendingString:@"-667h"];
} else if (device.iPhone6Plus) { // supports landscape
if (isOrientationLocked) {
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"")];
} else {
switch (currentOrientation) {
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
break;
default:
break;
}
}
imageName = [imageName stringByAppendingString:@"-736h"];
} else if (device.iPad) { // supports landscape
if (isOrientationLocked) {
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"-Portrait")];
} else {
switch (orientation) {
switch (currentOrientation) {
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
break;
case UIInterfaceOrientationPortrait:
case UIInterfaceOrientationPortraitUpsideDown:
default:
@@ -156,6 +194,14 @@
}
}
}
return imageName;
}
// Sets the view's frame and image.
- (void)updateImage
{
NSString* imageName = [self getImageName:self.viewController.interfaceOrientation delegate:(id<CDVScreenOrientationDelegate>)self.viewController device:[self getCurrentDevice]];
if (![imageName isEqualToString:_curImageName]) {
UIImage* img = [UIImage imageNamed:imageName];

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "container:CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>6BE9AD73-1B9F-4362-98D7-DC631BEC6185</string>
<key>IDESourceControlProjectName</key>
<string>CDVSplashScreenTest</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlWCCName</key>
<string>cordova-plugin-splashscreen</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,702 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
#import "CDVSplashScreen.h"
#import "ImageNameTestDelegates.h"
const CDV_iOSDevice CDV_iOSDeviceZero = { 0, 0, 0, 0, 0, 0 };
@interface ImageNameTest : XCTestCase
@property (nonatomic, strong) CDVSplashScreen* plugin;
@end
@interface CDVSplashScreen ()
// expose private interface
- (NSString*)getImageName:(UIInterfaceOrientation)currentOrientation delegate:(id<CDVScreenOrientationDelegate>)orientationDelegate device:(CDV_iOSDevice)device;
@end
@implementation ImageNameTest
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
self.plugin = [[CDVSplashScreen alloc] init];
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void) orientationHelper:(id<CDVScreenOrientationDelegate>)delegate expectedImageNameDictionary:(NSDictionary*)expectedImageNameDictionary device:(CDV_iOSDevice)device{
NSString* name = nil;
NSString* expectedImageName = nil;
UIInterfaceOrientation currentOrientation;
NSString* deviceName = device.iPad? @"iPad" : device.iPhone6Plus? @"iPhone6Plus": device.iPhone6? @"iPhone6": device.iPhone5? @"iPhone5" : @"iPhone";
// LandscapeLeft, should always return expectedImageName
currentOrientation = UIInterfaceOrientationLandscapeLeft;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"landscapeLeft"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Landscape", deviceName, name);
// LandscapeRight - should always return expectedImageName
currentOrientation = UIInterfaceOrientationLandscapeRight;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"landscapeRight"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Landscape", deviceName, name);
// Portrait - should always return expectedImageName
currentOrientation = UIInterfaceOrientationPortrait;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"portrait"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Portrait", deviceName, name);
// PortraitUpsideDown - should always return expectedImageName
currentOrientation = UIInterfaceOrientationPortraitUpsideDown;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"portraitUpsideDown"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Portrait", deviceName, name);
}
- (void)testiPadOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPad = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
}
- (void)testiPhoneOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
}
- (void)testiPhone5Orientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone5 = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
}
- (void)testiPhone6Orientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone6 = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
}
- (void)testiPhone6PlusOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone6Plus = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
}
@end

View File

@@ -0,0 +1,57 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#import <Foundation/Foundation.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
@interface PortraitOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllPortraitOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface LandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface LandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllLandscapeOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllOrientations : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitAndLandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitAndLandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownAndLandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownAndLandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end

View File

@@ -0,0 +1,200 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#import <UIKit/UIKit.h>
#import "ImageNameTestDelegates.h"
@implementation PortraitOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllPortraitOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation LandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation LandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllLandscapeOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllOrientations
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitAndLandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitAndLandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownAndLandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown | UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownAndLandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>org.apache.cordova.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -0,0 +1,505 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
7E9F51AB19DA10AE00DA31AC /* CDVSplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */; };
7E9F51B119DA114400DA31AC /* ImageNameTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51B019DA114400DA31AC /* ImageNameTest.m */; };
7E9F51B319DA116500DA31AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F51B219DA116500DA31AC /* Foundation.framework */; };
7E9F51B519DA127E00DA31AC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F51B419DA127E00DA31AC /* UIKit.framework */; };
7E9F51B819DA14FD00DA31AC /* ImageNameTestDelegates.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */; };
7E9F51B919DA1B1600DA31AC /* libCDVSplashScreenLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */; };
7E9F51BA19DA1B2000DA31AC /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F519019DA0F8300DA31AC /* libCordova.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
7E9F518F19DA0F8300DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 68A32D7114102E1C006B237C;
remoteInfo = CordovaLib;
};
7E9F51AC19DA10DE00DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F517219DA09CE00DA31AC /* Project object */;
proxyType = 1;
remoteGlobalIDString = 7E9F519419DA102000DA31AC;
remoteInfo = CDVSplashScreenLib;
};
7E9F51AE19DA10E100DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = D2AAC07D0554694100DB518D;
remoteInfo = CordovaLib;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
7E9F519319DA102000DA31AC /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "../node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCDVSplashScreenLib.a; sourceTree = BUILT_PRODUCTS_DIR; };
7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CDVSplashScreenLibTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
7E9F51A219DA102000DA31AC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVSplashScreen.m; path = ../../../src/ios/CDVSplashScreen.m; sourceTree = SOURCE_ROOT; };
7E9F51AA19DA10AE00DA31AC /* CDVSplashScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVSplashScreen.h; path = ../../../src/ios/CDVSplashScreen.h; sourceTree = SOURCE_ROOT; };
7E9F51B019DA114400DA31AC /* ImageNameTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageNameTest.m; sourceTree = "<group>"; };
7E9F51B219DA116500DA31AC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
7E9F51B419DA127E00DA31AC /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
7E9F51B619DA12C600DA31AC /* ImageNameTestDelegates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageNameTestDelegates.h; sourceTree = "<group>"; };
7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageNameTestDelegates.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
7E9F519219DA102000DA31AC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
7E9F519C19DA102000DA31AC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51BA19DA1B2000DA31AC /* libCordova.a in Frameworks */,
7E9F51B919DA1B1600DA31AC /* libCDVSplashScreenLib.a in Frameworks */,
7E9F51B519DA127E00DA31AC /* UIKit.framework in Frameworks */,
7E9F51B319DA116500DA31AC /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
7E9F517119DA09CE00DA31AC = {
isa = PBXGroup;
children = (
7E9F51B419DA127E00DA31AC /* UIKit.framework */,
7E9F51B219DA116500DA31AC /* Foundation.framework */,
7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */,
7E9F519619DA102000DA31AC /* CDVSplashScreenLib */,
7E9F51A019DA102000DA31AC /* CDVSplashScreenLibTests */,
7E9F517D19DA0A0A00DA31AC /* Products */,
);
sourceTree = "<group>";
};
7E9F517D19DA0A0A00DA31AC /* Products */ = {
isa = PBXGroup;
children = (
7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */,
7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
7E9F518C19DA0F8300DA31AC /* Products */ = {
isa = PBXGroup;
children = (
7E9F519019DA0F8300DA31AC /* libCordova.a */,
);
name = Products;
sourceTree = "<group>";
};
7E9F519619DA102000DA31AC /* CDVSplashScreenLib */ = {
isa = PBXGroup;
children = (
7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */,
7E9F51AA19DA10AE00DA31AC /* CDVSplashScreen.h */,
);
path = CDVSplashScreenLib;
sourceTree = SOURCE_ROOT;
};
7E9F51A019DA102000DA31AC /* CDVSplashScreenLibTests */ = {
isa = PBXGroup;
children = (
7E9F51A119DA102000DA31AC /* Supporting Files */,
7E9F51B019DA114400DA31AC /* ImageNameTest.m */,
7E9F51B619DA12C600DA31AC /* ImageNameTestDelegates.h */,
7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */,
);
path = CDVSplashScreenLibTests;
sourceTree = "<group>";
};
7E9F51A119DA102000DA31AC /* Supporting Files */ = {
isa = PBXGroup;
children = (
7E9F51A219DA102000DA31AC /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
7E9F519419DA102000DA31AC /* CDVSplashScreenLib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7E9F51A319DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLib" */;
buildPhases = (
7E9F519119DA102000DA31AC /* Sources */,
7E9F519219DA102000DA31AC /* Frameworks */,
7E9F519319DA102000DA31AC /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = CDVSplashScreenLib;
productName = CDVSplashScreenLib;
productReference = 7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */;
productType = "com.apple.product-type.library.static";
};
7E9F519E19DA102000DA31AC /* CDVSplashScreenLibTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7E9F51A619DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLibTests" */;
buildPhases = (
7E9F519B19DA102000DA31AC /* Sources */,
7E9F519C19DA102000DA31AC /* Frameworks */,
7E9F519D19DA102000DA31AC /* Resources */,
);
buildRules = (
);
dependencies = (
7E9F51AF19DA10E100DA31AC /* PBXTargetDependency */,
7E9F51AD19DA10DE00DA31AC /* PBXTargetDependency */,
);
name = CDVSplashScreenLibTests;
productName = CDVSplashScreenLibTests;
productReference = 7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
7E9F517219DA09CE00DA31AC /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0600;
TargetAttributes = {
7E9F519419DA102000DA31AC = {
CreatedOnToolsVersion = 6.0;
};
7E9F519E19DA102000DA31AC = {
CreatedOnToolsVersion = 6.0;
};
};
};
buildConfigurationList = 7E9F517519DA09CE00DA31AC /* Build configuration list for PBXProject "CDVSplashScreenTest" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 7E9F517119DA09CE00DA31AC;
productRefGroup = 7E9F517D19DA0A0A00DA31AC /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 7E9F518C19DA0F8300DA31AC /* Products */;
ProjectRef = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
},
);
projectRoot = "";
targets = (
7E9F519419DA102000DA31AC /* CDVSplashScreenLib */,
7E9F519E19DA102000DA31AC /* CDVSplashScreenLibTests */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
7E9F519019DA0F8300DA31AC /* libCordova.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libCordova.a;
remoteRef = 7E9F518F19DA0F8300DA31AC /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
7E9F519D19DA102000DA31AC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
7E9F519119DA102000DA31AC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51AB19DA10AE00DA31AC /* CDVSplashScreen.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
7E9F519B19DA102000DA31AC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51B119DA114400DA31AC /* ImageNameTest.m in Sources */,
7E9F51B819DA14FD00DA31AC /* ImageNameTestDelegates.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
7E9F51AD19DA10DE00DA31AC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7E9F519419DA102000DA31AC /* CDVSplashScreenLib */;
targetProxy = 7E9F51AC19DA10DE00DA31AC /* PBXContainerItemProxy */;
};
7E9F51AF19DA10E100DA31AC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = CordovaLib;
targetProxy = 7E9F51AE19DA10E100DA31AC /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
7E9F517619DA09CE00DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Debug;
};
7E9F517719DA09CE00DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
7E9F51A419DA102000DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
"\"$(OBJROOT)/UninstalledProducts/include\"",
"\"$(BUILT_PRODUCTS_DIR)\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
};
name = Debug;
};
7E9F51A519DA102000DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
"\n\"$(OBJROOT)/UninstalledProducts/include\"\n\"$(BUILT_PRODUCTS_DIR)\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
7E9F51A719DA102000DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = CDVSplashScreenLibTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
};
name = Debug;
};
7E9F51A819DA102000DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = CDVSplashScreenLibTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
7E9F517519DA09CE00DA31AC /* Build configuration list for PBXProject "CDVSplashScreenTest" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F517619DA09CE00DA31AC /* Debug */,
7E9F517719DA09CE00DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
7E9F51A319DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F51A419DA102000DA31AC /* Debug */,
7E9F51A519DA102000DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
7E9F51A619DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLibTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F51A719DA102000DA31AC /* Debug */,
7E9F51A819DA102000DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 7E9F517219DA09CE00DA31AC /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:CDVSplashScreenTest.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>6BE9AD73-1B9F-4362-98D7-DC631BEC6185</string>
<key>IDESourceControlProjectName</key>
<string>CDVSplashScreenTest</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlWCCName</key>
<string>cordova-plugin-splashscreen</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

21
tests/ios/README.md Normal file
View File

@@ -0,0 +1,21 @@
# iOS Tests for CDVSplashScreen
You need to install `node.js` to pull in `cordova-ios`.
First install cordova-ios:
npm install
... in the current folder.
# Testing from Xcode
1. Launch the `CDVSplashScreenTest.xcworkspace` file.
2. Choose "CDVSplashScreenLibTests" from the scheme drop-down menu
3. Click and hold on the `Play` button, and choose the `Wrench` icon to run the tests
# Testing from the command line
npm test

13
tests/ios/package.json Normal file
View File

@@ -0,0 +1,13 @@
{
"name": "cordova-plugin-splashscreen-test-ios",
"version": "1.0.0",
"description": "iOS Unit Tests for Splashscreen Plugin",
"author": "Apache Software Foundation",
"license": "Apache Version 2.0",
"dependencies": {
"cordova-ios": "^3.6.0"
},
"scripts": {
"test": "xcodebuild -scheme CordovaLib && xcodebuild test -scheme CDVSplashScreenLibTests"
}
}

29
tests/plugin.xml Normal file
View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="org.apache.cordova.splashscreen.tests"
version="0.3.4">
<name>Cordova Splashscreen Plugin Tests</name>
<license>Apache 2.0</license>
<js-module src="tests.js" name="tests">
</js-module>
</plugin>

62
tests/tests.js Normal file
View File

@@ -0,0 +1,62 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
exports.defineAutoTest = function () {
describe('Splashscreen (cordova)', function () {
it("splashscreen.spec.1 should exist", function () {
expect(navigator.splashscreen).toBeDefined();
});
it("splashscreen.spec.2 exec method should exist", function () {
expect(navigator.splashscreen.show).toBeDefined();
expect(typeof navigator.splashscreen.show).toBe('function');
});
it("splashscreen.spec.3 exec method should exist", function () {
expect(navigator.splashscreen.hide).toBeDefined();
expect(typeof navigator.splashscreen.hide).toBe('function');
});
});
};
exports.defineManualTests = function (contentEl, createActionButton) {
function showFor(duration) {
navigator.splashscreen.show();
window.setTimeout(function () {
navigator.splashscreen.hide();
}, 1000 * duration);
}
contentEl.innerHTML = '<h1>Splashscreen Tests</h1>' +
'<h3>Note for WP: AutoHideSplashScreen must be set to false in config.xml</h3>' +
'<div id="show1"></div>' +
'Expected result: Will show the Cordova splashscreen for 1 second' +
'</p> <div id="show5"></div>' +
'Expected result: Will show the Cordova splashscreen for 5 seconds';
createActionButton('Show for 1 second', function () {
showFor(1);
}, 'show1');
createActionButton('Show for 5 seconds', function () {
showFor(5);
}, 'show5');
};