diff --git a/.travis.yml b/.travis.yml
index 49312cf3e..c6aa9443f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,12 +39,12 @@ before_script:
- adb shell input keyevent 82 &
script:
- jdk_switcher use oraclejdk8
- - grunt default &&
+ - grunt default --verbose &&
FULL_PACKAGE_VERSION=`node -e 'console.log(require("./bin/dist/tns-core-modules/package.json").version);'` &&
(cd build/platform-declarations && grunt) &&
echo no | npm install nativescript@next -g > /dev/null &&
- grunt buildOnlyTestsApp --platform=Android --modulesPath=./bin/dist/$PACKAGE_NAME-$FULL_PACKAGE_VERSION.tgz --runtimeVersion=$RUNTIMEVERSION --emuPId=.*emulator.* --avd=$AVD_NAME --showEmu=false > /dev/null &&
- grunt runOnlyTestsApp --platform=Android --modulesPath=./bin/dist/$PACKAGE_NAME-$FULL_PACKAGE_VERSION.tgz --emuPId=.*emulator.* --avd=$AVD_NAME --showEmu=false
+ grunt buildOnlyTestsApp --verbose --platform=Android --modulesPath=./bin/dist/$PACKAGE_NAME-$FULL_PACKAGE_VERSION.tgz --runtimeVersion=$RUNTIMEVERSION --emuPId=.*emulator.* --avd=$AVD_NAME --showEmu=false > /dev/null &&
+ grunt runOnlyTestsApp --verbose --platform=Android --modulesPath=./bin/dist/$PACKAGE_NAME-$FULL_PACKAGE_VERSION.tgz --emuPId=.*emulator.* --avd=$AVD_NAME --showEmu=false
- node ./build/travis-scripts/check-testrun-broken.js
- adb pull /data/data/org.nativescript.TestsApp/files/test-results.xml &&
mv test-results.xml ~/test-run-results$PACKAGE_VERSION.xml
diff --git a/apps/app/css-perf-test/app.ts b/apps/app/css-perf-test/app.ts
new file mode 100644
index 000000000..2858b0cb8
--- /dev/null
+++ b/apps/app/css-perf-test/app.ts
@@ -0,0 +1,12 @@
+import application = require("application");
+
+ global.time = function(): number {
+ if (global.android) {
+ return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns
+ }
+ else {
+ return CACurrentMediaTime() * 1000;
+ }
+}
+
+application.start({ moduleName: "css-perf-test/root" });
\ No newline at end of file
diff --git a/apps/app/css-perf-test/main-page.css b/apps/app/css-perf-test/main-page.css
new file mode 100644
index 000000000..115f58fbc
--- /dev/null
+++ b/apps/app/css-perf-test/main-page.css
@@ -0,0 +1,29 @@
+.title {
+ font-size: 20;
+ margin: 3;
+}
+
+.author {
+ font-size: 14;
+ horizontal-align: left;
+ vertical-align: bottom;
+ margin: 3;
+}
+
+.comments {
+ color: #10C2B0;
+ font-size: 14;
+ vertical-align: bottom;
+ margin: 3;
+}
+
+.thumbnail {
+ width: 72;
+ height: 72;
+ margin: 3;
+ vertical-align: top;
+}
+
+TabView {
+ background-color: white;
+}
\ No newline at end of file
diff --git a/apps/app/css-perf-test/main-page.ts b/apps/app/css-perf-test/main-page.ts
new file mode 100644
index 000000000..0833dcc32
--- /dev/null
+++ b/apps/app/css-perf-test/main-page.ts
@@ -0,0 +1,7 @@
+import {EventData as ObservableEventData} from "data/observable";
+
+export function navigatedTo(args: ObservableEventData) {
+ setTimeout(() => {
+ console.log(`Time: ${global.time() - global.startTime} ms`);
+ });
+}
\ No newline at end of file
diff --git a/apps/app/css-perf-test/main-page.xml b/apps/app/css-perf-test/main-page.xml
new file mode 100644
index 000000000..a66a5ffcd
--- /dev/null
+++ b/apps/app/css-perf-test/main-page.xml
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/app/css-perf-test/main-page2.css b/apps/app/css-perf-test/main-page2.css
new file mode 100644
index 000000000..115f58fbc
--- /dev/null
+++ b/apps/app/css-perf-test/main-page2.css
@@ -0,0 +1,29 @@
+.title {
+ font-size: 20;
+ margin: 3;
+}
+
+.author {
+ font-size: 14;
+ horizontal-align: left;
+ vertical-align: bottom;
+ margin: 3;
+}
+
+.comments {
+ color: #10C2B0;
+ font-size: 14;
+ vertical-align: bottom;
+ margin: 3;
+}
+
+.thumbnail {
+ width: 72;
+ height: 72;
+ margin: 3;
+ vertical-align: top;
+}
+
+TabView {
+ background-color: white;
+}
\ No newline at end of file
diff --git a/apps/app/css-perf-test/res/logo.png b/apps/app/css-perf-test/res/logo.png
new file mode 100644
index 000000000..de99da231
Binary files /dev/null and b/apps/app/css-perf-test/res/logo.png differ
diff --git a/apps/app/css-perf-test/root.ts b/apps/app/css-perf-test/root.ts
new file mode 100644
index 000000000..b67d9911a
--- /dev/null
+++ b/apps/app/css-perf-test/root.ts
@@ -0,0 +1,7 @@
+import {Page} from "ui/page";
+
+export function onTap(args: any) {
+ global.startTime = global.time();
+ let page = args.object.page;
+ page.frame.navigate("css-perf-test/main-page");
+}
\ No newline at end of file
diff --git a/apps/app/css-perf-test/root.xml b/apps/app/css-perf-test/root.xml
new file mode 100644
index 000000000..6088b5d07
--- /dev/null
+++ b/apps/app/css-perf-test/root.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/apps/app/fonts/Pacifico.ttf b/apps/app/fonts/Pacifico.ttf
new file mode 100644
index 000000000..6d47cdc9a
Binary files /dev/null and b/apps/app/fonts/Pacifico.ttf differ
diff --git a/apps/app/fonts/Sofia.otf b/apps/app/fonts/Sofia.otf
new file mode 100644
index 000000000..1f76d2d58
Binary files /dev/null and b/apps/app/fonts/Sofia.otf differ
diff --git a/apps/app/ui-tests-app/css/background.xml b/apps/app/ui-tests-app/css/background.xml
index a0455996d..15d8c1781 100644
--- a/apps/app/ui-tests-app/css/background.xml
+++ b/apps/app/ui-tests-app/css/background.xml
@@ -11,41 +11,41 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/css/styles.css b/apps/app/ui-tests-app/css/styles.css
index e0d1ce22d..451885bf9 100644
--- a/apps/app/ui-tests-app/css/styles.css
+++ b/apps/app/ui-tests-app/css/styles.css
@@ -2,4 +2,4 @@
background-color: lightcoral;
}
-@import url('~/css/import.css');
\ No newline at end of file
+@import url('~/ui-tests-app/css/import.css');
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/image-view/rounded-buttons.xml b/apps/app/ui-tests-app/image-view/rounded-buttons.xml
index 4c8340753..b6b249ff8 100644
--- a/apps/app/ui-tests-app/image-view/rounded-buttons.xml
+++ b/apps/app/ui-tests-app/image-view/rounded-buttons.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/image-view/rounded-images.css b/apps/app/ui-tests-app/image-view/rounded-images.css
index 28ea1c642..b2d10d244 100644
--- a/apps/app/ui-tests-app/image-view/rounded-images.css
+++ b/apps/app/ui-tests-app/image-view/rounded-images.css
@@ -57,5 +57,5 @@ style {
border-width: 2;
border-color: blue;
border-radius: 100;
- background-image: url('~/pages/red.png');
+ background-image: url('~/ui-tests-app/pages/red.png');
}
\ No newline at end of file
diff --git a/apps/references.d.ts b/apps/references.d.ts
index f803d2bdc..48830c121 100644
--- a/apps/references.d.ts
+++ b/apps/references.d.ts
@@ -1 +1,5 @@
-/// Needed for autocompletion and compilation.
\ No newline at end of file
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
\ No newline at end of file
diff --git a/apps/tsconfig.json b/apps/tsconfig.json
index 0ec588987..d6e427e0e 100644
--- a/apps/tsconfig.json
+++ b/apps/tsconfig.json
@@ -1,12 +1,14 @@
{
"compilerOptions": {
- "module": "commonjs",
- "target": "es5",
- "sourceMap": true,
- "experimentalDecorators": true,
- "emitDecoratorMetadata": true,
+ "noEmitOnError": true,
"noEmitHelpers": true,
- "noEmitOnError": true
+ "target": "es5",
+ "module": "commonjs",
+ "declaration": false,
+ "noImplicitAny": true,
+ "noImplicitUseStrict": true,
+ "experimentalDecorators": true,
+ "diagnostics": true
},
"exclude": [
"node_modules",
diff --git a/package.json b/package.json
index 0fd8dae7a..8b215ad9a 100644
--- a/package.json
+++ b/package.json
@@ -12,11 +12,14 @@
"grunt-contrib-copy": "git+https://github.com/ErjanGavalji/grunt-contrib-copy.git#1c976a133210be4ce8c96313f5daf14833f7f8f9",
"grunt-env": "0.4.4",
"grunt-exec": "0.4.6",
+ "grunt-mkdir": "0.1.2",
+ "grunt-multi-dest": "1.0.0",
"grunt-shell": "1.1.2",
"grunt-simple-mocha": "0.4.0",
"grunt-ts": "5.3.2",
"grunt-tslint": "3.0.3",
"grunt-typedoc": "0.2.3",
+ "grunt-untar": "0.0.1",
"markdown-snippet-injector": "0.1.1",
"mocha": "2.2.5",
"nativescript-typedoc-theme": "0.0.1",
diff --git a/tests/package.json b/tests/package.json
index 7f48effc3..17ce53ae6 100644
--- a/tests/package.json
+++ b/tests/package.json
@@ -20,6 +20,7 @@
"babel-types": "6.9.0",
"babylon": "6.8.0",
"filewalker": "0.1.2",
- "lazy": "1.0.11"
+ "lazy": "1.0.11",
+ "typescript": "^1.8.10"
}
-}
\ No newline at end of file
+}
diff --git a/tests/references.d.ts b/tests/references.d.ts
index f803d2bdc..48830c121 100644
--- a/tests/references.d.ts
+++ b/tests/references.d.ts
@@ -1 +1,5 @@
-/// Needed for autocompletion and compilation.
\ No newline at end of file
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
+/// Needed for autocompletion and compilation.
\ No newline at end of file
diff --git a/tests/tsconfig.json b/tests/tsconfig.json
index 0ec588987..5d13c12c4 100644
--- a/tests/tsconfig.json
+++ b/tests/tsconfig.json
@@ -1,12 +1,14 @@
{
"compilerOptions": {
- "module": "commonjs",
- "target": "es5",
- "sourceMap": true,
- "experimentalDecorators": true,
- "emitDecoratorMetadata": true,
+ "noEmitOnError": true,
"noEmitHelpers": true,
- "noEmitOnError": true
+ "target": "es5",
+ "module": "commonjs",
+ "declaration": false,
+ "noImplicitAny": false,
+ "noImplicitUseStrict": true,
+ "experimentalDecorators": true,
+ "diagnostics": true
},
"exclude": [
"node_modules",