mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-27 08:16:14 +02:00
41dd9857c7
No outward facing behavior is changed. Older methods with same names that operate on on method + algo pair (for old-style `<method>:algo`) are renamed to `*WithAlgo`.) The functions are unit-tested in the same way the names for the hash algorithms are tested.
35 lines
1 KiB
C++
35 lines
1 KiB
C++
#include <gtest/gtest.h>
|
|
|
|
#include "content-address.hh"
|
|
|
|
namespace nix {
|
|
|
|
/* ----------------------------------------------------------------------------
|
|
* ContentAddressMethod::parse, ContentAddressMethod::render
|
|
* --------------------------------------------------------------------------*/
|
|
|
|
TEST(ContentAddressMethod, testRoundTripPrintParse_1) {
|
|
for (const ContentAddressMethod & cam : {
|
|
ContentAddressMethod { TextIngestionMethod {} },
|
|
ContentAddressMethod { FileIngestionMethod::Flat },
|
|
ContentAddressMethod { FileIngestionMethod::Recursive },
|
|
}) {
|
|
EXPECT_EQ(ContentAddressMethod::parse(cam.render()), cam);
|
|
}
|
|
}
|
|
|
|
TEST(ContentAddressMethod, testRoundTripPrintParse_2) {
|
|
for (const std::string_view camS : {
|
|
"text",
|
|
"flat",
|
|
"nar",
|
|
}) {
|
|
EXPECT_EQ(ContentAddressMethod::parse(camS).render(), camS);
|
|
}
|
|
}
|
|
|
|
TEST(ContentAddressMethod, testParseContentAddressMethodOptException) {
|
|
EXPECT_THROW(ContentAddressMethod::parse("narwhal"), UsageError);
|
|
}
|
|
|
|
}
|