cordova-test.ts 1.37 KB
import { CordovaDownloader } from '../src/file-handler/cordova-file-handler';

declare var cordova;

exports.defineAutoTests = function() {

    describe("Cordova downloader", () => {
        
        let downloader = new CordovaDownloader();

        it("should download sample image from https source and store with new name", (done) => {

            let source = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/FullMoon2010.jpg/800px-FullMoon2010.jpg";
            let target = cordova.file.dataDirectory + "full-moon.jpg";
            let lastProgress = 0;

            downloader.download(source, target)
                .subscribe(
                    (progress: number) => {
                        expect(progress).toBeGreaterThan(lastProgress);
                        lastProgress = progress;
                    } ,
                    (error:any) => {
                        fail();
                    } ,
                    () => { 
                        expect(lastProgress).toEqual(1);

                        window['resolveLocalFileSystemURL'](target, (entry:any) => {
                            expect(entry.isFile).toBeTruthy();
                            expect(entry.name).toEqual("full-moon.jpg");
                            done();
                        });                       
                    }
                );

        });
        
    });    

};