default namespace replaced with regex

This commit is contained in:
Vladimir Enchev
2015-04-29 10:58:16 +03:00
parent fd21c03acc
commit c192aba30e
2 changed files with 32 additions and 1 deletions

View File

@ -210,3 +210,31 @@ export function test_parse_ShouldParseCustomComponentWithoutXmlInListViewTemplat
helper.goBack(); helper.goBack();
} }
} }
export function test_parse_ShouldParseNestedListViewInListViewTemplate() {
var p = <page.Page>builder.parse('<Page xmlns="http://www.nativescript.org/tns.xsd"><ListView items="{{ items }}" itemLoading="{{ itemLoading }}"><ListView.itemTemplate><ListView items="{{ subItems }}" /></ListView.itemTemplate></ListView></Page>');
function testAction(views: Array<viewModule.View>) {
var ctrl;
var obj = new observable.Observable();
obj.set("items", [{ subItems: [1] }]);
obj.set("itemLoading", function (args: listViewModule.ItemEventData) {
ctrl = args.view
});
p.bindingContext = obj;
TKUnit.wait(0.2);
TKUnit.assert(ctrl instanceof listViewModule.ListView, "Expected result: ListView!; Actual result: " + ctrl);
};
helper.navigate(function () { return p; });
try {
testAction([p.content, p]);
}
finally {
helper.goBack();
}
}

View File

@ -154,7 +154,10 @@ function parseInternal(value: string, exports: any): componentBuilder.ComponentM
throw new Error("XML parse error: " + e.message); throw new Error("XML parse error: " + e.message);
}, true); }, true);
xmlParser.parse(value.replace('xmlns="http://www.nativescript.org/tns.xsd"', "").replace("xmlns='http://www.nativescript.org/tns.xsd'", "")); if (types.isString(value)) {
value = value.replace(/xmlns=("|')http:\/\/www.nativescript.org\/tns.xsd\1/, "");
xmlParser.parse(value);
}
return rootComponentModule; return rootComponentModule;
} }