| /* |
| * Copyright (c) 2011, 2014 Google Inc. |
| * |
| * 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 |
| */ |
| package com.google.eclipse.protobuf.ui.scoping; |
| |
| import static com.google.eclipse.protobuf.junit.core.UnitTestModule.unitTestModule; |
| import static com.google.eclipse.protobuf.junit.core.XtextRule.overrideRuntimeModuleWith; |
| import static org.eclipse.emf.common.util.URI.createURI; |
| import static org.hamcrest.core.IsEqual.equalTo; |
| import static org.junit.Assert.assertThat; |
| |
| import com.google.eclipse.protobuf.junit.core.AbstractTestModule; |
| import com.google.eclipse.protobuf.junit.core.XtextRule; |
| import com.google.eclipse.protobuf.util.Uris; |
| import com.google.inject.Inject; |
| |
| import org.eclipse.emf.common.util.URI; |
| import org.junit.BeforeClass; |
| import org.junit.Rule; |
| import org.junit.Test; |
| |
| /** |
| * Tests for {@link SingleDirectoryUriResolver#resolveUri(String, URI)}. |
| * |
| * @author alruiz@google.com (Alex Ruiz) |
| */ |
| public class SingleDirectoryUriResolver_resolveUri_withFileUri_Test { |
| private static URI resourceUri; |
| |
| @BeforeClass public static void setUpOnce() { |
| resourceUri = createURI("file:/usr/local/project/src/proto/person.proto"); |
| } |
| |
| @Rule public XtextRule xtext = overrideRuntimeModuleWith(unitTestModule(), new TestModule()); |
| |
| @Inject private Uris uris; |
| @Inject private SingleDirectoryUriResolver resolver; |
| |
| @Test public void should_resolve_import_URI() { |
| uris().shouldAnyUriExist(true); |
| String resolved = resolver.resolveUri("folder1/address.proto", resourceUri); |
| assertThat(resolved, equalTo("file:/usr/local/project/src/proto/folder1/address.proto")); |
| } |
| |
| private UrisStub uris() { |
| return (UrisStub) uris; |
| } |
| |
| private static class TestModule extends AbstractTestModule { |
| @Override protected void configure() { |
| binder().bind(Uris.class).toInstance(UrisStub.instance()); |
| } |
| } |
| } |