From 500459779ee1206c617e243bf3822309b55e3d65 Mon Sep 17 00:00:00 2001 From: Tsvetan Raikov Date: Wed, 31 Aug 2016 18:48:01 +0300 Subject: [PATCH] Added unit test that tests tintColor in Image class --- tests/.vscode/launch.json | 70 +++++++++++++++++++++++++++++++ tests/app/ui/image/image-tests.ts | 35 +++++++++++++++- 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 tests/.vscode/launch.json diff --git a/tests/.vscode/launch.json b/tests/.vscode/launch.json new file mode 100644 index 000000000..f335d2443 --- /dev/null +++ b/tests/.vscode/launch.json @@ -0,0 +1,70 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Sync on iOS", + "type": "nativescript", + "platform": "ios", + "request": "launch", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false, + "rebuild": false, + "syncAllFiles": false + }, + { + "name": "Launch on iOS", + "type": "nativescript", + "platform": "ios", + "request": "launch", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false, + "rebuild": true + }, + { + "name": "Attach on iOS", + "type": "nativescript", + "platform": "ios", + "request": "attach", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false + }, + { + "name": "Sync on Android", + "type": "nativescript", + "platform": "android", + "request": "launch", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false, + "rebuild": false + }, + { + "name": "Launch on Android", + "type": "nativescript", + "platform": "android", + "request": "launch", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false, + "rebuild": true + }, + { + "name": "Attach on Android", + "type": "nativescript", + "platform": "android", + "request": "attach", + "appRoot": "${workspaceRoot}", + "sourceMaps": true, + "diagnosticLogging": false, + "emulator": false + } + ] +} \ No newline at end of file diff --git a/tests/app/ui/image/image-tests.ts b/tests/app/ui/image/image-tests.ts index 1e9b71336..45ee20bd5 100644 --- a/tests/app/ui/image/image-tests.ts +++ b/tests/app/ui/image/image-tests.ts @@ -20,6 +20,7 @@ import helper = require("../helper"); import ObservableModule = require("data/observable"); import enumsModule = require("ui/enums"); import fs = require("file-system"); +import color = require("color"); var imagePath = fs.path.join(__dirname, "../../logo.png"); @@ -356,4 +357,36 @@ export var test_DimensionsAreRoundedAfterScale = function() { let expectedHeight = Math.round(imageHeight * scale); TKUnit.assertEqual(image.getMeasuredWidth(), hostWidth, "Actual width is different from expected width."); TKUnit.assertEqual(image.getMeasuredHeight(), expectedHeight, "Actual height is different from expected height."); -}; \ No newline at end of file +}; + +export var test_tintColor = function () { + var colorRed = new color.Color("red"); + var image = new ImageModule.Image(); + image.imageSource = ImageSourceModule.fromFile(imagePath); + + var testFunc = function (views: Array) { + var testImage = views[0]; + + if (image.android) { + var tintColor = testImage.android.getColorFilter(); + TKUnit.assert(tintColor === null, "tintColor expected to be set to null"); + } + else if (image.ios) { + var tintColor = testImage.ios.tintColor; + var imageColor = utils.ios.getColor(testImage.ios.tintColor); + TKUnit.assert(!imageColor.equals(colorRed), "imageColor expected to be different than tintColor"); + } + + image.color = colorRed; + + if (image.android) { + TKUnit.assert(testImage.android.getColorFilter() !== null, "tintColor expected to be set to a nonnull value"); + } + else if (image.ios) { + var imageColor = utils.ios.getColor(testImage.ios.tintColor); + TKUnit.assert(imageColor.equals(colorRed), "tintColor expected to be set to: " + colorRed); + } + } + + helper.buildUIAndRunTest(image, testFunc); +} \ No newline at end of file