[
https://issues.apache.org/jira/browse/CB-11447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15393787#comment-15393787
]
ASF GitHub Bot commented on CB-11447:
-------------------------------------
GitHub user vladimir-kotikov opened a pull request:
https://github.com/apache/cordova-plugin-camera/pull/223
CB-11447 Fix Appium camera tests failures
<!--
Please make sure the checklist boxes are all checked before submitting the
PR. The checklist
is intended as a quick reference, for complete details please see our
Contributor Guidelines:
http://cordova.apache.org/contribute/contribute_guidelines.html
Thanks!
-->
### Platforms affected
Android, iOS
### What does this PR do?
This PR resolves issues w/ the plugin (and tests), discovered by Appium
tests:
1. on iOS plugin does not modify resultant file (no compression, format
change or resizing is performed) when source is PHOTOGALLERY and output is
NATIVE_URI. This is not well-documented in README and hadn't been taken into
account when tests were being written.
2. On Android when output type is `PNG` and image has been picked from
gallery, this results in skipping `jpeg` -> `png` conversion. The output file
is saved in `jpeg` format even if file extension might be `.png`.
An example of failed tests can be found here:
- For Android:
[PLATFORM=android,PLUGIN=cordova-plugin-camera](http://cordova-ci.cloudapp.net:8080/view/Periodic%20builds/job/cordova-periodic-build/PLATFORM=android,PLUGIN=cordova-plugin-camera)
- For iOS:
[PLATFORM=ios,PLUGIN=cordova-plugin-camera](http://cordova-ci.cloudapp.net:8080/view/Periodic%20builds/job/cordova-periodic-build/PLATFORM=ios,PLUGIN=cordova-plugin-camera)
### What testing has been done on this change?
Manual tests and automated testing via `cordova-paramedic`
### Checklist
- [x] [ICLA](http://www.apache.org/licenses/icla.txt) has been signed and
submitted to [email protected].
- [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html)
in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with
resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform
affected.
- [ ] Added automated test coverage as appropriate for this change.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/vladimir-kotikov/cordova-plugin-camera
CB-11447
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-plugin-camera/pull/223.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #223
----
commit 2027d696062cd50972ba4dd0a26cd5b01ad2f413
Author: Vladimir Kotikov <[email protected]>
Date: 2016-07-26T08:15:26Z
CB-11447 Resolve iOS tests failures due to iOS quirks
* Skip image type verification if source is gallery
and destination is native uri
* Update docs t oclarify how camera works on iOS in
some edge cases
commit fed798e6c7f56e23bff994ab2c11d316c8257a78
Author: Vladimir Kotikov <[email protected]>
Date: 2016-07-26T12:17:44Z
CB-11447 Respect output format when retrieving images from gallery
----
> Wrong file encoding when taking a picture with the following parameters
> sourceType: PHOTOLIBRARY, destinationType: FILE_URI, encodingType: PNG,
> allowEdit: true, correctOrientation: false
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CB-11447
> URL: https://issues.apache.org/jira/browse/CB-11447
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Camera
> Affects Versions: Master
> Reporter: Alexander Sorokin
> Assignee: Vladimir Kotikov
> Priority: Critical
> Labels: android, found-by-ci, iOS, triaged
>
> This is found by Appium tests:
> https://ci.apache.org/builders/cordova-android-osx/builds/2832/steps/running-appium-tests/logs/stdio
> {noformat}
> 1)
> Camera tests Android. Specs. camera.ui.spec.11.30 Combining options.
> sourceType: PHOTOLIBRARY, destinationType: FILE_URI, encodingType: PNG,
> allowEdit: true, correctOrientation: false
> Message:
> Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> Stack:
> Error: Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> at stack
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1577:17)
> at buildExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1547:14)
> at Spec.Env.expectationResultFactory
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:638:18)
> at Spec.addExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:330:34)
> at Env.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:987:25)
> at jasmineInterface.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3423:23)
> at
> /Users/buildbot/slaves/apache/cordova-android-osx/mobilespec/plugins/cordova-plugin-camera/appium-tests/android/android.spec.js:190:25
> at _fulfilled
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:834:54)
> at self.promiseDispatch.done
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:863:30)
> at Promise.promise.promiseDispatch
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:796:13)
> 2)
> Camera tests Android. Specs. camera.ui.spec.11.32 Combining options.
> sourceType: PHOTOLIBRARY, destinationType: FILE_URI, encodingType: PNG,
> allowEdit: false, correctOrientation: false
> Message:
> Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> Stack:
> Error: Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> at stack
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1577:17)
> at buildExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1547:14)
> at Spec.Env.expectationResultFactory
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:638:18)
> at Spec.addExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:330:34)
> at Env.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:987:25)
> at jasmineInterface.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3423:23)
> at
> /Users/buildbot/slaves/apache/cordova-android-osx/mobilespec/plugins/cordova-plugin-camera/appium-tests/android/android.spec.js:190:25
> at _fulfilled
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:834:54)
> at self.promiseDispatch.done
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:863:30)
> at Promise.promise.promiseDispatch
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:796:13)
> 3)
> Camera tests Android. Specs. camera.ui.spec.11.46 Combining options.
> sourceType: PHOTOLIBRARY, destinationType: NATIVE_URI, encodingType: PNG,
> allowEdit: true, correctOrientation: false
> Message:
> Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> Stack:
> Error: Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> at stack
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1577:17)
> at buildExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1547:14)
> at Spec.Env.expectationResultFactory
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:638:18)
> at Spec.addExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:330:34)
> at Env.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:987:25)
> at jasmineInterface.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3423:23)
> at
> /Users/buildbot/slaves/apache/cordova-android-osx/mobilespec/plugins/cordova-plugin-camera/appium-tests/android/android.spec.js:190:25
> at _fulfilled
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:834:54)
> at self.promiseDispatch.done
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:863:30)
> at Promise.promise.promiseDispatch
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:796:13)
> 4)
> Camera tests Android. Specs. camera.ui.spec.11.48 Combining options.
> sourceType: PHOTOLIBRARY, destinationType: NATIVE_URI, encodingType: PNG,
> allowEdit: false, correctOrientation: false
> Message:
> Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> Stack:
> Error: Failed: ERROR: File type mismatch. Expected PNG, got JPEG
> at stack
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1577:17)
> at buildExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1547:14)
> at Spec.Env.expectationResultFactory
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:638:18)
> at Spec.addExpectationResult
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:330:34)
> at Env.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:987:25)
> at jasmineInterface.fail
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3423:23)
> at
> /Users/buildbot/slaves/apache/cordova-android-osx/mobilespec/plugins/cordova-plugin-camera/appium-tests/android/android.spec.js:190:25
> at _fulfilled
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:834:54)
> at self.promiseDispatch.done
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:863:30)
> at Promise.promise.promiseDispatch
> (/Users/buildbot/slaves/apache/cordova-android-osx/cordova-medic/node_modules/wd/node_modules/q/q.js:796:13)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]