Fixed Issue #518: Allow ActionItems to be directly specified between the ActionBar opening and closing tags.

This commit is contained in:
Rossen Hristov
2015-12-16 16:37:35 +02:00
parent 9418ab8f63
commit 1bd52efddb
9 changed files with 72 additions and 4 deletions

View File

@@ -0,0 +1,15 @@
<Page>
<Page.actionBar>
<ActionBar>
<ActionItem text="i1" tap="onTapped"/>
<Label text="tv" tap="onTapped"/>
<ActionItem text="i2" tap="onTapped"/>
<NavigationButton text="nb" tap="onTapped"/>
<ActionItem text="i3" tap="onTapped"/>
</ActionBar>
</Page.actionBar>
<StackLayout>
<Label text="page content"/>
</StackLayout>
</Page>

View File

@@ -324,6 +324,28 @@ export function test_Setting_ActionItemsWithNumberAsText_doesnt_thrown() {
}
}
export function test_CanDefineEverythingAsContentBetweenTheTwoTags() {
var moduleName = __dirname.substr(fs.knownFolders.currentApp().path.length);
helper.navigateToModuleAndRunTest(moduleName + "/ActionBar_BetweenTags", undefined, (page: PageModule.Page) => {
TKUnit.assertNotNull(page.actionBar.navigationButton);
TKUnit.assertEqual(page.actionBar.navigationButton.text, "nb");
TKUnit.assertNull(page.actionBar.title);
TKUnit.assertNotNull(page.actionBar.titleView);
TKUnit.assertTrue(page.actionBar.titleView instanceof LabelModule.Label);
TKUnit.assertEqual((<LabelModule.Label>page.actionBar.titleView).text, "tv");
TKUnit.assertNotNull(page.actionBar.actionItems);
var items = page.actionBar.actionItems.getItems();
TKUnit.assertEqual(items.length, 3);
TKUnit.assertEqual(items[0].text, "i1");
TKUnit.assertEqual(items[1].text, "i2");
TKUnit.assertEqual(items[2].text, "i3");
});
}
export function createPageAndNavigate() {
var page: PageModule.Page;
var pageFactory = function (): PageModule.Page {