mirror of
https://github.com/divkit/divkit.git
synced 2026-06-06 20:07:59 +00:00
iOS XCUI tests
commit_hash:5aeac8bafb97ad362d28ead2e85b4a64de0452f7
This commit is contained in:
+4
-1
@@ -12309,6 +12309,8 @@
|
||||
"client/ios/DivKitTests/Variables/DivVariableTrackerTests.swift":"divkit/public/client/ios/DivKitTests/Variables/DivVariableTrackerTests.swift",
|
||||
"client/ios/DivKitTests/Variables/DivVariablesStorageTests.swift":"divkit/public/client/ios/DivKitTests/Variables/DivVariablesStorageTests.swift",
|
||||
"client/ios/DivKitTests/ViewSizeTests.swift":"divkit/public/client/ios/DivKitTests/ViewSizeTests.swift",
|
||||
"client/ios/DivKitUITests/AppLaunchUITests.swift":"divkit/public/client/ios/DivKitUITests/AppLaunchUITests.swift",
|
||||
"client/ios/DivKitUITests/TooltipsUITests.swift":"divkit/public/client/ios/DivKitUITests/TooltipsUITests.swift",
|
||||
"client/ios/LayoutKit/Interface/ActionsAttribute.swift":"divkit/public/client/ios/LayoutKit/Interface/ActionsAttribute.swift",
|
||||
"client/ios/LayoutKit/Interface/CommonHandler.swift":"divkit/public/client/ios/LayoutKit/Interface/CommonHandler.swift",
|
||||
"client/ios/LayoutKit/Interface/Menu.swift":"divkit/public/client/ios/LayoutKit/Interface/Menu.swift",
|
||||
@@ -18249,7 +18251,8 @@
|
||||
"test_data/regression_test_data/timers/countdown-timer.json":"divkit/public/test_data/regression_test_data/timers/countdown-timer.json",
|
||||
"test_data/regression_test_data/timers/endless-timer.json":"divkit/public/test_data/regression_test_data/timers/endless-timer.json",
|
||||
"test_data/regression_test_data/timers/typed-common-timer.json":"divkit/public/test_data/regression_test_data/timers/typed-common-timer.json",
|
||||
"test_data/regression_test_data/tooltips.json":"divkit/public/test_data/regression_test_data/tooltips.json",
|
||||
"test_data/regression_test_data/tooltips/tooltip-positions.json":"divkit/public/test_data/regression_test_data/tooltips/tooltip-positions.json",
|
||||
"test_data/regression_test_data/tooltips/tooltips.json":"divkit/public/test_data/regression_test_data/tooltips/tooltips.json",
|
||||
"test_data/regression_test_data/typed-tooltips.json":"divkit/public/test_data/regression_test_data/typed-tooltips.json",
|
||||
"test_data/regression_test_data/typed_stored_value.json":"divkit/public/test_data/regression_test_data/typed_stored_value.json",
|
||||
"test_data/regression_test_data/variables/div_gallery.json":"divkit/public/test_data/regression_test_data/variables/div_gallery.json",
|
||||
|
||||
@@ -274,6 +274,8 @@
|
||||
8CF8BBEA2B32682700569777 /* DivBuilders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CF8BBE92B32682700569777 /* DivBuilders.swift */; };
|
||||
8CFD4C9E2B2C5B780092814C /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CFD4C9D2B2C5B780092814C /* Theme.swift */; };
|
||||
982A7F142C9C08F30081DE74 /* PagerViewLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982A7F132C9C08F30081DE74 /* PagerViewLayoutTests.swift */; };
|
||||
986F579A2CD68E8400990A2A /* TooltipsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 986F57992CD68E8400990A2A /* TooltipsUITests.swift */; };
|
||||
986F579C2CD68E8400990A2A /* AppLaunchUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 986F579B2CD68E8400990A2A /* AppLaunchUITests.swift */; };
|
||||
98AF8DD62CC97CF600DE1B58 /* BlockTooltipTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AF8DD52CC97CF600DE1B58 /* BlockTooltipTests.swift */; };
|
||||
98C920F42C8F46EE00B2FFD8 /* LookinServer in Frameworks */ = {isa = PBXBuildFile; productRef = 98C920F32C8F46EE00B2FFD8 /* LookinServer */; };
|
||||
9D09984F2CA30D010098098C /* AccessoryViewProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D09984E2CA30D010098098C /* AccessoryViewProvider.swift */; };
|
||||
@@ -301,6 +303,13 @@
|
||||
remoteGlobalIDString = 8C9284F6288ADEEA00BEA1FA;
|
||||
remoteInfo = SnapshotTestsHostApp;
|
||||
};
|
||||
986F579D2CD68E8400990A2A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 8C9844F32864C2CC001ED5F3 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8C4409EC2864C4D200EF4175;
|
||||
remoteInfo = DivKitPlayground;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -568,6 +577,9 @@
|
||||
8CF8BBE92B32682700569777 /* DivBuilders.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DivBuilders.swift; sourceTree = "<group>"; };
|
||||
8CFD4C9D2B2C5B780092814C /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
|
||||
982A7F132C9C08F30081DE74 /* PagerViewLayoutTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagerViewLayoutTests.swift; sourceTree = "<group>"; };
|
||||
986F57972CD68E8400990A2A /* DivKitUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DivKitUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
986F57992CD68E8400990A2A /* TooltipsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipsUITests.swift; sourceTree = "<group>"; };
|
||||
986F579B2CD68E8400990A2A /* AppLaunchUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLaunchUITests.swift; sourceTree = "<group>"; };
|
||||
98AF8DD52CC97CF600DE1B58 /* BlockTooltipTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockTooltipTests.swift; sourceTree = "<group>"; };
|
||||
9D09984E2CA30D010098098C /* AccessoryViewProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessoryViewProvider.swift; sourceTree = "<group>"; };
|
||||
9D5BFB082CA1DA20005F8EB1 /* CustomFunctionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomFunctionTests.swift; sourceTree = "<group>"; };
|
||||
@@ -657,6 +669,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
986F57942CD68E8400990A2A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@@ -864,6 +883,7 @@
|
||||
8C6E40B128AAA47B0038E107 /* LayoutKitSnapshotTests.xctest */,
|
||||
52DED04729F7346900D64519 /* DivKitExtensionsTests.xctest */,
|
||||
7E2DFA8F2C7C7ED40095775C /* LayoutKitPlayground.framework */,
|
||||
986F57972CD68E8400990A2A /* DivKitUITests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -1184,6 +1204,7 @@
|
||||
8C6E40B228AAA47B0038E107 /* LayoutKitSnapshotTests */,
|
||||
8CF329252875D534003F799A /* LayoutKitTests */,
|
||||
8C9284F8288ADEEA00BEA1FA /* SnapshotTestsHostApp */,
|
||||
986F57982CD68E8400990A2A /* DivKitUITests */,
|
||||
8C7B1B112865BF4C0036EF4C /* Frameworks */,
|
||||
8C6DEA3D2866120A009956A1 /* Packages */,
|
||||
8C4409D22864C3A900EF4175 /* Products */,
|
||||
@@ -1300,6 +1321,15 @@
|
||||
path = Utils;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
986F57982CD68E8400990A2A /* DivKitUITests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
986F57992CD68E8400990A2A /* TooltipsUITests.swift */,
|
||||
986F579B2CD68E8400990A2A /* AppLaunchUITests.swift */,
|
||||
);
|
||||
path = DivKitUITests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E986A85A293DE77000D19572 /* Timers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -1505,6 +1535,24 @@
|
||||
productReference = 8CF329242875D534003F799A /* LayoutKitTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
986F57962CD68E8400990A2A /* DivKitUITests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 986F57A12CD68E8400990A2A /* Build configuration list for PBXNativeTarget "DivKitUITests" */;
|
||||
buildPhases = (
|
||||
986F57932CD68E8400990A2A /* Sources */,
|
||||
986F57942CD68E8400990A2A /* Frameworks */,
|
||||
986F57952CD68E8400990A2A /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
986F579E2CD68E8400990A2A /* PBXTargetDependency */,
|
||||
);
|
||||
name = DivKitUITests;
|
||||
productName = "DivKit PlaygroundUITests";
|
||||
productReference = 986F57972CD68E8400990A2A /* DivKitUITests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.ui-testing";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@@ -1512,7 +1560,7 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = 1;
|
||||
LastSwiftUpdateCheck = 1410;
|
||||
LastSwiftUpdateCheck = 1540;
|
||||
LastUpgradeCheck = 1400;
|
||||
TargetAttributes = {
|
||||
52DED04629F7346900D64519 = {
|
||||
@@ -1545,6 +1593,10 @@
|
||||
8CF329232875D534003F799A = {
|
||||
CreatedOnToolsVersion = 13.2.1;
|
||||
};
|
||||
986F57962CD68E8400990A2A = {
|
||||
CreatedOnToolsVersion = 15.4;
|
||||
TestTargetID = 8C4409EC2864C4D200EF4175;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 8C9844F62864C2CC001ED5F3 /* Build configuration list for PBXProject "DivKit" */;
|
||||
@@ -1575,6 +1627,7 @@
|
||||
8CF329232875D534003F799A /* LayoutKitTests */,
|
||||
8C9284F6288ADEEA00BEA1FA /* SnapshotTestsHostApp */,
|
||||
7E2DFA8E2C7C7ED40095775C /* LayoutKitPlayground */,
|
||||
986F57962CD68E8400990A2A /* DivKitUITests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -1658,6 +1711,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
986F57952CD68E8400990A2A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
@@ -1974,6 +2034,15 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
986F57932CD68E8400990A2A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
986F579C2CD68E8400990A2A /* AppLaunchUITests.swift in Sources */,
|
||||
986F579A2CD68E8400990A2A /* TooltipsUITests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
@@ -2047,6 +2116,11 @@
|
||||
isa = PBXTargetDependency;
|
||||
productRef = 8CF3296D2875D645003F799A /* LayoutKit */;
|
||||
};
|
||||
986F579E2CD68E8400990A2A /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 8C4409EC2864C4D200EF4175 /* DivKitPlayground */;
|
||||
targetProxy = 986F579D2CD68E8400990A2A /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -2507,6 +2581,147 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
986F579F2CD68E8400990A2A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = Y6G74A59K6;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
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;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MARKETING_VERSION = 1.0;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "ru.ya.lottie-test.DivKit-PlaygroundUITests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
|
||||
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = DivKitPlayground;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
986F57A02CD68E8400990A2A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = Y6G74A59K6;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
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;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MARKETING_VERSION = 1.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "ru.ya.lottie-test.DivKit-PlaygroundUITests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_EMIT_LOC_STRINGS = NO;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = DivKitPlayground;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -2591,6 +2806,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
986F57A12CD68E8400990A2A /* Build configuration list for PBXNativeTarget "DivKitUITests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
986F579F2CD68E8400990A2A /* Debug */,
|
||||
986F57A02CD68E8400990A2A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
/* Begin XCRemoteSwiftPackageReference section */
|
||||
|
||||
@@ -28,6 +28,17 @@
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO"
|
||||
parallelizable = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "986F57962CD68E8400990A2A"
|
||||
BuildableName = "DivKitUITests.xctest"
|
||||
BlueprintName = "DivKitUITests"
|
||||
ReferencedContainer = "container:DivKit.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
|
||||
@@ -257,17 +257,18 @@ extension DivView {
|
||||
}
|
||||
oldBounds = bounds
|
||||
}
|
||||
|
||||
|
||||
public override var accessibilityElements: [Any]? {
|
||||
get {
|
||||
guard let elements = self.blockProvider?.accessibilityElementsStorage?.getAccessibilityElements(from: self),
|
||||
!elements.isEmpty else {
|
||||
guard let elements = self.blockProvider?.accessibilityElementsStorage?
|
||||
.getAccessibilityElements(from: self),
|
||||
!elements.isEmpty else {
|
||||
return super.accessibilityElements
|
||||
}
|
||||
|
||||
|
||||
return elements
|
||||
}
|
||||
set { }
|
||||
set {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ open class DivViewController: UIViewController {
|
||||
private let scrollView = VisibilityTrackingScrollView()
|
||||
private var cancellables = Set<AnyCancellable>()
|
||||
|
||||
private let identifier: String = "baseDivView"
|
||||
|
||||
init(
|
||||
jsonPublisher: JsonPublisher,
|
||||
divKitComponents: DivKitComponents,
|
||||
@@ -52,6 +54,8 @@ open class DivViewController: UIViewController {
|
||||
$0.id != pinchToZoomExtensionHandler.id
|
||||
}
|
||||
divKitComponents.extensionHandlers.append(pinchToZoomExtensionHandler)
|
||||
|
||||
setTestIdentifier()
|
||||
}
|
||||
|
||||
public override func viewDidDisappear(_ animated: Bool) {
|
||||
@@ -73,6 +77,10 @@ open class DivViewController: UIViewController {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private func setTestIdentifier() {
|
||||
divView.accessibilityIdentifier = identifier
|
||||
}
|
||||
}
|
||||
|
||||
private let cardId: DivCardID = "DivViewCard"
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
import XCTest
|
||||
|
||||
final class AppLaunchUITests: XCTestCase {
|
||||
override class var runsForEachTargetApplicationUIConfiguration: Bool {
|
||||
true
|
||||
}
|
||||
|
||||
override func setUpWithError() throws {
|
||||
continueAfterFailure = false
|
||||
}
|
||||
|
||||
func testLaunch() throws {
|
||||
let app = XCUIApplication()
|
||||
app.launch()
|
||||
|
||||
let attachment = XCTAttachment(screenshot: app.screenshot())
|
||||
attachment.name = "Launch Screen"
|
||||
attachment.lifetime = .keepAlways
|
||||
add(attachment)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
import XCTest
|
||||
|
||||
final class TooltipsUITests: XCTestCase {
|
||||
private let app = XCUIApplication()
|
||||
private var elementsQuery: XCUIElementTypeQueryProvider {
|
||||
app.scrollViews.otherElements
|
||||
}
|
||||
|
||||
private lazy var baseDivView: XCUIElement = {
|
||||
let mainWindow = app.windows.element(boundBy: 0)
|
||||
return mainWindow.descendants(matching: .any).matching(identifier: "baseDivView").element
|
||||
}()
|
||||
|
||||
private lazy var tooltip: XCUIElement = {
|
||||
app.staticTexts["Title tooltip"]
|
||||
}()
|
||||
|
||||
private lazy var toggleTooltipButton: XCUIElement = {
|
||||
elementsQuery.staticTexts["tooltip with close button"]
|
||||
}()
|
||||
|
||||
override func setUpWithError() throws {
|
||||
try super.setUpWithError()
|
||||
|
||||
continueAfterFailure = false
|
||||
|
||||
app.launchArguments.append("UITestsMode")
|
||||
app.launch()
|
||||
}
|
||||
|
||||
override func tearDownWithError() throws {
|
||||
try super.tearDownWithError()
|
||||
}
|
||||
|
||||
func testTooltipPosition() throws {
|
||||
goTo(test: .tooltipPosition)
|
||||
|
||||
for position in Position.allCases {
|
||||
checkTooltip(for: position)
|
||||
}
|
||||
}
|
||||
|
||||
func testTooltipCloseOnSwitchOrientation() throws {
|
||||
let device = XCUIDevice.shared
|
||||
device.orientation = .portrait
|
||||
|
||||
goTo(test: .closeOnSwitchOrientation)
|
||||
|
||||
setPosition(.bottom)
|
||||
toggleTooltipButton.tap()
|
||||
XCTAssertTrue(tooltip.exists)
|
||||
|
||||
device.orientation = .landscapeRight
|
||||
XCTAssertTrue(!tooltip.exists) // tooltip closed
|
||||
|
||||
toggleTooltipButton.tap()
|
||||
device.orientation = .portrait
|
||||
XCTAssertTrue(!tooltip.exists) // tooltip closed again
|
||||
}
|
||||
}
|
||||
|
||||
extension TooltipsUITests {
|
||||
private func checkTooltip(for position: Position) {
|
||||
setPosition(position)
|
||||
|
||||
toggleTooltipButton.tap() // Open tooltip
|
||||
XCTAssertTrue(tooltip.exists)
|
||||
XCTAssertTrue(baseDivView.frame.contains(tooltip.frame), "Wrong result on \(position) position")
|
||||
|
||||
toggleTooltipButton.tap() // Close tooltip
|
||||
XCTAssertTrue(!tooltip.exists)
|
||||
}
|
||||
|
||||
private func setPosition(_ position: Position) {
|
||||
switch position {
|
||||
case .bottom:
|
||||
let setTooltipBottomPos = elementsQuery.staticTexts["Restore bottom position"]
|
||||
setTooltipBottomPos.tap()
|
||||
case .top:
|
||||
let setTooltipTopPos = elementsQuery.staticTexts["Set top position"]
|
||||
setTooltipTopPos.tap()
|
||||
case .right:
|
||||
let setTooltipRightPos = elementsQuery.staticTexts["Set right position"]
|
||||
setTooltipRightPos.tap()
|
||||
}
|
||||
}
|
||||
|
||||
private func goTo(test: TooltipTest) {
|
||||
switch test {
|
||||
case .tooltipPosition, .closeOnSwitchOrientation:
|
||||
app.buttons["testing"].tap()
|
||||
app.scrollViews.otherElements.staticTexts["Tooltip on different positions"].tap()
|
||||
}
|
||||
}
|
||||
|
||||
private enum TooltipTest {
|
||||
case tooltipPosition, closeOnSwitchOrientation
|
||||
}
|
||||
|
||||
private enum Position: CaseIterable {
|
||||
case bottom, top, right
|
||||
}
|
||||
}
|
||||
@@ -2470,7 +2470,29 @@
|
||||
"Tooltips are hidden when tapping into an empty area",
|
||||
"The tooltip is closed by tapping on the cross button and disappears when the Disappear Action is called"
|
||||
],
|
||||
"file": "tooltips.json"
|
||||
"file": "tooltips/tooltips.json"
|
||||
},
|
||||
{
|
||||
"title": "Tooltip on different positions",
|
||||
"platforms": [
|
||||
"ios"
|
||||
],
|
||||
"automated": [
|
||||
"ios"
|
||||
],
|
||||
"tags": [
|
||||
"Tooltips"
|
||||
],
|
||||
"steps": [
|
||||
"Click on buttons to set different positions of the tooltip",
|
||||
"After that, click the \"tooltip with close button\" button to display the tooltip"
|
||||
],
|
||||
"expected_results": [
|
||||
"The tooltip is always fully visible on the screen",
|
||||
"Tooltips are hidden when tapping into an empty area",
|
||||
"The tooltip is closed by tapping on the cross button and disappears when the Disappear Action is called"
|
||||
],
|
||||
"file": "tooltips/tooltip-positions.json"
|
||||
},
|
||||
{
|
||||
"title": "Persistent values storage",
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
{
|
||||
"templates": {
|
||||
"button": {
|
||||
"type": "text",
|
||||
"width": {
|
||||
"type": "match_parent"
|
||||
},
|
||||
"height": {
|
||||
"type": "wrap_content"
|
||||
},
|
||||
"paddings": {
|
||||
"left": 16,
|
||||
"top": 16,
|
||||
"right": 16,
|
||||
"bottom": 16
|
||||
},
|
||||
"margins": {
|
||||
"top": 16,
|
||||
"left": 12,
|
||||
"right": 12
|
||||
},
|
||||
"border": {
|
||||
"corner_radius": 8
|
||||
},
|
||||
"background": [
|
||||
{
|
||||
"type": "solid",
|
||||
"color": "#0E000000"
|
||||
}
|
||||
],
|
||||
"font_size": 16,
|
||||
"font_weight": "medium",
|
||||
"text_alignment_vertical": "center",
|
||||
"text_alignment_horizontal": "center",
|
||||
"text_color": "#000000",
|
||||
"alpha": 1,
|
||||
"alignment_horizontal": "center",
|
||||
"alignment_vertical": "center"
|
||||
}
|
||||
},
|
||||
"card": {
|
||||
"log_id": "visibility",
|
||||
"variables": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "position",
|
||||
"value": "bottom"
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"state_id": 0,
|
||||
"div": {
|
||||
"type": "container",
|
||||
"height": {
|
||||
"type": "wrap_content"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"type": "button",
|
||||
"text": "tooltip with close button",
|
||||
"margins": {
|
||||
"top": 60
|
||||
},
|
||||
"tooltips": [
|
||||
{
|
||||
"id": "tooltip",
|
||||
"position": "@{position}",
|
||||
"duration": 0,
|
||||
"offset": {
|
||||
"x": {
|
||||
"value": 0
|
||||
},
|
||||
"y": {
|
||||
"value": 4
|
||||
}
|
||||
},
|
||||
"div": {
|
||||
"type": "container",
|
||||
"orientation": "overlap",
|
||||
"items": [
|
||||
{
|
||||
"type": "container",
|
||||
"paddings": {
|
||||
"left": 16,
|
||||
"top": 16,
|
||||
"right": 16,
|
||||
"bottom": 16
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"type": "text",
|
||||
"width": {
|
||||
"type": "wrap_content"
|
||||
},
|
||||
"paddings": {
|
||||
"left": 16,
|
||||
"top": 16,
|
||||
"right": 16,
|
||||
"bottom": 16
|
||||
},
|
||||
"background": [
|
||||
{
|
||||
"type": "solid",
|
||||
"color": "#799eb7"
|
||||
}
|
||||
],
|
||||
"border": {
|
||||
"corner_radius": 6
|
||||
},
|
||||
"text_color": "#2C3E50",
|
||||
"text": "Title tooltip"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"width": {
|
||||
"type": "fixed",
|
||||
"value": 20
|
||||
},
|
||||
"height": {
|
||||
"type": "fixed",
|
||||
"value": 20
|
||||
},
|
||||
"margins": {
|
||||
"left": 8,
|
||||
"top": 8
|
||||
},
|
||||
"action": {
|
||||
"log_id": "hide_tooltip",
|
||||
"url": "div-action://hide_tooltip?id=tooltip"
|
||||
},
|
||||
"image_url": "https://yastatic.net/s3/home/div/div_fullscreens/cross2.3.png",
|
||||
"tint_color": "#000000",
|
||||
"alignment_horizontal": "left",
|
||||
"alignment_vertical": "top"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"log_id": "show_tooltip",
|
||||
"url": "div-action://show_tooltip?id=tooltip&multiple=true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"text": "Tooltip position: @{position}"
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"text": "Set top position",
|
||||
"margins": {
|
||||
"top": 150,
|
||||
"right": 15,
|
||||
"left": 15
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"log_id": "set_top_pos",
|
||||
"url": "div-action://set_variable?name=position&value=top"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"text": "Set right position",
|
||||
"margins": {
|
||||
"top": 15,
|
||||
"right": 15,
|
||||
"left": 15
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"log_id": "set_right_pos",
|
||||
"url": "div-action://set_variable?name=position&value=right"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"text": "Set center position",
|
||||
"margins": {
|
||||
"top": 15,
|
||||
"right": 15,
|
||||
"left": 15
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"log_id": "set_center_pos",
|
||||
"url": "div-action://set_variable?name=position&value=center"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"text": "Restore bottom position",
|
||||
"margins": {
|
||||
"top": 15,
|
||||
"right": 15,
|
||||
"left": 15
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"log_id": "restore_bottom_pos",
|
||||
"url": "div-action://set_variable?name=position&value=bottom"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user