mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-14 02:06:16 +02:00
getNameFromURL(): Support uppercase characters in attribute names
In particular, this makes it handle 'legacyPackages' correctly.
This commit is contained in:
parent
d65d56fa77
commit
936a364226
2 changed files with 6 additions and 4 deletions
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
static const std::string attributeNamePattern("[a-z0-9_-]+");
|
static const std::string attributeNamePattern("[a-zA-Z0-9_-]+");
|
||||||
static const std::regex lastAttributeRegex("(?:" + attributeNamePattern + "\\.)*(?!default)(" + attributeNamePattern +")(\\^.*)?");
|
static const std::regex lastAttributeRegex("(?:" + attributeNamePattern + "\\.)*(?!default)(" + attributeNamePattern +")(\\^.*)?");
|
||||||
static const std::string pathSegmentPattern("[a-zA-Z0-9_-]+");
|
static const std::string pathSegmentPattern("[a-zA-Z0-9_-]+");
|
||||||
static const std::regex lastPathSegmentRegex(".*/(" + pathSegmentPattern +")");
|
static const std::regex lastPathSegmentRegex(".*/(" + pathSegmentPattern +")");
|
||||||
|
|
|
@ -5,11 +5,13 @@ namespace nix {
|
||||||
|
|
||||||
/* ----------- tests for url-name.hh --------------------------------------------------*/
|
/* ----------- tests for url-name.hh --------------------------------------------------*/
|
||||||
|
|
||||||
TEST(getNameFromURL, getsNameFromURL) {
|
TEST(getNameFromURL, getNameFromURL) {
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:/home/user/project")), "project");
|
ASSERT_EQ(getNameFromURL(parseURL("path:/home/user/project")), "project");
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:~/repos/nixpkgs#packages.x86_64-linux.hello")), "hello");
|
ASSERT_EQ(getNameFromURL(parseURL("path:~/repos/nixpkgs#packages.x86_64-linux.hello")), "hello");
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:.#nonStandardAttr.mylaptop")), "nonStandardAttr.mylaptop");
|
ASSERT_EQ(getNameFromURL(parseURL("path:~/repos/nixpkgs#legacyPackages.x86_64-linux.hello")), "hello");
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:./repos/myflake#nonStandardAttr.mylaptop")), "nonStandardAttr.mylaptop");
|
ASSERT_EQ(getNameFromURL(parseURL("path:~/repos/nixpkgs#packages.x86_64-linux.Hello")), "Hello");
|
||||||
|
ASSERT_EQ(getNameFromURL(parseURL("path:.#nonStandardAttr.mylaptop")), "mylaptop");
|
||||||
|
ASSERT_EQ(getNameFromURL(parseURL("path:./repos/myflake#nonStandardAttr.mylaptop")), "mylaptop");
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:./nixpkgs#packages.x86_64-linux.complex^bin,man")), "complex");
|
ASSERT_EQ(getNameFromURL(parseURL("path:./nixpkgs#packages.x86_64-linux.complex^bin,man")), "complex");
|
||||||
ASSERT_EQ(getNameFromURL(parseURL("path:./myproj#packages.x86_64-linux.default^*")), "myproj");
|
ASSERT_EQ(getNameFromURL(parseURL("path:./myproj#packages.x86_64-linux.default^*")), "myproj");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue