Add source information in the xml builder, print source file as part for veiw.toString

This commit is contained in:
Panayot Cankov
2016-03-14 18:04:53 +02:00
parent 6972e9213a
commit 522c9ee7ed
5 changed files with 55 additions and 8 deletions

View File

@@ -0,0 +1,5 @@
<Page xmlns="http://schemas.nativescript.org/tns.xsd">
<GridLayout id="grid">
<Label id="label" text="Text" />
</GridLayout>
</Page>

View File

@@ -24,6 +24,7 @@ import viewModule = require("ui/core/view");
import platform = require("platform");
import gesturesModule = require("ui/gestures");
import segmentedBar = require("ui/segmented-bar");
import { Source } from "utils/debug";
export function test_load_IsDefined() {
TKUnit.assert(types.isFunction(builder.load), "ui/builder should have load method!");
@@ -974,3 +975,14 @@ export function test_TabViewHasCorrectParentChain() {
model.set("testPassed", false);
helper.navigateToModuleAndRunTest(("." + moduleName + "/mymodulewithxml/TabViewParentChain"), model, testFunc);
}
export function test_hasSourceCodeLocations() {
var basePath = "xml-declaration/";
var page = <Page>builder.load(__dirname + "/examples/test-page.xml");
var grid = page.getViewById("grid");
var gridSource = Source.get(grid);
TKUnit.assertEqual(gridSource.toString(), "file:///app/" + basePath + "examples/test-page.xml:2:3");
var label = page.getViewById("label");
var labelSource = Source.get(label);
TKUnit.assertEqual(labelSource.toString(), "file:///app/" + basePath + "examples/test-page.xml:3:5");
}