No Description

test.sh 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. set -e
  3. TEST_APP_NAME='RNFetchBlobTest'
  4. TEST_APP_PATH="$(pwd)/${TEST_APP_NAME}"
  5. TARGET='android'
  6. CWD=$(pwd)
  7. if [ "$#" -eq 1 ]; then
  8. if [ "$1" == 'android' ]; then
  9. TARGET="$1"
  10. echo 'start android test'
  11. elif [ "$1" == 'ios' ]; then
  12. TARGET="$1"
  13. echo 'start ios test'
  14. else
  15. exit "unrecongized target platform $1, please specify a target platform `ios` or `android`."
  16. fi
  17. elif [ "$#" -gt 2 ] && [ "$1" == 'path' ]; then
  18. TEST_APP_PATH="$2"
  19. TARGET="$3"
  20. echo "use exist test app path=$2 target=$3"
  21. else
  22. exit "unrecongized arguments."
  23. fi
  24. # Create new rn project
  25. if [ "$#" -eq 1 ]; then
  26. echo 'creating test app RNFetchBlobTest ..'
  27. react-native init "${TEST_APP_NAME}"
  28. fi
  29. # copy js files to test app folder
  30. cp -R test/ "${TEST_APP_PATH}/"
  31. node -e "var fs=require('fs'); var pkg = JSON.parse(fs.readFileSync('./RNFetchBlobTest/package.json')); pkg.rnpm = {assets : ['assets']}; fs.writeFileSync('./RNFetchBlobTest/package.json', JSON.stringify(pkg, null, 4));"
  32. # install module
  33. cd "${TEST_APP_PATH}"
  34. # npm install --save "${CWD}/src"
  35. npm install --save react-native-fetch-blob
  36. npm install --save firebase
  37. react-native link
  38. # copy android assets
  39. cd ${CWD}
  40. cp -R ./test/assets/ ./RNFetchBlobTest/android/app/src/main/assets/
  41. # start RN
  42. cd "${TEST_APP_PATH}"
  43. if [ "$#" == 4 ]; then
  44. sed -i.bak "s/${TEST_APP_NAME}/$4/" ./index.test.js
  45. fi
  46. react-native "run-${TARGET}"
  47. # install dev packages
  48. cd ${CWD}
  49. npm install
  50. # start test server
  51. cd "${CWD}/test-server"
  52. # kill existing server
  53. kill "$(lsof | grep :8123 | awk '{ printf $2 }')"
  54. node server