説明なし

test.sh 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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@0.7.0-dev.1
  36. rnpm link
  37. # copy android assets
  38. cd ${CWD}
  39. cp -R ./test/assets/ ./RNFetchBlobTest/android/app/src/main/assets/
  40. # start RN
  41. cd "${TEST_APP_PATH}"
  42. if [ "$#" == 4 ]; then
  43. sed -i.bak "s/${TEST_APP_NAME}/$4/" ./index.test.js
  44. fi
  45. react-native "run-${TARGET}"
  46. # install dev packages
  47. cd ${CWD}
  48. npm install
  49. # start test server
  50. cd "${CWD}/test-server"
  51. # kill existing server
  52. kill "$(lsof | grep :8123 | awk '{ printf $2 }')"
  53. node server