Browse Source

Fix different EnvDTE behaviour between SharpDevelop and Visual Studio.

Throw exception when unknown item requested from EnvDTE.ProjectItems.Item() instead of returning null.
The T4MVC template relies on this behaviour when looking for folders that do not exist.
pull/28/head
Matt Ward 14 years ago
parent
commit
7b0d8e92c9
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs
  2. 9
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs

@ -88,7 +88,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -88,7 +88,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
return item;
}
}
return null;
throw new ArgumentException("Unable to find item: " + name, "name");
}
internal virtual ProjectItem Item(int index)

9
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

@ -831,5 +831,14 @@ namespace PackageManagement.Tests.EnvDTE @@ -831,5 +831,14 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("AccountController.cs", projectItem.Name);
}
[Test]
public void Item_UnknownProjectItemName_ThrowsException()
{
CreateProjectItems();
msbuildProject.AddFile("Program.cs");
Assert.Throws<ArgumentException>(() => projectItems.Item("unknown.cs"));
}
}
}

Loading…
Cancel
Save