mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Tests added and master-detail tempalte updated
This commit is contained in:
245
apps/tests/file-name-resolver-tests/file-name-resolver-tests.ts
Normal file
245
apps/tests/file-name-resolver-tests/file-name-resolver-tests.ts
Normal file
@@ -0,0 +1,245 @@
|
||||
import TKUnit = require("../TKUnit");
|
||||
import fs = require("file-system");
|
||||
import enums = require("ui/enums");
|
||||
import resolver = require("file-system/file-name-resolver");
|
||||
|
||||
var androidPhonePortraitContext: resolver.PlatformContext = {
|
||||
width: 360,
|
||||
height: 640,
|
||||
deviceType: enums.DeviceType.Phone,
|
||||
os: "android"
|
||||
}
|
||||
|
||||
var androidPhoneLandsacpeContext: resolver.PlatformContext = {
|
||||
width: 640,
|
||||
height: 360,
|
||||
deviceType: enums.DeviceType.Phone,
|
||||
os: "android"
|
||||
}
|
||||
|
||||
var androidTabletPortraitContext: resolver.PlatformContext = {
|
||||
width: 600,
|
||||
height: 960,
|
||||
deviceType: enums.DeviceType.Tablet,
|
||||
os: "android"
|
||||
}
|
||||
|
||||
var iPhonePortraitContext: resolver.PlatformContext = {
|
||||
width: 320,
|
||||
height: 480,
|
||||
deviceType: enums.DeviceType.Phone,
|
||||
os: "ios"
|
||||
}
|
||||
|
||||
var iPhoneLandscapeContext: resolver.PlatformContext = {
|
||||
width: 480,
|
||||
height: 320,
|
||||
deviceType: enums.DeviceType.Phone,
|
||||
os: "ios"
|
||||
}
|
||||
|
||||
export function test_findFileMatch_fileName() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test2.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.xml")
|
||||
};
|
||||
|
||||
export function test_findFileMatch_os_android() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.ios.xml",
|
||||
"test.android.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.android.xml")
|
||||
};
|
||||
|
||||
export function test_findFileMatch_os_ios() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.ios.xml",
|
||||
"test.android.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, iPhonePortraitContext, "test.ios.xml")
|
||||
};
|
||||
|
||||
export function test_findFileMatch_os_fallback() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.ios.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.xml")
|
||||
};
|
||||
|
||||
export function test_findFileMatch_minWH_fallback() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minWH600.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_minWH_best_value() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minWH400.xml",
|
||||
"test.minWH500.xml",
|
||||
"test.minWH600.xml",
|
||||
"test.minWH700.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidTabletPortraitContext, "test.minWH600.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_minW_fallback() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minW600.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_minW_best_value() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minW400.xml",
|
||||
"test.minW500.xml",
|
||||
"test.minW600.xml",
|
||||
"test.minW700.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidTabletPortraitContext, "test.minW600.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_minH_fallback() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minH600.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhoneLandsacpeContext, "test.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_minH_best_value() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.minH400.xml",
|
||||
"test.minH500.xml",
|
||||
"test.minH600.xml",
|
||||
"test.minH700.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.minH600.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_orienation_fallback() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.land.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidTabletPortraitContext, "test.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_orienation_portrait() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.land.xml",
|
||||
"test.port.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidTabletPortraitContext, "test.port.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_orienation_landscape() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.land.xml",
|
||||
"test.port.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhoneLandsacpeContext, "test.land.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_choose_most_specific_file() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.android.xml",
|
||||
"test.android.port.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidPhonePortraitContext, "test.android.port.xml")
|
||||
}
|
||||
|
||||
export function test_findFileMatch_with_multiple_matches_loads_by_priority() {
|
||||
var candidates: Array<string> = [
|
||||
"test.xml",
|
||||
"test.android.xml",
|
||||
"test.tablet.xml",
|
||||
"test.land.xml",
|
||||
"test.minH600.xml",
|
||||
"test.minW600.xml",
|
||||
"test.minWH600.xml",
|
||||
"other.xml"
|
||||
];
|
||||
|
||||
testTemplate(candidates, androidTabletPortraitContext, "test.minWH600.xml")
|
||||
}
|
||||
|
||||
function testTemplate(candidates: Array<string>, context: resolver.PlatformContext, expected: string) {
|
||||
var result = resolver.findFileMatch("test", ".xml", candidates, context);
|
||||
TKUnit.assertEqual(result, expected, "File path");
|
||||
}
|
||||
|
||||
var testFilePath = fs.path.join(fs.knownFolders.currentApp().path, "app/tests/file-name-resolver-tests/files/test");
|
||||
|
||||
export function test_file_resolver_with_andorid_phone_portratit() {
|
||||
var fileResolver = new resolver.FileNameResolver(androidPhonePortraitContext);
|
||||
var result = fileResolver.resolveFileName(testFilePath, "xml");
|
||||
TKUnit.assertEqual(result, testFilePath + ".android.xml", "File path");
|
||||
}
|
||||
|
||||
export function test_file_resolver_with_andorid_phone_landscape() {
|
||||
var fileResolver = new resolver.FileNameResolver(androidPhoneLandsacpeContext);
|
||||
var result = fileResolver.resolveFileName(testFilePath, "xml");
|
||||
TKUnit.assertEqual(result, testFilePath + ".android.xml", "File path");
|
||||
}
|
||||
|
||||
export function test_file_resolver_with_andorid_tablet_portrait() {
|
||||
var fileResolver = new resolver.FileNameResolver(androidTabletPortraitContext);
|
||||
var result = fileResolver.resolveFileName(testFilePath, "xml");
|
||||
TKUnit.assertEqual(result, testFilePath + ".android.minWH600.xml", "File path");
|
||||
}
|
||||
|
||||
export function test_file_resolver_with_ios_phone_landscape() {
|
||||
var fileResolver = new resolver.FileNameResolver(iPhoneLandscapeContext);
|
||||
var result = fileResolver.resolveFileName(testFilePath, "xml");
|
||||
TKUnit.assertEqual(result, testFilePath + ".ios.land.xml", "File path");
|
||||
}
|
||||
|
||||
export function test_file_resolver_with_ios_phone_portrait() {
|
||||
var fileResolver = new resolver.FileNameResolver(iPhonePortraitContext);
|
||||
var result = fileResolver.resolveFileName(testFilePath, "xml");
|
||||
TKUnit.assertEqual(result, testFilePath + ".xml", "File path");
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
test.android.phone.xml
|
||||
@@ -1,6 +1,6 @@
|
||||
import btns = require("ui/button");
|
||||
import gridModule = require("ui/layouts/grid-layout");
|
||||
import gridModule = require("ui/layouts/grid-layout");
|
||||
import pages = require("ui/page");
|
||||
import buttons = require("ui/button");
|
||||
import app = require("application");
|
||||
import platform = require("platform");
|
||||
|
||||
@@ -12,7 +12,6 @@ function printDeviceInfoAndroid() {
|
||||
console.log("android.os.Build.VERSION.RELEASE = " + android.os.Build.VERSION.RELEASE); //android.os.Build.VERSION.RELEASE = 4.4.4
|
||||
android.os.Build.MANUFACTURER
|
||||
var metrics: android.util.DisplayMetrics = app.android.context.getResources().getDisplayMetrics();
|
||||
|
||||
console.log("metrics.density = " + metrics.density); //metrics.density = 3
|
||||
console.log("metrics.scaledDensity = " + metrics.scaledDensity); //metrics.scaledDensity = 3
|
||||
console.log("metrics.densityDpi = " + metrics.densityDpi); //metrics.densityDpi = 480
|
||||
@@ -20,6 +19,12 @@ function printDeviceInfoAndroid() {
|
||||
console.log("metrics.yxdpi = " + metrics.ydpi); //metrics.yxdpi = 443.3450012207031
|
||||
console.log("metrics.widthPixels = " + metrics.widthPixels); //metrics.widthPixels = 1080
|
||||
console.log("metrics.heightPixels = " + metrics.heightPixels); //metrics.heightPixels = 1776
|
||||
|
||||
var config = app.android.context.getResources().getConfiguration();
|
||||
console.log("config.screenWidthDp = " + config.screenWidthDp);
|
||||
console.log("config.screenHeightDp = " + config.screenHeightDp);
|
||||
console.log("config.smallestScreenWidthDp = " + config.smallestScreenWidthDp);
|
||||
console.log("config.orientation = " + (config.orientation === android.content.res.Configuration.ORIENTATION_PORTRAIT ? "portrait" : "ladscape"));
|
||||
}
|
||||
|
||||
function printDeviceInfoIOS() {
|
||||
@@ -45,45 +50,35 @@ function printTNSInfo() {
|
||||
console.log("platform.device.sdkVersion = " + platform.device.sdkVersion);
|
||||
console.log("platform.device.deviceType = " + platform.device.deviceType);
|
||||
|
||||
console.log("platform.screen.mainScreen.widthDIPs = " + platform.screen.mainScreen.widthDIPs);
|
||||
console.log("platform.screen.mainScreen.heightDIPs = " + platform.screen.mainScreen.heightDIPs);
|
||||
console.log("platform.screen.mainScreen.scale = " + platform.screen.mainScreen.scale);
|
||||
console.log("platform.screen.mainScreen.widthPixels = " + platform.screen.mainScreen.widthPixels);
|
||||
console.log("platform.screen.mainScreen.heightPixels = " + platform.screen.mainScreen.heightPixels);
|
||||
console.log("platform.screen.mainScreen.scale = " + platform.screen.mainScreen.scale);
|
||||
}
|
||||
|
||||
if (app.android) {
|
||||
printDeviceInfoAndroid();
|
||||
function print() {
|
||||
if (app.android) {
|
||||
printDeviceInfoAndroid();
|
||||
}
|
||||
else {
|
||||
printDeviceInfoIOS();
|
||||
}
|
||||
printTNSInfo();
|
||||
}
|
||||
else {
|
||||
printDeviceInfoIOS();
|
||||
}
|
||||
printTNSInfo();
|
||||
print();
|
||||
|
||||
export function createPage() {
|
||||
var page = new pages.Page();
|
||||
var grid = new gridModule.GridLayout();
|
||||
|
||||
var rows = 100;
|
||||
var cols = 3;
|
||||
var row;
|
||||
var col;
|
||||
var btn = new buttons.Button();
|
||||
btn.text = "print";
|
||||
btn.on("tap", (d) => {
|
||||
print();
|
||||
});
|
||||
|
||||
for (row = 0; row < rows; row++) {
|
||||
grid.addRow(new gridModule.ItemSpec(1, gridModule.GridUnitType.auto));
|
||||
}
|
||||
|
||||
for (col = 0; col < cols; col++) {
|
||||
grid.addColumn(new gridModule.ItemSpec(1, gridModule.GridUnitType.auto));
|
||||
}
|
||||
|
||||
for (col = 0; col < cols; col++) {
|
||||
for (row = 0; row < rows; row++) {
|
||||
var btn = new btns.Button();
|
||||
btn.text = "Col: " + col + ", Row: " + row;
|
||||
gridModule.GridLayout.setColumn(btn, col);
|
||||
gridModule.GridLayout.setRow(btn, row);
|
||||
grid.addChild(btn);
|
||||
}
|
||||
}
|
||||
grid.addChild(btn);
|
||||
|
||||
page.content = grid;
|
||||
return page;
|
||||
|
||||
@@ -46,6 +46,7 @@ allTests["TEXT-FIELD"] = require("./ui/text-field/text-field-tests");
|
||||
allTests["TEXT-VIEW"] = require("./ui/text-view/text-view-tests");
|
||||
allTests["FORMATTEDSTRING"] = require("./text/formatted-string-tests");
|
||||
allTests["FILE-SYSTEM-ACCESS"] = require("./file-system-access-tests/file-system-access-tests");
|
||||
allTests["FILE-NAME-RESOLVER"] = require("./file-name-resolver-tests/file-name-resolver-tests");
|
||||
allTests["XML-DECLARATION"] = require("./xml-declaration/xml-declaration-tests");
|
||||
allTests["LIST-PICKER"] = require("./ui/list-picker/list-picker-tests");
|
||||
allTests["DATE-PICKER"] = require("./ui/date-picker/date-picker-tests");
|
||||
|
||||
Reference in New Issue
Block a user