package org.rapidoid.widget; /* * #%L * rapidoid-gui * %% * Copyright (C) 2014 - 2017 Nikolche Mihajlovski and contributors * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import org.junit.Test; import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Since; import org.rapidoid.data.YAML; import org.rapidoid.gui.menu.PageMenu; import org.rapidoid.gui.menu.PageMenuItem; import org.rapidoid.gui.menu.PageSubMenuItem; import org.rapidoid.io.Res; import org.rapidoid.test.TestCommons; import java.util.Map; @Authors("Nikolche Mihajlovski") @Since("4.1.0") public class PageMenuTest extends TestCommons { @Test public void shouldConstructAppMenu() { Res res = Res.from("menu.yaml"); Map<String, ?> data = YAML.parse(res.getContent(), Map.class); System.out.println(data); PageMenu menu = PageMenu.from(data); System.out.println(menu); eq(menu.items().size(), 2); PageMenuItem item1 = menu.items().get(0); eq(item1.getCaption(), "item1"); eq(item1.getTarget(), "aaa"); PageMenuItem item2 = menu.items().get(1); eq(item2.getCaption(), "item2"); isNull(item2.getTarget()); PageSubMenuItem subitem1 = item2.getSubmenu().getItems().get(0); PageSubMenuItem subitem2 = item2.getSubmenu().getItems().get(1); PageSubMenuItem subitem3 = item2.getSubmenu().getItems().get(2); eq(subitem1.getCaption(), "d"); eq(subitem1.getTarget(), ""); eq(subitem2.getCaption(), "e"); eq(subitem2.getTarget(), "f"); eq(subitem3.getCaption(), "last"); eq(subitem3.getTarget(), ""); } }