appium-webdriveragent 4.4.1 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PrivateHeaders/XCTest/XCUICoordinate.h +2 -0
- package/PrivateHeaders/XCTest/XCUIDevice.h +2 -0
- package/PrivateHeaders/XCTest/XCUIElement.h +2 -0
- package/WebDriverAgentLib/Categories/XCUIElement+FBForceTouch.h +13 -13
- package/WebDriverAgentLib/Categories/XCUIElement+FBForceTouch.m +34 -45
- package/WebDriverAgentLib/Commands/FBElementCommands.m +47 -40
- package/WebDriverAgentRunner-Runner.app.zip +0 -0
- package/WebDriverAgentTests/IntegrationTests/FBAppiumTouchActionsIntegrationTests.m +0 -29
- package/WebDriverAgentTests/IntegrationTests/FBForceTouchTests.m +16 -5
- package/build/index.js +1 -1
- package/build/lib/check-dependencies.js +1 -1
- package/build/lib/constants.js +1 -1
- package/build/lib/logger.js +1 -1
- package/build/lib/no-session-proxy.js +1 -1
- package/build/lib/utils.js +1 -1
- package/build/lib/webdriveragent.js +1 -1
- package/build/lib/xcodebuild.js +1 -1
- package/package.json +6 -5
- package/WebDriverAgent.xcodeproj/project.xcworkspace/xcuserdata/elf.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/WebDriverAgent.xcodeproj/xcuserdata/elf.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -91
- package/WebDriverAgent.xcodeproj/xcuserdata/elf.xcuserdatad/xcschemes/xcschememanagement.plist +0 -59
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
- (id)_highestNonWindowAncestorOfElement:(id)arg1 notSharedWithElement:(id)arg2;
|
|
44
44
|
- (id)_pointsInFrame:(CGRect)arg1 numberOfTouches:(unsigned long long)arg2;
|
|
45
45
|
- (CGPoint)_hitPointByAttemptingToScrollToVisibleSnapshot:(id)arg1;
|
|
46
|
+
// Since 11.3
|
|
47
|
+
- (void)pressWithPressure:(double)arg1 duration:(double)arg2;
|
|
46
48
|
- (void)forcePress;
|
|
47
49
|
- (void)tapWithNumberOfTaps:(unsigned long long)arg1 numberOfTouches:(unsigned long long)arg2;
|
|
48
50
|
- (void)twoFingerTap;
|
|
@@ -11,29 +11,29 @@
|
|
|
11
11
|
|
|
12
12
|
NS_ASSUME_NONNULL_BEGIN
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
#if !TARGET_OS_TV
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
Waits for element to become stable (not move) and performs sync force touch on element
|
|
18
|
-
|
|
19
|
-
@param error If there is an error, upon return contains an NSError object that describes the problem.
|
|
20
|
-
@param pressure The pressure of the force touch – valid values are [0, touch.maximumPossibleForce]
|
|
21
|
-
@param duration The duration of the gesture in float seconds
|
|
22
|
-
@return YES if the operation succeeds, otherwise NO.
|
|
23
|
-
*/
|
|
24
|
-
- (BOOL)fb_forceTouchWithPressure:(double)pressure duration:(double)duration error:(NSError **)error;
|
|
16
|
+
@interface XCUIElement (FBForceTouch)
|
|
25
17
|
|
|
26
18
|
/**
|
|
27
|
-
|
|
19
|
+
Performs force touch on element
|
|
28
20
|
|
|
29
|
-
@param relativeCoordinate hit point coordinate relative to the current element position
|
|
21
|
+
@param relativeCoordinate hit point coordinate relative to the current element position.
|
|
22
|
+
nil value means to use the default element hit point
|
|
30
23
|
@param pressure The pressure of the force touch – valid values are [0, touch.maximumPossibleForce]
|
|
24
|
+
nil value would use the default pressure value
|
|
31
25
|
@param duration The duration of the gesture in float seconds
|
|
26
|
+
nil value would use the default duration value
|
|
32
27
|
@param error If there is an error, upon return contains an NSError object that describes the problem.
|
|
33
28
|
@return YES if the operation succeeds, otherwise NO.
|
|
34
29
|
*/
|
|
35
|
-
- (BOOL)fb_forceTouchCoordinate:(
|
|
30
|
+
- (BOOL)fb_forceTouchCoordinate:(nullable NSValue *)relativeCoordinate
|
|
31
|
+
pressure:(nullable NSNumber *)pressure
|
|
32
|
+
duration:(nullable NSNumber *)duration
|
|
33
|
+
error:(NSError **)error;
|
|
36
34
|
|
|
37
35
|
@end
|
|
38
36
|
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
39
|
NS_ASSUME_NONNULL_END
|
|
@@ -9,56 +9,45 @@
|
|
|
9
9
|
|
|
10
10
|
#import "XCUIElement+FBForceTouch.h"
|
|
11
11
|
|
|
12
|
-
#
|
|
12
|
+
#if !TARGET_OS_TV
|
|
13
|
+
|
|
14
|
+
#import "FBErrorBuilder.h"
|
|
15
|
+
#import "XCUICoordinate.h"
|
|
16
|
+
#import "XCUIDevice.h"
|
|
13
17
|
|
|
14
18
|
@implementation XCUIElement (FBForceTouch)
|
|
15
19
|
|
|
16
|
-
- (BOOL)
|
|
20
|
+
- (BOOL)fb_forceTouchCoordinate:(NSValue *)relativeCoordinate
|
|
21
|
+
pressure:(NSNumber *)pressure
|
|
22
|
+
duration:(NSNumber *)duration
|
|
23
|
+
error:(NSError **)error
|
|
17
24
|
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@"pressure": @(pressure)
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
@{
|
|
27
|
-
@"action": @"wait",
|
|
28
|
-
@"options": @{
|
|
29
|
-
@"ms": @(duration * 1000)
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
@{
|
|
33
|
-
@"action": @"release"
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
return [self.application fb_performAppiumTouchActions:gesture elementCache:nil error:error];
|
|
37
|
-
}
|
|
25
|
+
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
26
|
+
return [[[FBErrorBuilder builder]
|
|
27
|
+
withDescriptionFormat:@"Force press is not supported on this device"]
|
|
28
|
+
buildError:error];
|
|
29
|
+
}
|
|
38
30
|
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
@{
|
|
58
|
-
@"action": @"release"
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
return [self.application fb_performAppiumTouchActions:gesture elementCache:nil error:error];
|
|
31
|
+
if (nil == relativeCoordinate) {
|
|
32
|
+
if (nil == pressure || nil == duration) {
|
|
33
|
+
[self forcePress];
|
|
34
|
+
} else {
|
|
35
|
+
[self pressWithPressure:[pressure doubleValue] duration:[duration doubleValue]];
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
CGSize size = self.frame.size;
|
|
39
|
+
CGVector offset = CGVectorMake(size.width > 0 ? relativeCoordinate.CGPointValue.x / size.width : 0,
|
|
40
|
+
size.height > 0 ? relativeCoordinate.CGPointValue.y / size.height : 0);
|
|
41
|
+
XCUICoordinate *hitPoint = [self coordinateWithNormalizedOffset:offset];
|
|
42
|
+
if (nil == pressure || nil == duration) {
|
|
43
|
+
[hitPoint forcePress];
|
|
44
|
+
} else {
|
|
45
|
+
[hitPoint pressWithPressure:[pressure doubleValue] duration:[duration doubleValue]];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return YES;
|
|
62
49
|
}
|
|
63
50
|
|
|
64
51
|
@end
|
|
52
|
+
|
|
53
|
+
#endif
|
|
@@ -85,14 +85,15 @@
|
|
|
85
85
|
[[FBRoute POST:@"/wda/element/:uuid/touchAndHold"] respondWithTarget:self action:@selector(handleTouchAndHold:)],
|
|
86
86
|
[[FBRoute POST:@"/wda/element/:uuid/scroll"] respondWithTarget:self action:@selector(handleScroll:)],
|
|
87
87
|
[[FBRoute POST:@"/wda/element/:uuid/dragfromtoforduration"] respondWithTarget:self action:@selector(handleDrag:)],
|
|
88
|
+
[[FBRoute POST:@"/wda/element/:uuid/forceTouch"] respondWithTarget:self action:@selector(handleForceTouch:)],
|
|
88
89
|
[[FBRoute POST:@"/wda/dragfromtoforduration"] respondWithTarget:self action:@selector(handleDragCoordinate:)],
|
|
89
90
|
[[FBRoute POST:@"/wda/tap/:uuid"] respondWithTarget:self action:@selector(handleTap:)],
|
|
90
91
|
[[FBRoute POST:@"/wda/touchAndHold"] respondWithTarget:self action:@selector(handleTouchAndHoldCoordinate:)],
|
|
91
92
|
[[FBRoute POST:@"/wda/doubleTap"] respondWithTarget:self action:@selector(handleDoubleTapCoordinate:)],
|
|
92
93
|
[[FBRoute POST:@"/wda/pickerwheel/:uuid/select"] respondWithTarget:self action:@selector(handleWheelSelect:)],
|
|
94
|
+
[[FBRoute POST:@"/wda/forceTouch"] respondWithTarget:self action:@selector(handleForceTouch:)],
|
|
93
95
|
#endif
|
|
94
96
|
[[FBRoute POST:@"/wda/keys"] respondWithTarget:self action:@selector(handleKeys:)],
|
|
95
|
-
[[FBRoute POST:@"/wda/element/:uuid/forceTouch"] respondWithTarget:self action:@selector(handleForceTouch:)],
|
|
96
97
|
];
|
|
97
98
|
}
|
|
98
99
|
|
|
@@ -291,7 +292,8 @@
|
|
|
291
292
|
+ (id<FBResponsePayload>)handleDoubleTapCoordinate:(FBRouteRequest *)request
|
|
292
293
|
{
|
|
293
294
|
CGPoint doubleTapPoint = CGPointMake((CGFloat)[request.arguments[@"x"] doubleValue], (CGFloat)[request.arguments[@"y"] doubleValue]);
|
|
294
|
-
XCUICoordinate *doubleTapCoordinate = [self.class gestureCoordinateWithCoordinate:doubleTapPoint
|
|
295
|
+
XCUICoordinate *doubleTapCoordinate = [self.class gestureCoordinateWithCoordinate:doubleTapPoint
|
|
296
|
+
application:request.session.activeApplication];
|
|
295
297
|
[doubleTapCoordinate doubleTap];
|
|
296
298
|
return FBResponseWithOK();
|
|
297
299
|
}
|
|
@@ -328,7 +330,8 @@
|
|
|
328
330
|
+ (id<FBResponsePayload>)handleTouchAndHoldCoordinate:(FBRouteRequest *)request
|
|
329
331
|
{
|
|
330
332
|
CGPoint touchPoint = CGPointMake((CGFloat)[request.arguments[@"x"] doubleValue], (CGFloat)[request.arguments[@"y"] doubleValue]);
|
|
331
|
-
XCUICoordinate *pressCoordinate = [self.class gestureCoordinateWithCoordinate:touchPoint
|
|
333
|
+
XCUICoordinate *pressCoordinate = [self.class gestureCoordinateWithCoordinate:touchPoint
|
|
334
|
+
application:request.session.activeApplication];
|
|
332
335
|
[pressCoordinate pressForDuration:[request.arguments[@"duration"] doubleValue]];
|
|
333
336
|
return FBResponseWithOK();
|
|
334
337
|
}
|
|
@@ -386,8 +389,10 @@
|
|
|
386
389
|
CGPoint startPoint = CGPointMake((CGFloat)[request.arguments[@"fromX"] doubleValue], (CGFloat)[request.arguments[@"fromY"] doubleValue]);
|
|
387
390
|
CGPoint endPoint = CGPointMake((CGFloat)[request.arguments[@"toX"] doubleValue], (CGFloat)[request.arguments[@"toY"] doubleValue]);
|
|
388
391
|
NSTimeInterval duration = [request.arguments[@"duration"] doubleValue];
|
|
389
|
-
XCUICoordinate *endCoordinate = [self.class gestureCoordinateWithCoordinate:endPoint
|
|
390
|
-
|
|
392
|
+
XCUICoordinate *endCoordinate = [self.class gestureCoordinateWithCoordinate:endPoint
|
|
393
|
+
application:session.activeApplication];
|
|
394
|
+
XCUICoordinate *startCoordinate = [self.class gestureCoordinateWithCoordinate:startPoint
|
|
395
|
+
application:session.activeApplication];
|
|
391
396
|
[startCoordinate pressForDuration:duration thenDragToCoordinate:endCoordinate];
|
|
392
397
|
return FBResponseWithOK();
|
|
393
398
|
}
|
|
@@ -401,9 +406,10 @@
|
|
|
401
406
|
CGPoint startPoint = CGPointMake((CGFloat)(frame.origin.x + [request.arguments[@"fromX"] doubleValue]), (CGFloat)(frame.origin.y + [request.arguments[@"fromY"] doubleValue]));
|
|
402
407
|
CGPoint endPoint = CGPointMake((CGFloat)(frame.origin.x + [request.arguments[@"toX"] doubleValue]), (CGFloat)(frame.origin.y + [request.arguments[@"toY"] doubleValue]));
|
|
403
408
|
NSTimeInterval duration = [request.arguments[@"duration"] doubleValue];
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
XCUICoordinate *startCoordinate = [self.class gestureCoordinateWithCoordinate:startPoint
|
|
409
|
+
XCUICoordinate *endCoordinate = [self.class gestureCoordinateWithCoordinate:endPoint
|
|
410
|
+
application:session.activeApplication];
|
|
411
|
+
XCUICoordinate *startCoordinate = [self.class gestureCoordinateWithCoordinate:startPoint
|
|
412
|
+
application:session.activeApplication];
|
|
407
413
|
[startCoordinate pressForDuration:duration thenDragToCoordinate:endCoordinate];
|
|
408
414
|
return FBResponseWithOK();
|
|
409
415
|
}
|
|
@@ -439,8 +445,7 @@
|
|
|
439
445
|
}
|
|
440
446
|
} else {
|
|
441
447
|
XCUICoordinate *tapCoordinate = [self.class gestureCoordinateWithCoordinate:tapPoint
|
|
442
|
-
application:request.session.activeApplication
|
|
443
|
-
shouldApplyOrientationWorkaround:isSDKVersionLessThan(@"11.0")];
|
|
448
|
+
application:request.session.activeApplication];
|
|
444
449
|
[tapCoordinate tap];
|
|
445
450
|
}
|
|
446
451
|
return FBResponseWithOK();
|
|
@@ -465,27 +470,34 @@
|
|
|
465
470
|
[element rotate:rotation withVelocity:velocity];
|
|
466
471
|
return FBResponseWithOK();
|
|
467
472
|
}
|
|
468
|
-
#endif
|
|
469
473
|
|
|
470
474
|
+ (id<FBResponsePayload>)handleForceTouch:(FBRouteRequest *)request
|
|
471
475
|
{
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
double duration = [request.arguments[@"duration"] doubleValue];
|
|
476
|
-
NSError *error;
|
|
477
|
-
if (nil != request.arguments[@"x"] && nil != request.arguments[@"y"]) {
|
|
478
|
-
CGPoint forceTouchPoint = CGPointMake((CGFloat)[request.arguments[@"x"] doubleValue], (CGFloat)[request.arguments[@"y"] doubleValue]);
|
|
479
|
-
if (![element fb_forceTouchCoordinate:forceTouchPoint pressure:pressure duration:duration error:&error]) {
|
|
480
|
-
return FBResponseWithStatus([FBCommandStatus invalidElementStateErrorWithMessage:error.description traceback:nil]);
|
|
481
|
-
}
|
|
476
|
+
XCUIElement *element = nil;
|
|
477
|
+
if (nil == request.parameters[@"uuid"]) {
|
|
478
|
+
element = [FBApplication fb_activeApplication];
|
|
482
479
|
} else {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
}
|
|
480
|
+
FBElementCache *elementCache = request.session.elementCache;
|
|
481
|
+
element = [elementCache elementForUUID:(NSString *)request.parameters[@"uuid"]];
|
|
486
482
|
}
|
|
487
|
-
|
|
483
|
+
NSNumber *pressure = request.arguments[@"pressure"];
|
|
484
|
+
NSNumber *duration = request.arguments[@"duration"];
|
|
485
|
+
NSNumber *x = request.arguments[@"x"];
|
|
486
|
+
NSNumber *y = request.arguments[@"y"];
|
|
487
|
+
NSValue *hitPoint = (nil == x || nil == y)
|
|
488
|
+
? nil
|
|
489
|
+
: [NSValue valueWithCGPoint:CGPointMake((CGFloat)[x doubleValue], (CGFloat)[y doubleValue])];
|
|
490
|
+
NSError *error;
|
|
491
|
+
BOOL didSucceed = [element fb_forceTouchCoordinate:hitPoint
|
|
492
|
+
pressure:pressure
|
|
493
|
+
duration:duration
|
|
494
|
+
error:&error];
|
|
495
|
+
return didSucceed
|
|
496
|
+
? FBResponseWithOK()
|
|
497
|
+
: FBResponseWithStatus([FBCommandStatus invalidElementStateErrorWithMessage:error.description
|
|
498
|
+
traceback:nil]);
|
|
488
499
|
}
|
|
500
|
+
#endif
|
|
489
501
|
|
|
490
502
|
+ (id<FBResponsePayload>)handleKeys:(FBRouteRequest *)request
|
|
491
503
|
{
|
|
@@ -574,7 +586,8 @@ static const CGFloat DEFAULT_OFFSET = (CGFloat)0.2;
|
|
|
574
586
|
return FBResponseWithStatus([FBCommandStatus elementNotVisibleErrorWithMessage:@"Can't scroll to element that does not exist" traceback:[NSString stringWithFormat:@"%@", NSThread.callStackSymbols]]);
|
|
575
587
|
}
|
|
576
588
|
if (![element fb_scrollToVisibleWithError:&error]) {
|
|
577
|
-
return FBResponseWithStatus([FBCommandStatus invalidElementStateErrorWithMessage:error.description
|
|
589
|
+
return FBResponseWithStatus([FBCommandStatus invalidElementStateErrorWithMessage:error.description
|
|
590
|
+
traceback:[NSString stringWithFormat:@"%@", NSThread.callStackSymbols]]);
|
|
578
591
|
}
|
|
579
592
|
return FBResponseWithOK();
|
|
580
593
|
}
|
|
@@ -584,21 +597,12 @@ static const CGFloat DEFAULT_OFFSET = (CGFloat)0.2;
|
|
|
584
597
|
|
|
585
598
|
@param coordinate absolute screen coordinates
|
|
586
599
|
@param application the instance of current application under test
|
|
587
|
-
@shouldApplyOrientationWorkaround whether to apply orientation workaround. This is to
|
|
588
|
-
handle XCTest bug where it does not translate screen coordinates for elements if
|
|
589
|
-
screen orientation is different from the default one (which is portrait).
|
|
590
|
-
Different iOS version have different behavior, for example iOS 9.3 returns correct
|
|
591
|
-
coordinates for elements in landscape, but iOS 10.0+ returns inverted coordinates as if
|
|
592
|
-
the current screen orientation would be portrait.
|
|
593
600
|
@return translated gesture coordinates ready to be passed to XCUICoordinate methods
|
|
594
601
|
*/
|
|
595
|
-
+ (XCUICoordinate *)gestureCoordinateWithCoordinate:(CGPoint)coordinate
|
|
602
|
+
+ (XCUICoordinate *)gestureCoordinateWithCoordinate:(CGPoint)coordinate
|
|
603
|
+
application:(XCUIApplication *)application
|
|
596
604
|
{
|
|
597
605
|
CGPoint point = coordinate;
|
|
598
|
-
if (shouldApplyOrientationWorkaround) {
|
|
599
|
-
point = FBInvertPointForApplication(coordinate, application.frame.size, application.interfaceOrientation);
|
|
600
|
-
}
|
|
601
|
-
|
|
602
606
|
/**
|
|
603
607
|
If SDK >= 11, the tap coordinate based on application is not correct when
|
|
604
608
|
the application orientation is landscape and
|
|
@@ -632,10 +636,13 @@ static const CGFloat DEFAULT_OFFSET = (CGFloat)0.2;
|
|
|
632
636
|
@param element the element in the current application under test
|
|
633
637
|
@return translated gesture coordinates ready to be passed to XCUICoordinate methods
|
|
634
638
|
*/
|
|
635
|
-
+ (XCUICoordinate *)gestureCoordinateWithCoordinate:(CGPoint)coordinate
|
|
639
|
+
+ (XCUICoordinate *)gestureCoordinateWithCoordinate:(CGPoint)coordinate
|
|
640
|
+
element:(XCUIElement *)element
|
|
636
641
|
{
|
|
637
|
-
XCUICoordinate *appCoordinate = [[XCUICoordinate alloc] initWithElement:element
|
|
638
|
-
|
|
642
|
+
XCUICoordinate *appCoordinate = [[XCUICoordinate alloc] initWithElement:element
|
|
643
|
+
normalizedOffset:CGVectorMake(0, 0)];
|
|
644
|
+
return [[XCUICoordinate alloc] initWithCoordinate:appCoordinate
|
|
645
|
+
pointsOffset:CGVectorMake(coordinate.x, coordinate.y)];
|
|
639
646
|
}
|
|
640
647
|
#endif
|
|
641
648
|
|
|
Binary file
|
|
@@ -284,35 +284,6 @@
|
|
|
284
284
|
[self verifyGesture:gesture orientation:orientation];
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
- (void)testForcePress
|
|
288
|
-
{
|
|
289
|
-
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"15.0")) {
|
|
290
|
-
// Does not work on iOS 15.
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
NSArray<NSDictionary<NSString *, id> *> *gesture =
|
|
294
|
-
@[@{
|
|
295
|
-
@"action": @"press",
|
|
296
|
-
@"options": @{
|
|
297
|
-
@"ELEMENT": self.testedApplication.buttons[FBShowAlertForceTouchButtonName],
|
|
298
|
-
@"x": @1,
|
|
299
|
-
@"y": @1,
|
|
300
|
-
@"pressure": @1
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
@{
|
|
304
|
-
@"action": @"wait",
|
|
305
|
-
@"options": @{
|
|
306
|
-
@"ms": @300
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
@{
|
|
310
|
-
@"action": @"release"
|
|
311
|
-
}
|
|
312
|
-
];
|
|
313
|
-
[self verifyGesture:gesture orientation:UIDeviceOrientationPortrait];
|
|
314
|
-
}
|
|
315
|
-
|
|
316
287
|
@end
|
|
317
288
|
|
|
318
289
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
#import "FBMacros.h"
|
|
15
15
|
#import "FBElementCache.h"
|
|
16
16
|
#import "FBTestMacros.h"
|
|
17
|
+
#import "XCUIDevice.h"
|
|
17
18
|
#import "XCUIDevice+FBRotation.h"
|
|
18
19
|
#import "XCUIElement+FBForceTouch.h"
|
|
19
20
|
#import "XCUIElement+FBIsVisible.h"
|
|
@@ -30,7 +31,10 @@
|
|
|
30
31
|
[[XCUIDevice sharedDevice] fb_setDeviceInterfaceOrientation:orientation];
|
|
31
32
|
NSError *error;
|
|
32
33
|
XCTAssertTrue(self.testedApplication.alerts.count == 0);
|
|
33
|
-
[self.testedApplication.buttons[FBShowAlertForceTouchButtonName]
|
|
34
|
+
[self.testedApplication.buttons[FBShowAlertForceTouchButtonName] fb_forceTouchCoordinate:nil
|
|
35
|
+
pressure:nil
|
|
36
|
+
duration:nil
|
|
37
|
+
error:&error];
|
|
34
38
|
FBAssertWaitTillBecomesTrue(self.testedApplication.alerts.count > 0);
|
|
35
39
|
}
|
|
36
40
|
|
|
@@ -54,21 +58,28 @@
|
|
|
54
58
|
|
|
55
59
|
- (void)testForceTap
|
|
56
60
|
{
|
|
57
|
-
if (
|
|
58
|
-
// Does not work on iOS 15.
|
|
61
|
+
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
59
62
|
return;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
[self verifyForceTapWithOrientation:UIDeviceOrientationPortrait];
|
|
63
66
|
}
|
|
64
67
|
|
|
65
|
-
- (void)
|
|
68
|
+
- (void)testForceTapInLandscapeLeft
|
|
66
69
|
{
|
|
70
|
+
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
67
74
|
[self verifyForceTapWithOrientation:UIDeviceOrientationLandscapeLeft];
|
|
68
75
|
}
|
|
69
76
|
|
|
70
|
-
- (void)
|
|
77
|
+
- (void)testForceTapInLandscapeRight
|
|
71
78
|
{
|
|
79
|
+
if (![XCUIDevice sharedDevice].supportsPressureInteraction) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
72
83
|
[self verifyForceTapWithOrientation:UIDeviceOrientationLandscapeRight];
|
|
73
84
|
}
|
|
74
85
|
|
package/build/index.js
CHANGED
|
@@ -57,4 +57,4 @@ if (require.main === module) {
|
|
|
57
57
|
}require('source-map-support').install();
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6WyJjaGVja0ZvckRlcGVuZGVuY2llcyIsImJ1bmRsZVdEQVNpbSIsImRlcGVuZGVuY2llcyIsIk5vU2Vzc2lvblByb3h5IiwicHJveGllcyIsIldlYkRyaXZlckFnZW50IiwiZHJpdmVyIiwiQk9PVFNUUkFQX1BBVEgiLCJXREFfQkFTRV9VUkwiLCJXREFfUlVOTkVSX0JVTkRMRV9JRCIsIlBST0pFQ1RfRklMRSIsImNvbnN0YW50cyIsInJlc2V0VGVzdFByb2Nlc3NlcyIsInV0aWxzIiwicmVxdWlyZSIsIm1haW4iLCJtb2R1bGUiLCJhc3luY2lmeSJdLCJzb3VyY2VSb290IjoiLi4iLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGRlcGVuZGVuY2llcyBmcm9tICcuL2xpYi9jaGVjay1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0ICogYXMgcHJveGllcyBmcm9tICcuL2xpYi9uby1zZXNzaW9uLXByb3h5JztcbmltcG9ydCAqIGFzIGRyaXZlciBmcm9tICcuL2xpYi93ZWJkcml2ZXJhZ2VudCc7XG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcbmltcG9ydCB7IGFzeW5jaWZ5IH0gZnJvbSAnYXN5bmNib3gnO1xuXG5cbmNvbnN0IHsgY2hlY2tGb3JEZXBlbmRlbmNpZXMsIGJ1bmRsZVdEQVNpbSB9ID0gZGVwZW5kZW5jaWVzO1xuY29uc3QgeyBOb1Nlc3Npb25Qcm94eSB9ID0gcHJveGllcztcbmNvbnN0IHsgV2ViRHJpdmVyQWdlbnQgfSA9IGRyaXZlcjtcbmNvbnN0IHsgQk9PVFNUUkFQX1BBVEgsIFdEQV9CQVNFX1VSTCwgV0RBX1JVTk5FUl9CVU5ETEVfSUQsIFBST0pFQ1RfRklMRSB9ID0gY29uc3RhbnRzO1xuY29uc3QgeyByZXNldFRlc3RQcm9jZXNzZXMgfSA9IHV0aWxzO1xuXG5cbi8vIFdoZW4gcnVuIGFzIGEgY29tbWFuZCBsaW5lIHV0aWxpdHksIHRoaXMgc2hvdWxkIGNoZWNrIGZvciB0aGUgZGVwZW5kZW5jaWVzXG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgYXN5bmNpZnkoY2hlY2tGb3JEZXBlbmRlbmNpZXMpO1xufVxuXG5leHBvcnQge1xuICBXZWJEcml2ZXJBZ2VudCxcbiAgTm9TZXNzaW9uUHJveHksXG4gIGNoZWNrRm9yRGVwZW5kZW5jaWVzLCBidW5kbGVXREFTaW0sXG4gIHJlc2V0VGVzdFByb2Nlc3NlcyxcbiAgQk9PVFNUUkFQX1BBVEgsXG4gIFdEQV9SVU5ORVJfQlVORExFX0lELCBQUk9KRUNUX0ZJTEUsXG4gIFdEQV9CQVNFX1VSTCxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFHQSxNQUFNO0VBQUVBLG9CQUFGO0VBQXdCQztBQUF4QixJQUF5Q0MsWUFBL0M7OztBQUNBLE1BQU07RUFBRUM7QUFBRixJQUFxQkMsT0FBM0I7O0FBQ0EsTUFBTTtFQUFFQztBQUFGLElBQXFCQyxNQUEzQjs7QUFDQSxNQUFNO0VBQUVDLGNBQUY7RUFBa0JDLFlBQWxCO0VBQWdDQyxvQkFBaEM7RUFBc0RDO0FBQXRELElBQXVFQyxTQUE3RTs7Ozs7QUFDQSxNQUFNO0VBQUVDO0FBQUYsSUFBeUJDLEtBQS9COzs7QUFJQSxJQUFJQyxPQUFPLENBQUNDLElBQVIsS0FBaUJDLE1BQXJCLEVBQTZCO0VBQzNCLElBQUFDLGtCQUFBLEVBQVNqQixvQkFBVDtBQUNEIn0=
|
|
@@ -55,4 +55,4 @@ async function bundleWDASim(xcodebuild, opts = {}) {
|
|
|
55
55
|
}require('source-map-support').install();
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NoZWNrLWRlcGVuZGVuY2llcy5qcyIsIm5hbWVzIjpbImJ1aWxkV0RBU2ltIiwiYXJncyIsIldEQV9QUk9KRUNUIiwiV0RBX1NDSEVNRSIsIlNES19TSU1VTEFUT1IiLCJleGVjIiwiY2hlY2tGb3JEZXBlbmRlbmNpZXMiLCJsb2ciLCJkZWJ1ZyIsImJ1bmRsZVdEQVNpbSIsInhjb2RlYnVpbGQiLCJvcHRzIiwiXyIsImlzRnVuY3Rpb24iLCJyZXRyaWV2ZURlcml2ZWREYXRhUGF0aCIsIlhjb2RlQnVpbGQiLCJkZXJpdmVkRGF0YVBhdGgiLCJ3ZGFCdW5kbGVQYXRoIiwicGF0aCIsImpvaW4iLCJXREFfUlVOTkVSX0FQUCIsImZzIiwiZXhpc3RzIl0sInNvdXJjZVJvb3QiOiIuLi8uLiIsInNvdXJjZXMiOlsibGliL2NoZWNrLWRlcGVuZGVuY2llcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcyB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBYY29kZUJ1aWxkIGZyb20gJy4veGNvZGVidWlsZCc7XG5pbXBvcnQge1xuICBXREFfUFJPSkVDVCwgV0RBX1NDSEVNRSwgU0RLX1NJTVVMQVRPUiwgV0RBX1JVTk5FUl9BUFBcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkV0RBU2ltICgpIHtcbiAgY29uc3QgYXJncyA9IFtcbiAgICAnLXByb2plY3QnLCBXREFfUFJPSkVDVCxcbiAgICAnLXNjaGVtZScsIFdEQV9TQ0hFTUUsXG4gICAgJy1zZGsnLCBTREtfU0lNVUxBVE9SLFxuICAgICdDT0RFX1NJR05fSURFTlRJVFk9XCJcIicsXG4gICAgJ0NPREVfU0lHTklOR19SRVFVSVJFRD1cIk5PXCInLFxuICAgICdHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTPTAnLFxuICBdO1xuICBhd2FpdCBleGVjKCd4Y29kZWJ1aWxkJywgYXJncyk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF3YWl0XG5hc3luYyBmdW5jdGlvbiBjaGVja0ZvckRlcGVuZGVuY2llcyAoKSB7XG4gIGxvZy5kZWJ1ZygnRGVwZW5kZW5jaWVzIGFyZSB1cCB0byBkYXRlJyk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYnVuZGxlV0RBU2ltICh4Y29kZWJ1aWxkLCBvcHRzID0ge30pIHtcbiAgaWYgKHhjb2RlYnVpbGQgJiYgIV8uaXNGdW5jdGlvbih4Y29kZWJ1aWxkLnJldHJpZXZlRGVyaXZlZERhdGFQYXRoKSkge1xuICAgIHhjb2RlYnVpbGQgPSBuZXcgWGNvZGVCdWlsZCgpO1xuICAgIG9wdHMgPSB4Y29kZWJ1aWxkO1xuICB9XG5cbiAgY29uc3QgZGVyaXZlZERhdGFQYXRoID0gYXdhaXQgeGNvZGVidWlsZC5yZXRyaWV2ZURlcml2ZWREYXRhUGF0aCgpO1xuICBjb25zdCB3ZGFCdW5kbGVQYXRoID0gcGF0aC5qb2luKGRlcml2ZWREYXRhUGF0aCwgJ0J1aWxkJywgJ1Byb2R1Y3RzJywgJ0RlYnVnLWlwaG9uZXNpbXVsYXRvcicsIFdEQV9SVU5ORVJfQVBQKTtcbiAgaWYgKGF3YWl0IGZzLmV4aXN0cyh3ZGFCdW5kbGVQYXRoKSkge1xuICAgIHJldHVybiB3ZGFCdW5kbGVQYXRoO1xuICB9XG4gIGF3YWl0IGNoZWNrRm9yRGVwZW5kZW5jaWVzKG9wdHMpO1xuICBhd2FpdCBidWlsZFdEQVNpbSh4Y29kZWJ1aWxkLCBvcHRzKTtcbiAgcmV0dXJuIHdkYUJ1bmRsZVBhdGg7XG59XG5cbmV4cG9ydCB7IGNoZWNrRm9yRGVwZW5kZW5jaWVzLCBidW5kbGVXREFTaW0gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBRUEsZUFBZUEsV0FBZixHQUE4QjtFQUM1QixNQUFNQyxJQUFJLEdBQUcsQ0FDWCxVQURXLEVBQ0NDLHNCQURELEVBRVgsU0FGVyxFQUVBQyxxQkFGQSxFQUdYLE1BSFcsRUFHSEMsd0JBSEcsRUFJWCx1QkFKVyxFQUtYLDRCQUxXLEVBTVgsZ0NBTlcsQ0FBYjtFQVFBLE1BQU0sSUFBQUMsa0JBQUEsRUFBSyxZQUFMLEVBQW1CSixJQUFuQixDQUFOO0FBQ0Q7O0FBR0QsZUFBZUssb0JBQWYsR0FBdUM7RUFDckNDLGVBQUEsQ0FBSUMsS0FBSixDQUFVLDZCQUFWOztFQUNBLE9BQU8sS0FBUDtBQUNEOztBQUVELGVBQWVDLFlBQWYsQ0FBNkJDLFVBQTdCLEVBQXlDQyxJQUFJLEdBQUcsRUFBaEQsRUFBb0Q7RUFDbEQsSUFBSUQsVUFBVSxJQUFJLENBQUNFLGVBQUEsQ0FBRUMsVUFBRixDQUFhSCxVQUFVLENBQUNJLHVCQUF4QixDQUFuQixFQUFxRTtJQUNuRUosVUFBVSxHQUFHLElBQUlLLG1CQUFKLEVBQWI7SUFDQUosSUFBSSxHQUFHRCxVQUFQO0VBQ0Q7O0VBRUQsTUFBTU0sZUFBZSxHQUFHLE1BQU1OLFVBQVUsQ0FBQ0ksdUJBQVgsRUFBOUI7O0VBQ0EsTUFBTUcsYUFBYSxHQUFHQyxhQUFBLENBQUtDLElBQUwsQ0FBVUgsZUFBVixFQUEyQixPQUEzQixFQUFvQyxVQUFwQyxFQUFnRCx1QkFBaEQsRUFBeUVJLHlCQUF6RSxDQUF0Qjs7RUFDQSxJQUFJLE1BQU1DLFdBQUEsQ0FBR0MsTUFBSCxDQUFVTCxhQUFWLENBQVYsRUFBb0M7SUFDbEMsT0FBT0EsYUFBUDtFQUNEOztFQUNELE1BQU1YLG9CQUFvQixDQUFDSyxJQUFELENBQTFCO0VBQ0EsTUFBTVgsV0FBVyxDQUFDVSxVQUFELEVBQWFDLElBQWIsQ0FBakI7RUFDQSxPQUFPTSxhQUFQO0FBQ0QifQ==
|
package/build/lib/constants.js
CHANGED
|
@@ -45,4 +45,4 @@ const WDA_UPGRADE_TIMESTAMP_PATH = _path.default.join('.appium', 'webdriveragent
|
|
|
45
45
|
exports.WDA_UPGRADE_TIMESTAMP_PATH = WDA_UPGRADE_TIMESTAMP_PATH;require('source-map-support').install();
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbnN0YW50cy5qcyIsIm5hbWVzIjpbIkJPT1RTVFJBUF9QQVRIIiwiX19kaXJuYW1lIiwiZW5kc1dpdGgiLCJwYXRoIiwicmVzb2x2ZSIsIldEQV9QUk9KRUNUIiwiam9pbiIsIldEQV9TQ1JJUFRTX1JPT1QiLCJXREFfUlVOTkVSX0JVTkRMRV9JRCIsIldEQV9SVU5ORVJfQVBQIiwiV0RBX1NDSEVNRSIsIlBST0pFQ1RfRklMRSIsIldEQV9CQVNFX1VSTCIsIlBMQVRGT1JNX05BTUVfVFZPUyIsIlBMQVRGT1JNX05BTUVfSU9TIiwiU0RLX1NJTVVMQVRPUiIsIlNES19ERVZJQ0UiLCJXREFfVVBHUkFERV9USU1FU1RBTVBfUEFUSCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cblxuY29uc3QgQk9PVFNUUkFQX1BBVEggPSBfX2Rpcm5hbWUuZW5kc1dpdGgoJ2J1aWxkJylcbiAgPyBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnLi4nKVxuICA6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicpO1xuY29uc3QgV0RBX1BST0pFQ1QgPSBwYXRoLmpvaW4oQk9PVFNUUkFQX1BBVEgsICdXZWJEcml2ZXJBZ2VudC54Y29kZXByb2onKTtcbmNvbnN0IFdEQV9TQ1JJUFRTX1JPT1QgPSBwYXRoLmpvaW4oQk9PVFNUUkFQX1BBVEgsICdTY3JpcHRzJyk7XG5jb25zdCBXREFfUlVOTkVSX0JVTkRMRV9JRCA9ICdjb20uZmFjZWJvb2suV2ViRHJpdmVyQWdlbnRSdW5uZXInO1xuY29uc3QgV0RBX1JVTk5FUl9BUFAgPSAnV2ViRHJpdmVyQWdlbnRSdW5uZXItUnVubmVyLmFwcCc7XG5jb25zdCBXREFfU0NIRU1FID0gJ1dlYkRyaXZlckFnZW50UnVubmVyJztcbmNvbnN0IFBST0pFQ1RfRklMRSA9ICdwcm9qZWN0LnBieHByb2onO1xuY29uc3QgV0RBX0JBU0VfVVJMID0gJ2h0dHA6Ly8xMjcuMC4wLjEnO1xuXG5jb25zdCBQTEFURk9STV9OQU1FX1RWT1MgPSAndHZPUyc7XG5jb25zdCBQTEFURk9STV9OQU1FX0lPUyA9ICdpT1MnO1xuXG5jb25zdCBTREtfU0lNVUxBVE9SID0gJ2lwaG9uZXNpbXVsYXRvcic7XG5jb25zdCBTREtfREVWSUNFID0gJ2lwaG9uZW9zJztcblxuY29uc3QgV0RBX1VQR1JBREVfVElNRVNUQU1QX1BBVEggPSBwYXRoLmpvaW4oJy5hcHBpdW0nLCAnd2ViZHJpdmVyYWdlbnQnLCAndXBncmFkZS50aW1lJyk7XG5cbmV4cG9ydCB7XG4gIEJPT1RTVFJBUF9QQVRILFxuICBXREFfUlVOTkVSX0JVTkRMRV9JRCwgV0RBX1JVTk5FUl9BUFAsIFBST0pFQ1RfRklMRSxcbiAgV0RBX1BST0pFQ1QsIFdEQV9TQ0hFTUUsXG4gIFBMQVRGT1JNX05BTUVfVFZPUywgUExBVEZPUk1fTkFNRV9JT1MsXG4gIFNES19TSU1VTEFUT1IsIFNES19ERVZJQ0UsXG4gIFdEQV9CQVNFX1VSTCwgV0RBX1NDUklQVFNfUk9PVCwgV0RBX1VQR1JBREVfVElNRVNUQU1QX1BBVEhcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBR0EsTUFBTUEsY0FBYyxHQUFHQyxTQUFTLENBQUNDLFFBQVYsQ0FBbUIsT0FBbkIsSUFDbkJDLGFBQUEsQ0FBS0MsT0FBTCxDQUFhSCxTQUFiLEVBQXdCLElBQXhCLEVBQThCLElBQTlCLEVBQW9DLElBQXBDLENBRG1CLEdBRW5CRSxhQUFBLENBQUtDLE9BQUwsQ0FBYUgsU0FBYixFQUF3QixJQUF4QixFQUE4QixJQUE5QixDQUZKOzs7QUFHQSxNQUFNSSxXQUFXLEdBQUdGLGFBQUEsQ0FBS0csSUFBTCxDQUFVTixjQUFWLEVBQTBCLDBCQUExQixDQUFwQjs7OztBQUNBLE1BQU1PLGdCQUFnQixHQUFHSixhQUFBLENBQUtHLElBQUwsQ0FBVU4sY0FBVixFQUEwQixTQUExQixDQUF6Qjs7O0FBQ0EsTUFBTVEsb0JBQW9CLEdBQUcsbUNBQTdCOztBQUNBLE1BQU1DLGNBQWMsR0FBRyxpQ0FBdkI7O0FBQ0EsTUFBTUMsVUFBVSxHQUFHLHNCQUFuQjs7QUFDQSxNQUFNQyxZQUFZLEdBQUcsaUJBQXJCOztBQUNBLE1BQU1DLFlBQVksR0FBRyxrQkFBckI7O0FBRUEsTUFBTUMsa0JBQWtCLEdBQUcsTUFBM0I7O0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUcsS0FBMUI7O0FBRUEsTUFBTUMsYUFBYSxHQUFHLGlCQUF0Qjs7QUFDQSxNQUFNQyxVQUFVLEdBQUcsVUFBbkI7OztBQUVBLE1BQU1DLDBCQUEwQixHQUFHZCxhQUFBLENBQUtHLElBQUwsQ0FBVSxTQUFWLEVBQXFCLGdCQUFyQixFQUF1QyxjQUF2QyxDQUFuQyJ9
|
package/build/lib/logger.js
CHANGED
|
@@ -15,4 +15,4 @@ var _default = log;
|
|
|
15
15
|
exports.default = _default;require('source-map-support').install();
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2xvZ2dlci5qcyIsIm5hbWVzIjpbImxvZyIsImxvZ2dlciIsImdldExvZ2dlciJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgbG9nID0gbG9nZ2VyLmdldExvZ2dlcignV2ViRHJpdmVyQWdlbnQnKTtcblxuZXhwb3J0IGRlZmF1bHQgbG9nO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFFQSxNQUFNQSxHQUFHLEdBQUdDLGVBQUEsQ0FBT0MsU0FBUCxDQUFpQixnQkFBakIsQ0FBWjs7ZUFFZUYsRyJ9
|
|
@@ -39,4 +39,4 @@ var _default = NoSessionProxy;
|
|
|
39
39
|
exports.default = _default;require('source-map-support').install();
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL25vLXNlc3Npb24tcHJveHkuanMiLCJuYW1lcyI6WyJOb1Nlc3Npb25Qcm94eSIsIkpXUHJveHkiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJnZXRVcmxGb3JQcm94eSIsInVybCIsInByb3h5QmFzZSIsInNjaGVtZSIsInNlcnZlciIsInBvcnQiLCJiYXNlIiwicmVtYWluaW5nVXJsIiwiUmVnRXhwIiwidGVzdCIsIkVycm9yIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9uby1zZXNzaW9uLXByb3h5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpXUHJveHkgfSBmcm9tICdAYXBwaXVtL2Jhc2UtZHJpdmVyJztcblxuXG5jbGFzcyBOb1Nlc3Npb25Qcm94eSBleHRlbmRzIEpXUHJveHkge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIob3B0cyk7XG4gIH1cblxuICBnZXRVcmxGb3JQcm94eSAodXJsKSB7XG4gICAgaWYgKHVybCA9PT0gJycpIHtcbiAgICAgIHVybCA9ICcvJztcbiAgICB9XG4gICAgY29uc3QgcHJveHlCYXNlID0gYCR7dGhpcy5zY2hlbWV9Oi8vJHt0aGlzLnNlcnZlcn06JHt0aGlzLnBvcnR9JHt0aGlzLmJhc2V9YDtcbiAgICBsZXQgcmVtYWluaW5nVXJsID0gJyc7XG4gICAgaWYgKChuZXcgUmVnRXhwKCdeLycpKS50ZXN0KHVybCkpIHtcbiAgICAgIHJlbWFpbmluZ1VybCA9IHVybDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaWQgbm90IGtub3cgd2hhdCB0byBkbyB3aXRoIHVybCAnJHt1cmx9J2ApO1xuICAgIH1cbiAgICByZW1haW5pbmdVcmwgPSByZW1haW5pbmdVcmwucmVwbGFjZSgvXFwvJC8sICcnKTsgLy8gY2FuJ3QgaGF2ZSB0cmFpbGluZyBzbGFzaGVzXG4gICAgcmV0dXJuIHByb3h5QmFzZSArIHJlbWFpbmluZ1VybDtcbiAgfVxufVxuXG5leHBvcnQgeyBOb1Nlc3Npb25Qcm94eSB9O1xuZXhwb3J0IGRlZmF1bHQgTm9TZXNzaW9uUHJveHk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUdBLE1BQU1BLGNBQU4sU0FBNkJDLG1CQUE3QixDQUFxQztFQUNuQ0MsV0FBVyxDQUFFQyxJQUFJLEdBQUcsRUFBVCxFQUFhO0lBQ3RCLE1BQU1BLElBQU47RUFDRDs7RUFFREMsY0FBYyxDQUFFQyxHQUFGLEVBQU87SUFDbkIsSUFBSUEsR0FBRyxLQUFLLEVBQVosRUFBZ0I7TUFDZEEsR0FBRyxHQUFHLEdBQU47SUFDRDs7SUFDRCxNQUFNQyxTQUFTLEdBQUksR0FBRSxLQUFLQyxNQUFPLE1BQUssS0FBS0MsTUFBTyxJQUFHLEtBQUtDLElBQUssR0FBRSxLQUFLQyxJQUFLLEVBQTNFO0lBQ0EsSUFBSUMsWUFBWSxHQUFHLEVBQW5COztJQUNBLElBQUssSUFBSUMsTUFBSixDQUFXLElBQVgsQ0FBRCxDQUFtQkMsSUFBbkIsQ0FBd0JSLEdBQXhCLENBQUosRUFBa0M7TUFDaENNLFlBQVksR0FBR04sR0FBZjtJQUNELENBRkQsTUFFTztNQUNMLE1BQU0sSUFBSVMsS0FBSixDQUFXLHFDQUFvQ1QsR0FBSSxHQUFuRCxDQUFOO0lBQ0Q7O0lBQ0RNLFlBQVksR0FBR0EsWUFBWSxDQUFDSSxPQUFiLENBQXFCLEtBQXJCLEVBQTRCLEVBQTVCLENBQWY7SUFDQSxPQUFPVCxTQUFTLEdBQUdLLFlBQW5CO0VBQ0Q7O0FBbEJrQzs7O2VBc0J0QlgsYyJ9
|