1d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann/*******************************************************************************
2d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
3d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * All rights reserved. This program and the accompanying materials
4d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * are made available under the terms of the Eclipse Public License v1.0
5d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * which accompanies this distribution, and is available at
6d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * http://www.eclipse.org/legal/epl-v10.html
7d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann *
8d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann * Contributors:
9d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann *    Marc R. Hoffmann - initial API and implementation
10d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann *
11d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann *******************************************************************************/
12d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmannpackage org.jacoco.cli.internal.commands;
13d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
14d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmannimport org.jacoco.cli.internal.CommandTestBase;
15d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmannimport org.junit.Test;
16d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
17d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann/**
1894ed743f66d67ddff24ccf9b83f120d3edd1f9d2Marc R. Hoffmann * Unit tests for {@link ClassInfo}.
19d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann */
20d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmannpublic class ClassInfoTest extends CommandTestBase {
21d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
22d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann	@Test
2394ed743f66d67ddff24ccf9b83f120d3edd1f9d2Marc R. Hoffmann	public void should_print_usage_when_invalid_option_is_given()
2494ed743f66d67ddff24ccf9b83f120d3edd1f9d2Marc R. Hoffmann			throws Exception {
25d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		execute("classinfo", "-invalid");
26d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
27d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertFailure();
28d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertContains("\"-invalid\" is not a valid option", err);
29d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertContains(
30d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann				"java -jar jacococli.jar classinfo [<classlocations> ...]",
31d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann				err);
32d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann	}
33d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
34d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann	@Test
3594ed743f66d67ddff24ccf9b83f120d3edd1f9d2Marc R. Hoffmann	public void should_print_class_info() throws Exception {
36d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		execute("classinfo", getClassPath());
37d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
38d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertOk();
39d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertContains(
40d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann				"class name:   org/jacoco/cli/internal/commands/ClassInfoTest",
41d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann				out);
42d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann		assertContains("methods:      3", out);
43d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann	}
44d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann
45d850ed49b22d2a0c84a3b317acec8df7e7159016Marc R. Hoffmann}
46