FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(image-source): Fix test for base64 image source for android API 26 by vakrilov · Pull Request #4741 · NativeScript/NativeScript · GitHub

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .ts  (1) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
106 changes: 44 additions & 62 deletions tests/app/image-source/image-source-tests.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// >> imagesource-require
// var imageSource = require("image-source");
// const imageSource = require("image-source");
// << imagesource-require

// >> imagesource-require-alt
// var fs = require("file-system");
// const fs = require("file-system");
// << imagesource-require-alt

import * as imageSource from "tns-core-modules/image-source";
Expand All @@ -12,37 +12,36 @@ import * as app from "tns-core-modules/application";
import * as TKUnit from "../TKUnit";
import * as platform from "tns-core-modules/platform";

var imagePath = "~/logo.png";
var smallImagePath = "~/small-image.png";
const imagePath = "~/logo.png";
const smallImagePath = "~/small-image.png";

export function testFromResource() {
// >> imagesource-resname
var img = imageSource.fromResource("icon");
const img = imageSource.fromResource("icon");
// << imagesource-resname
TKUnit.assert(img.height > 0, "image.fromResource failed");
}

export function testFromUrl(done) {
//var completed;
var result: imageSource.ImageSource;
let result: imageSource.ImageSource;

// >> imagesource-load-url
imageSource.fromUrl("https://www.google.com/images/errors/logo_sm_2.png")
.then(function (res: imageSource.ImageSource) {
//console.log("Image successfully loaded");
// >> (hide)
//completed = true;
result = res;
try {
TKUnit.assertNotEqual(result, undefined, "Image not downloaded");
TKUnit.assert(result.height > 0, "Image not downloaded");
done(null);
}
catch (e) {
done(e);
}
// << (hide)
}, function (error) {
//console.log("Image successfully loaded");
// >> (hide)
//completed = true;
result = res;
try {
TKUnit.assertNotEqual(result, undefined, "Image not downloaded");
TKUnit.assert(result.height > 0, "Image not downloaded");
done(null);
}
catch (e) {
done(e);
}
// << (hide)
}, function (error) {
//console.log("Error loading image: " + error);
// >> (hide)
//completed = true;
Expand All @@ -54,72 +53,60 @@ export function testFromUrl(done) {

export function testSaveToFile() {
// >> imagesource-save-to
var img = imageSource.fromFile(imagePath);
var folder = fs.knownFolders.documents();
var path = fs.path.join(folder.path, "test.png");
var saved = img.saveToFile(path, "png");
const img = imageSource.fromFile(imagePath);
const folder = fs.knownFolders.documents();
const path = fs.path.join(folder.path, "test.png");
const saved = img.saveToFile(path, "png");
// << imagesource-save-to
TKUnit.assert(saved, "Image not saved to file");
TKUnit.assert(fs.File.exists(path), "Image not saved to file");
}

export function testFromFile() {
// >> imagesource-load-local
var folder = fs.knownFolders.documents();
var path = fs.path.join(folder.path, "test.png");
var img = imageSource.fromFile(path);
const folder = fs.knownFolders.documents();
const path = fs.path.join(folder.path, "test.png");
const img = imageSource.fromFile(path);
// << imagesource-load-local

TKUnit.assert(img.height > 0, "image.fromResource failed");

// remove the image from the file system
var file = folder.getFile("test.png");
const file = folder.getFile("test.png");
file.remove();
TKUnit.assert(!fs.File.exists(path), "test.png not removed");
}

export function testNativeFields() {
var img = imageSource.fromFile(imagePath);
const img = imageSource.fromFile(imagePath);
if (app.android) {
TKUnit.assert(img.android != null, "Image.android not updated.");
} else if (app.ios) {
TKUnit.assert(img.ios != null, "Image.ios not updated.");
}
}
const fullAndroidPng = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAA3NCSVQICAjb4U/gAAAAFUlEQVQImWP8z4AAjAz/kTnIPGQAAG86AwGcuMlCAAAAAElFTkSuQmCC";
const fullIosPng = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAAACAAAAKAAAAAIAAAACAAAARiS4uJEAAAASSURBVBgZYvjPwABHSMz/DAAAAAD//0GWpK0AAAAOSURBVGNgYPiPhBgQAACEvQv1D5y/pAAAAABJRU5ErkJggg==";

var expectedAndroidPng = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAA3NCSVQICAjb4U/gAAAAFUlEQVQImWP8z4AAjAz/kTnIPGQAAG86AwGcuMlCAAAAAElFTkSuQmCC";
var expectedIos7Png = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAHGlET1QAAAACAAAAAAAAAAIAAAAoAAAAAgAAAAIAAABGJLi4kQAAABJJREFUCB1i+M/AAEdIzP8MAAAAAP//HD3fegAAAA5JREFUY2Bg+I+EGBAAAIS9C/UPnL+kAAAAAElFTkSuQmCC";
var expectedIos8Png = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAAACAAAAKAAAAAIAAAACAAAARiS4uJEAAAASSURBVBgZYvjPwABHSMz/DAAAAAD//0GWpK0AAAAOSURBVGNgYPiPhBgQAACEvQv1D5y/pAAAAABJRU5ErkJggg==";

var fullJpegImage = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAEAAQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+Pz/h5j+1Z/z9fBr/AMRt+AH/AM7uiiiv9fV9E36KOn/HMX0f+n/NlvDT/p3/ANUv/V3vrf8AP1nueaf8LOa9P+ZjjP8Ap3/0/wD6u99b/wD/2Q==";
var expectedJpegStart = "/9j/4AAQSkZJRgAB";
const fullJpegImage = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAEAAQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+Pz/h5j+1Z/z9fBr/AMRt+AH/AM7uiiiv9fV9E36KOn/HMX0f+n/NlvDT/p3/ANUv/V3vrf8AP1nueaf8LOa9P+ZjjP8Ap3/0/wD6u99b/wD/2Q==";
const expectedJpegStart = "/9j/4AAQSkZJRgAB";
const expectedPngStart = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAA";

export function testBase64Encode_PNG() {
var img = imageSource.fromFile(smallImagePath);

var expected: string;
if (app.android) {
expected = expectedAndroidPng;
} else if (app.ios) {
if (platform.device.osVersion[0] === '7') {
expected = expectedIos7Png;
}
else {
expected = expectedIos8Png;
}
}
const img = imageSource.fromFile(smallImagePath);
let result = img.toBase64String("png");

var result = img.toBase64String("png");
result = result.substr(0, expectedPngStart.length);
TKUnit.assertEqual(
result,
expected,
expectedPngStart,
"Base 64 encoded PNG");
}

export function testBase64Encode_JPEG() {
var img = imageSource.fromFile(smallImagePath);
const img = imageSource.fromFile(smallImagePath);

var result = img.toBase64String("jpeg");
let result = img.toBase64String("jpeg");
result = result.substr(0, expectedJpegStart.length);

TKUnit.assertEqual(
Expand All @@ -129,7 +116,7 @@ export function testBase64Encode_JPEG() {
}

export function testLoadFromBase64Encode_JPEG() {
var img: imageSource.ImageSource;
let img: imageSource.ImageSource;
img = imageSource.fromBase64(fullJpegImage);

TKUnit.assert(img !== null, "Actual: " + img);
Expand All @@ -138,16 +125,11 @@ export function testLoadFromBase64Encode_JPEG() {
}

export function testLoadFromBase64Encode_PNG() {
var img: imageSource.ImageSource;
let img: imageSource.ImageSource;
if (app.android) {
img = imageSource.fromBase64(expectedAndroidPng);
img = imageSource.fromBase64(fullAndroidPng);
} else if (app.ios) {
if (platform.device.osVersion[0] === '7') {
img = imageSource.fromBase64(expectedIos7Png);
}
else {
img = imageSource.fromBase64(expectedIos8Png);
}
img = imageSource.fromBase64(fullIosPng);
}

TKUnit.assert(img !== null, "Actual: " + img);
Expand Down

Back | FazBrowse Home | New Git URL