appium-webdriveragent 8.7.8 → 8.7.9

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [8.7.9](https://github.com/appium/WebDriverAgent/compare/v8.7.8...v8.7.9) (2024-07-21)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * keep error handling for the future possible usage ([#921](https://github.com/appium/WebDriverAgent/issues/921)) ([2f90739](https://github.com/appium/WebDriverAgent/commit/2f90739340d70073b48c703b36b9a313d3618972))
6
+
1
7
  ## [8.7.8](https://github.com/appium/WebDriverAgent/compare/v8.7.7...v8.7.8) (2024-07-18)
2
8
 
3
9
  ### Bug Fixes
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>8.7.8</string>
18
+ <string>8.7.9</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>8.7.8</string>
22
+ <string>8.7.9</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -692,6 +692,14 @@ static NSString *const FB_KEY_ACTIONS = @"actions";
692
692
  });
693
693
 
694
694
  NSArray<NSDictionary<NSString *, id> *> *actionItems = [actionDescription objectForKey:FB_KEY_ACTIONS];
695
+ if (nil == actionItems || 0 == actionItems.count) {
696
+ NSString *description = [NSString stringWithFormat:@"It is mandatory to have at least one item defined for each action. Action with id '%@' contains none", actionId];
697
+ if (error) {
698
+ *error = [[FBErrorBuilder.builder withDescription:description] build];
699
+ }
700
+ return nil;
701
+ }
702
+
695
703
  FBW3CKeyItemsChain *chain = [[FBW3CKeyItemsChain alloc] init];
696
704
  NSArray<NSDictionary<NSString *, id> *> *processedItems = [self preprocessedActionItemsWith:actionItems];
697
705
  for (NSDictionary<NSString *, id> *actionItem in processedItems) {
@@ -762,6 +770,14 @@ static NSString *const FB_KEY_ACTIONS = @"actions";
762
770
  }
763
771
 
764
772
  NSArray<NSDictionary<NSString *, id> *> *actionItems = [actionDescription objectForKey:FB_KEY_ACTIONS];
773
+ if (nil == actionItems || 0 == actionItems.count) {
774
+ NSString *description = [NSString stringWithFormat:@"It is mandatory to have at least one gesture item defined for each action. Action with id '%@' contains none", actionId];
775
+ if (error) {
776
+ *error = [[FBErrorBuilder.builder withDescription:description] build];
777
+ }
778
+ return nil;
779
+ }
780
+
765
781
  FBW3CGestureItemsChain *chain = [[FBW3CGestureItemsChain alloc] init];
766
782
  NSArray<NSDictionary<NSString *, id> *> *processedItems = [self preprocessedActionItemsWith:actionItems];
767
783
  for (NSDictionary<NSString *, id> *actionItem in processedItems) {
@@ -70,15 +70,6 @@
70
70
  },
71
71
  ],
72
72
 
73
- // Chain element with empty 'actions'
74
- @[@{
75
- @"type": @"pointer",
76
- @"id": @"finger1",
77
- @"parameters": @{@"pointerType": @"touch"},
78
- @"actions": @[],
79
- },
80
- ],
81
-
82
73
  // Chain element without type
83
74
  @[@{
84
75
  @"id": @"finger1",
@@ -276,6 +267,21 @@
276
267
  }
277
268
  }
278
269
 
270
+ - (void)testNothingDoesWithoutError
271
+ {
272
+ NSArray<NSDictionary<NSString *, id> *> *gesture =
273
+ @[@{
274
+ @"type": @"pointer",
275
+ @"id": @"finger1",
276
+ @"parameters": @{@"pointerType": @"touch"},
277
+ @"actions": @[],
278
+ },
279
+ ];
280
+ NSError *error;
281
+ XCTAssertTrue([self.testedApplication fb_performW3CActions:gesture elementCache:nil error:&error]);
282
+ XCTAssertNil(error);
283
+ }
284
+
279
285
  - (void)testTap
280
286
  {
281
287
  NSArray<NSDictionary<NSString *, id> *> *gesture =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "8.7.8",
3
+ "version": "8.7.9",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",