diff --git a/apps/tests/http-tests.ts b/apps/tests/http-tests.ts index 3eece7c05..dfe996d91 100644 --- a/apps/tests/http-tests.ts +++ b/apps/tests/http-tests.ts @@ -29,11 +29,11 @@ export var test_getString = function (done: (err: Error, res?: string) => void) done(null); // }, function (e) { - //// Argument (e) is Error! - // - done(e); - // - }); + //// Argument (e) is Error! + // + done(e); + // + }); // ``` // }; @@ -90,12 +90,12 @@ export var test_getJSON = function (done) { done(null); // }, function (e) { - //// Argument (e) is Error! - //console.log(e); - // - done(e); - // - }); + //// Argument (e) is Error! + //console.log(e); + // + done(e); + // + }); // ``` // }; @@ -144,8 +144,8 @@ export var test_getJSONP = function (done) { } done(null); }, function (e) { - done(e); - }); + done(e); + }); }; export var test_getJSON_fail_when_result_is_not_JSONP = function (done) { @@ -186,11 +186,11 @@ export var test_getImage = function (done) { } // }, function (e) { - //// Argument (e) is Error! - // - done(e); - // - }); + //// Argument (e) is Error! + // + done(e); + // + }); // ``` // }; @@ -278,11 +278,11 @@ export var test_request_responseStatusCodeShouldBeDefined = function (done) { } // }, function (e) { - //// Argument (e) is Error! - // - done(e); - // - }); + //// Argument (e) is Error! + // + done(e); + // + }); // ``` // }; @@ -309,11 +309,11 @@ export var test_request_responseHeadersShouldBeDefined = function (done) { } // }, function (e) { - //// Argument (e) is Error! - // - done(e); - // - }); + //// Argument (e) is Error! + // + done(e); + // + }); // ``` // }; @@ -341,11 +341,11 @@ export var test_request_responseContentShouldBeDefined = function (done) { } // }, function (e) { - //// Argument (e) is Error! - // - done(e); - // - }); + //// Argument (e) is Error! + // + done(e); + // + }); // ``` // }; @@ -363,8 +363,8 @@ export var test_request_responseContentToStringShouldReturnString = function (do done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_responseContentToJSONShouldReturnJSON = function (done) { @@ -380,8 +380,8 @@ export var test_request_responseContentToJSONShouldReturnJSON = function (done) done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_responseContentToImageShouldReturnCorrectImage = function (done) { @@ -399,8 +399,8 @@ export var test_request_responseContentToImageShouldReturnCorrectImage = functio } }); }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_headersSentAndReceivedProperly = function (done) { @@ -420,8 +420,8 @@ export var test_request_headersSentAndReceivedProperly = function (done) { done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_contentSentAndReceivedProperly = function (done) { @@ -442,8 +442,8 @@ export var test_request_contentSentAndReceivedProperly = function (done) { done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_FormDataContentSentAndReceivedProperly = function (done) { @@ -468,8 +468,8 @@ export var test_request_FormDataContentSentAndReceivedProperly = function (done) done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_NonStringHeadersSentAndReceivedProperly = function (done) { @@ -492,8 +492,8 @@ export var test_request_NonStringHeadersSentAndReceivedProperly = function (done done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; export var test_request_jsonAsContentSentAndReceivedProperly = function (done) { @@ -521,27 +521,29 @@ export var test_request_jsonAsContentSentAndReceivedProperly = function (done) { // // console.log(result); }, function (e) { - // - done(e); - // - // console.log("Error occurred " + e); - }); + // + done(e); + // + // console.log("Error occurred " + e); + }); // ``` // }; -export var test_getString_FromVariousUrls_ShouldWorkProperly = function (done) { - var urls = [ - "https://it-ebooks-api.info/v1/book/1615005640", - "https://www.telerik.com", - "https://spreadsheets.google.com/tq?key=1tJ64Y8hje0ui4ap9U33h3KWwpxT_-JuVMSZzxD2Er8k", - "https://chase.arborgoldcloud.net/mobilehandler/mobiledatahandler.ashx?ProcedureName=MEstimGetJobListSpeed&@prmSalesRep=%&@prmStartDate=11/1/2015&@prmEndDate=12/8/2015&@prmStatusFilter=2" - ]; +export var test_getString_1 = function (done) { + doRequest("https://it-ebooks-api.info/v1/book/1615005640", done); +}; - var i: number; - for (i = 0; i < urls.length; i++) { - doRequest(urls[i], done); - } +export var test_getString_2 = function (done) { + doRequest("https://www.telerik.com", done); +}; + +export var test_getString_3 = function (done) { + doRequest("https://spreadsheets.google.com/tq?key=1tJ64Y8hje0ui4ap9U33h3KWwpxT_-JuVMSZzxD2Er8k", done); +}; + +export var test_getString_4 = function (done) { + doRequest("https://chase.arborgoldcloud.net/mobilehandler/mobiledatahandler.ashx?ProcedureName=MEstimGetJobListSpeed&@prmSalesRep=%&@prmStartDate=11/1/2015&@prmEndDate=12/8/2015&@prmStatusFilter=2", done); }; function doRequest(url: string, done: Function) { @@ -554,6 +556,6 @@ function doRequest(url: string, done: Function) { done(err); } }, function (e) { - done(e); - }); + done(e); + }); }; \ No newline at end of file diff --git a/apps/tests/layouts/absolute-layout-tests.ts b/apps/tests/layouts/absolute-layout-tests.ts index 8fadba0d0..69d56c70c 100644 --- a/apps/tests/layouts/absolute-layout-tests.ts +++ b/apps/tests/layouts/absolute-layout-tests.ts @@ -5,6 +5,7 @@ import labelModule = require("ui/label"); import helper = require("../ui/helper"); import colorModule = require("color"); import layoutHelper = require("./layout-helper"); +import commonTests = require("./common-layout-tests"); // // # AbsoluteLayout @@ -120,6 +121,10 @@ export class AbsoluteLayoutTest extends testModule.UITestnativeView.getLayoutParams(); + if (!(lp instanceof org.nativescript.widgets.CommonLayoutParams)) { + lp = new org.nativescript.widgets.CommonLayoutParams(); + } + + return lp; +} + +export function percent_support_nativeLayoutParams_are_correct(test: testModule.UITest) { + if (platform.device.os !== platform.platformNames.android) { + return; + } + + let layout = test.testView; + layout.width = layoutHelper.dp(200); + layout.height = layoutHelper.dp(200); + + let btn = new layoutHelper.MyButton(); + btn.width = layoutHelper.dp(100); + btn.height = layoutHelper.dp(100); + btn.margin = "10%"; + layout.addChild(btn); + + test.waitUntilTestElementLayoutIsValid(); + + let lp = getNativeLayoutParams(btn._nativeView); + TKUnit.assertEqual(lp.width, 100, "width"); + TKUnit.assertEqual(lp.widthPercent, -1, "widthPercent"); + TKUnit.assertEqual(lp.height, 100, "height"); + TKUnit.assertEqual(lp.heightPercent, -1, "heightPercent"); + TKUnit.assertEqual(lp.topMargin, 0, "topMargin"); + TKUnit.assertTrue(lp.topMarginPercent > 0, "topMarginPercent"); + TKUnit.assertEqual(lp.leftMargin, 0, "leftMargin"); + TKUnit.assertTrue(lp.leftMarginPercent > 0, "leftMarginPercent"); + TKUnit.assertEqual(lp.rightMargin, 0, "rightMargin"); + TKUnit.assertTrue(lp.rightMarginPercent > 0, "rightMarginPercent"); + TKUnit.assertEqual(lp.bottomMargin, 0, "bottomMargin"); + TKUnit.assertTrue(lp.bottomMarginPercent > 0, "bottomMarginPercent"); + + (btn).width = "50%"; + (btn).height = "50%"; + test.waitUntilTestElementLayoutIsValid(); + + TKUnit.assertEqual(lp.width, -1, "width"); + TKUnit.assertEqual(lp.widthPercent, 0.5, "widthPercent"); + TKUnit.assertEqual(lp.height, -1, "height"); + TKUnit.assertEqual(lp.heightPercent, 0.5, "heightPercent"); + + btn.margin = "0"; + btn.height = Number.NaN; + (btn.style)._resetValue(widthProperty); + test.waitUntilTestElementLayoutIsValid(); + + TKUnit.assertEqual(lp.width, -1, "width"); + TKUnit.assertEqual(lp.widthPercent, -1, "widthPercent"); + TKUnit.assertEqual(lp.height, -1, "height"); + TKUnit.assertEqual(lp.heightPercent, -1, "heightPercent"); + TKUnit.assertEqual(lp.topMargin, 0, "topMargin"); + TKUnit.assertEqual(lp.topMarginPercent, -1, "topMarginPercent"); + TKUnit.assertEqual(lp.leftMargin, 0, "leftMargin"); + TKUnit.assertEqual(lp.leftMarginPercent, -1, "leftMarginPercent"); + TKUnit.assertEqual(lp.rightMargin, 0, "rightMargin"); + TKUnit.assertEqual(lp.rightMarginPercent, -1, "rightMarginPercent"); + TKUnit.assertEqual(lp.bottomMargin, 0, "bottomMargin"); + TKUnit.assertEqual(lp.bottomMarginPercent, -1, "bottomMarginPercent"); +} export function percent_support_test(test: testModule.UITest) { let layout: LayoutBase = test.testView; diff --git a/apps/tests/layouts/dock-layout-tests.ts b/apps/tests/layouts/dock-layout-tests.ts index 141a7bade..df54a74d0 100644 --- a/apps/tests/layouts/dock-layout-tests.ts +++ b/apps/tests/layouts/dock-layout-tests.ts @@ -195,6 +195,10 @@ export class DockLayoutTest extends testModule.UITest { public test_percent_support() { commonTests.percent_support_test(this); } + + public test_percent_support_nativeLayoutParams_are_correct() { + commonTests.percent_support_nativeLayoutParams_are_correct(this); + } } export function createTestCase(): DockLayoutTest { diff --git a/apps/tests/layouts/grid-layout-tests.ts b/apps/tests/layouts/grid-layout-tests.ts index e4fd393c4..be40b2649 100644 --- a/apps/tests/layouts/grid-layout-tests.ts +++ b/apps/tests/layouts/grid-layout-tests.ts @@ -646,6 +646,10 @@ export class GridLayoutTest extends testModule.UITest { public test_percent_support() { commonTests.percent_support_test(this); } + + public test_percent_support_nativeLayoutParams_are_correct() { + commonTests.percent_support_nativeLayoutParams_are_correct(this); + } } export function createTestCase(): GridLayoutTest { diff --git a/apps/tests/layouts/stack-layout-tests.ts b/apps/tests/layouts/stack-layout-tests.ts index 279fbd94c..2cfc12eed 100644 --- a/apps/tests/layouts/stack-layout-tests.ts +++ b/apps/tests/layouts/stack-layout-tests.ts @@ -312,6 +312,10 @@ export class StackLayoutTest extends testModule.UITest { TKUnit.assertEqual(bounds.right, 120, "BottomRight layout RIGHT incorrect"); TKUnit.assertEqual(bounds.bottom, 180, "BottomRight layout BOTTOM incorrect"); } + + public test_percent_support_nativeLayoutParams_are_correct() { + commonTests.percent_support_nativeLayoutParams_are_correct(this); + } } export function createTestCase(): StackLayoutTest { diff --git a/apps/tests/layouts/wrap-layout-tests.ts b/apps/tests/layouts/wrap-layout-tests.ts index 7d0c9868d..f533cbff3 100644 --- a/apps/tests/layouts/wrap-layout-tests.ts +++ b/apps/tests/layouts/wrap-layout-tests.ts @@ -279,6 +279,10 @@ export class WrapLayoutTest extends testModule.UITestdata.object; var nativeView = stackLayout._nativeView; - nativeView.setOrientation(data.newValue === enums.Orientation.vertical ? org.nativescript.widgets.Orientation.vertical : org.nativescript.widgets.Orientation.horzontal); + nativeView.setOrientation(data.newValue === enums.Orientation.vertical ? org.nativescript.widgets.Orientation.vertical : org.nativescript.widgets.Orientation.horizontal); } private _layout: org.nativescript.widgets.StackLayout; diff --git a/ui/layouts/wrap-layout/wrap-layout.android.ts b/ui/layouts/wrap-layout/wrap-layout.android.ts index 4f3ebab05..f2ab51b67 100644 --- a/ui/layouts/wrap-layout/wrap-layout.android.ts +++ b/ui/layouts/wrap-layout/wrap-layout.android.ts @@ -11,7 +11,7 @@ export class WrapLayout extends common.WrapLayout { static setNativeOrientationProperty(data: dependencyObservable.PropertyChangeData): void { var wrapLayout = data.object; var nativeView = wrapLayout._nativeView; - nativeView.setOrientation(data.newValue === enums.Orientation.vertical ? org.nativescript.widgets.Orientation.vertical : org.nativescript.widgets.Orientation.horzontal); + nativeView.setOrientation(data.newValue === enums.Orientation.vertical ? org.nativescript.widgets.Orientation.vertical : org.nativescript.widgets.Orientation.horizontal); } static setNativeItemWidthProperty(data: dependencyObservable.PropertyChangeData): void {