Tests added and master-detail tempalte updated

This commit is contained in:
vakrilov
2015-03-18 12:37:33 +02:00
parent 0b2c4cc523
commit 88f6a936fc
21 changed files with 439 additions and 144 deletions

View 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");
}

View File

@@ -1 +0,0 @@
test.android.phone.xml

View File

@@ -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;

View File

@@ -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");