123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- import RNTest from './react-native-testkit/'
- import React from 'react'
- import RNFetchBlob from 'react-native-fetch-blob'
-
- import {
- StyleSheet,
- Text,
- View,
- ScrollView,
- Platform,
- Dimensions,
- Image,
- } from 'react-native';
-
- const fs = RNFetchBlob.fs
- const { Assert, Comparer, Info, prop } = RNTest
- const describe = RNTest.config({
- group : 'Android only functions',
- run : Platform.OS === 'android',
- expand : false,
- })
- const { TEST_SERVER_URL, FILENAME, DROPBOX_TOKEN, styles } = prop()
-
- let prefix = ((Platform.OS === 'android') ? 'file://' : '')
-
- // Android only tests
-
- let tmpFilePath = null
- const dirs = RNFetchBlob.fs.dirs
-
- // describe('Download with notification', (report, done) => {
- // let filePath = null
- // let filename = `test-${Date.now()}.png`
- //
- // filePath = `${dirs.DownloadDir}/${filename}`
- // RNFetchBlob.config({
- // path : filePath,
- // addAndroidDownloads : {
- // title : 'RNFetchBlob test download success',
- // description : `File description added by RNFetchblob`,
- // mediaScannable : true,
- // mime : "image/png",
- // notification : true
- // }
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/github2.jpg`)
- // .then((resp) => {
- // tmpFilePath = resp.path()
- // report(<Info key={`image from ${tmpFilePath}`}>
- // <Image
- // source={{ uri : prefix + tmpFilePath}}
- // style={styles.image}/>
- // </Info>)
- // done()
- // })
- //
- // })
- //
- // describe('MediaScanner tests ', (report, done) => {
- // let filename = `scannable-test-${Date.now()}.png`
- // let filePath = `${dirs.DownloadDir}/${filename}`
- // RNFetchBlob.config({
- // path : filePath,
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/github2.jpg`)
- // .then((resp) => {
- // tmpFilePath = resp.path()
- // return RNFetchBlob.fs.scanFile([
- // { path:resp.path() }
- // ])
- // })
- // .then(() => {
- // report(<Assert key={`scan image success, there should be a new file in Picture app named "${filename}"`} expect={true} actual={true}/>)
- // return RNFetchBlob
- // .config({
- // path : dirs.DCIMDir + '/beethoven-'+ Date.now() +'.mp3'
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/beethoven.mp3`)
- // })
- // .then((resp) => {
- // fs.scanFile([{
- // path : resp.path()
- // }])
- // .then(() => {
- // report(<Assert
- // key={`scan mp3 file success, there exist a new file named "beethoven-${Date.now()}.mp3" in Music app`}
- // expect={true}
- // actual={true}/>)
- // done()
- // })
- // })
- //
- // })
- //
- // describe('android download manager', (report, done) => {
- // RNFetchBlob.config({
- // addAndroidDownloads : {
- // useDownloadManager : true,
- // title : 'RNFetchBlob test download manager test',
- // description : `File description added by RNFetchblob`,
- // mediaScannable : true,
- // notification : true
- // }
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/beethoven.mp3`).then((resp) => {
- // report(
- // <Assert key="download manager complete handler" expect={true} actual={true}/>
- // )
- // return resp.readStream('ascii')
- // })
- // .then((stream) => {
- // stream.open();
- // let len = 0
- // stream.onData((chunk) => {
- // len += chunk.length
- // })
- // stream.onEnd(() => {
- // report(
- // <Assert key="download manager URI is readable"
- // expect={len}
- // comparer={Comparer.greater}
- // actual={0}/>
- // )
- // done()
- // })
- // })
- // })
- //
- // describe('open a file from intent', (report, done) => {
- // let url = null
- // RNFetchBlob.config({
- // addAndroidDownloads : {
- // useDownloadManager : true,
- // title : 'test-image',
- // description : 'open it from intent !',
- // mime : 'image/png',
- // mediaScannable : true,
- // notification : true,
- // }
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/github.png`)
- // .then((res) => {
- // let sendIntent = RNFetchBlob.android.actionViewIntent
- // return sendIntent(res.path(), 'image/png')
- // })
- // .then(() => {
- // done()
- // })
- // })
- //
- // #75
- describe('APK downloaded from Download Manager should correct', (report, done) => {
-
- let url = null
-
- RNFetchBlob.config({
- addAndroidDownloads : {
- useDownloadManager : true,
- title : 'test-APK',
- description : 'apk install file',
- mime : 'application/vnd.android.package-archive',
- mediaScannable : true,
- notification : true,
- }
- })
- .fetch('GET', `${TEST_SERVER_URL}/public/apk-dummy.apk`)
- .then((res) => {
- let sendIntent = RNFetchBlob.android.actionViewIntent
- return sendIntent(res.path(), 'application/vnd.android.package-archive')
- })
- .then(() => {
- done()
- })
-
- })
-
- // issue #74
- // describe('download file to specific location using DownloadManager', (report, done) => {
- // let dest = dirs.DCIMDir + '/android-download-test-' +Date.now() + '.png'
- // RNFetchBlob.config({
- // addAndroidDownloads : {
- // useDownloadManager : true,
- // path : dest,
- // mime : 'image/png',
- // title : 'android-download-path-test.png',
- // description : 'download to specific path #74'
- // }
- // })
- // .fetch('GET', `${TEST_SERVER_URL}/public/github.png`)
- // .then((res) => fs.stat(res.path()))
- // .then((stat) => {
- // report(
- // <Assert key="file exists at the path"
- // expect={true} actual={true}/>,
- // <Assert key="file size correct"
- // expect="23975" actual={stat.size}/>)
- // done()
- // })
- // })
|