|  | // Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | package com.android.tools.r8; | 
|  |  | 
|  | import static org.junit.Assert.assertEquals; | 
|  | import static org.junit.Assert.assertTrue; | 
|  |  | 
|  | import com.android.tools.r8.TestRuntime.CfRuntime; | 
|  | import com.android.tools.r8.TestRuntime.CfVm; | 
|  | import com.android.tools.r8.origin.EmbeddedOrigin; | 
|  | import com.android.tools.r8.utils.AndroidApp; | 
|  | import org.junit.Test; | 
|  | import org.junit.runner.RunWith; | 
|  | import org.junit.runners.Parameterized; | 
|  | import org.junit.runners.Parameterized.Parameters; | 
|  |  | 
|  | @RunWith(Parameterized.class) | 
|  | public class R8CommandTestJdkLib extends TestBase { | 
|  |  | 
|  | @Parameters(name = "{0}") | 
|  | public static TestParametersCollection data() { | 
|  | return getTestParameters().withCfRuntimes().build(); | 
|  | } | 
|  |  | 
|  | private final TestParameters parameters; | 
|  |  | 
|  | public R8CommandTestJdkLib(TestParameters parameters) { | 
|  | this.parameters = parameters; | 
|  | } | 
|  |  | 
|  | @Test | 
|  | public void jdkLib() throws Throwable { | 
|  | CfRuntime runtime = parameters.getRuntime().asCf(); | 
|  | R8Command command = parse("--lib", runtime.getJavaHome().toString()); | 
|  | AndroidApp inputApp = ToolHelper.getApp(command); | 
|  | assertEquals(1, inputApp.getLibraryResourceProviders().size()); | 
|  | if (runtime.isNewerThan(CfVm.JDK8)) { | 
|  | assertTrue(inputApp.getLibraryResourceProviders().get(0) instanceof JdkClassFileProvider); | 
|  | } else { | 
|  | assertTrue(inputApp.getLibraryResourceProviders().get(0) instanceof ArchiveClassFileProvider); | 
|  | } | 
|  | } | 
|  |  | 
|  | private R8Command parse(String... args) throws CompilationFailedException { | 
|  | return R8Command.parse(args, EmbeddedOrigin.INSTANCE).build(); | 
|  | } | 
|  | } |