calabash/calabash-ios — pull request #289 by jmoody (2014-01-14 21:14:54+00:00)
Title: calabash can now touch most keyboard delete keys

fixes: https://github.com/calabash/calabash-ios/issues/256

## Known Issues

device/iOS combinations marked below with '*' have known issues.

1. iPhone 4S/Simulator iOS 6.1 without instruments cannot interact with the `UIKeyboardTypeNamePhonePad` keyboard.
- works with Instruments on devices
- possibly related to https://github.com/calabash/calabash-ios/issues/202

```
# i think this is not correct
> query("view:'UIKBKeyplaneView'", 'keyplane', 'componentName')
[
[0] "Letters"
]
> query("view:'UIKBKeyplaneView'", 'keyplane', 'name')
[
[0] "2564535898_iPhone-NamePhonePad-Keyboard_Letters"
]
```

2. `Then dial "+86898888888*"`
- fails on iPhone 4S/Simulator iOS 6 without Instruments because the '+' button is not touched (the keyplane) is not found
- works with Instruments on devices
- `UIKeyboardTypePhonePad`

```
# i think this is not correct
> query("view:'UIKBKeyplaneView'", 'keyplane', 'componentName')
[
> [0] "Default"
]
> query("view:'UIKBKeyplaneView'", 'keyplane', 'name')
[
[0] "iPhone-Portrait-PhonePad_Default"
]
```

3. `Then I type pi as "3.16"` step will fail if the device is in a locale that uses ',' as the decimal separator. will result in a 'pending' exception.
- i am not convinced that calabash should be detecting locales. However, the server should be able to report `NSLocale` information.

4. does not fix sporadic json parse errors: https://github.com/calabash/calabash-ios/issues/259

5. does not fix `uia_type_string` skipping or missing chars: https://github.com/calabash/calabash-ios/issues/269

these are all issues that are not related to this issue, so i think we should ignore them and submit this fix. my guess is that these keyboards have never worked. i have made separate issues for them.

## Testing

### Briar

* [briar 0.1.3b5](https://github.com/jmoody/briar/tree/0.1.3b5)
* [briar-ios-example 1.1.5](https://github.com/jmoody/briar-ios-example/tree/1.1.5-morekeyboard)
* tags
- @issue_256 - just the delete key touching
- @keyboard - all keyboard tests

#### `NO_LAUNCH=1` ==> Manually Launching ==> UIA _not_ available

- [x] iPhone 4S iOS 6 (1,2*)
- [x] iPad 1 iOS 5.1.1
- [x] iPhone Simulator iOS 6.1 (1*)
- [x] iPad Simulator iOS 6.1

#### `NO_LAUNCH=0` ==> Launching with Instruments ==> ==> UIA available

- [x] iPhone 4S iOS 6
- [x] iPhone 5C iOS 7.0.2 (2*)
- [x] iPad 4 iOS 7.0.3
- [x] iPhone Simulator iOS 7
- [x] iPad Simulator iOS 7

#### `NO_LAUNCH=0` ==> Launching with Sim Launcher ==> UIA _not_ available

- [x] iPhone Simulator iOS 6.1 (1,2*)
- [x] iPad Simulator iOS 6.1

### Smoke Tests

- [x] ruby 2.0
- [x] ruby 1.9
- [x] ruby 1.8

### XTC

### LPSimpleExample (smoke test)
[LPSimpleExample](https://github.com/jmoody/calabash-ios-example)

Apple iPhone 5S (7.0.4)

- [x] ruby 2.0
- [x] ruby 1.9
- [x] ruby 1.8

### Briar iOS Example @issue_256

[briar-ios-example 1.1.5](https://github.com/jmoody/briar-ios-example/tree/1.1.5-morekeyboard)

- [x] ruby 2.0
- Apple iPhone 5C (7.0.4)
- Apple iPhone 4S (6.1.3)
- Apple iPad 4th Gen (7.0.4)
- Apple iPad 2 (5.1.1)