/******************************************************************************* * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Marc R. Hoffmann - initial API and implementation * *******************************************************************************/ package org.jacoco.report.internal.html.page; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import org.jacoco.core.internal.analysis.CounterImpl; import org.jacoco.core.internal.analysis.MethodCoverageImpl; import org.jacoco.report.internal.ReportOutputFolder; import org.jacoco.report.internal.html.ILinkable; import org.junit.Before; import org.junit.Test; /** * Unit tests for {@link MethodItem}. */ public class MethodItemTest { private MethodCoverageImpl node; @Before public void setup() { node = new MethodCoverageImpl("test", "()V", null); } @Test public void testGetNode() { final MethodItem item = new MethodItem(node, "test()", null); assertSame(node, item.getNode()); } @Test public void testGetLinkLabel() { final MethodItem item = new MethodItem(node, "test()", null); assertEquals("test()", item.getLinkLabel()); } @Test public void testGetLinkStyle() { final MethodItem item = new MethodItem(node, "test()", null); assertEquals("el_method", item.getLinkStyle()); } @Test public void testGetLinkNone() { final MethodItem item = new MethodItem(node, "test()", null); assertNull(item.getLink(null)); } @Test public void testGetLink() { final MethodItem item = new MethodItem(node, "test()", new SourceLink()); assertEquals("../Source.java", item.getLink(null)); } @Test public void testGetLinkWithLine() { node.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 15); final MethodItem item = new MethodItem(node, "test()", new SourceLink()); assertEquals("../Source.java#L15", item.getLink(null)); } private static class SourceLink implements ILinkable { public String getLinkStyle() { return "el_source"; } public String getLinkLabel() { return "Source.java"; } public String getLink(ReportOutputFolder base) { return "../Source.java"; } } }