}
@Test
public void testNamespaceResolver() throws CoreException, IOException {
IScriptProject scriptProject = ensureScriptProject("namespace-resolver");
assertNotNull(scriptProject);
IProjectDescription desc = scriptProject.getProject().getDescription();
desc.setNatureIds(new String[] { PHPNature.ID });
scriptProject.getProject().setDescription(desc, null);
ProjectOptions.setPhpVersion(PHPVersion.PHP5_3, scriptProject.getProject());
PHPFacets.setFacetedVersion(scriptProject.getProject(), PHPVersion.PHP5_3);
FacetManager.installFacets(scriptProject.getProject(), PHPVersion.PHP5_3, new NullProgressMonitor());
scriptProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
scriptProject.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
ComposerCoreTestPlugin.waitForIndexer();
ComposerCoreTestPlugin.waitForAutoBuild();
IComposerProject project = ComposerPlugin.getDefault().getComposerProject(scriptProject);
IFile composerJson = project.getComposerJson();
assertNotNull(composerJson);
assertTrue(scriptProject.getProject().hasNature(PHPNature.ID));
assertTrue(scriptProject.getProject().hasNature(ComposerNature.NATURE_ID));
assertEquals("Foo\\Bar", project.getNamespace(new Path("src/Foo/Bar")));
assertEquals("Foo\\Bar\\Baz", project.getNamespace(new Path("src/Foo/Bar/Baz")));
assertEquals("Hello\\World", project.getNamespace(new Path("src/HelloWorld")));
assertEquals("", project.getNamespace(new Path("src/Null/")));