[ 
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]

Reply via email to