public void GetOutputDirWithHash_IsSane() { StringAssert.IsMatch(@"^out[\\/][a-f0-9]{16}$", DepFileUtil.GetOutputDirWithHash("out", "foo.proto")); StringAssert.IsMatch(@"^[a-f0-9]{16}$", DepFileUtil.GetOutputDirWithHash("", "foo.proto")); }
public void GetOutputDirWithHash_HashesDir() { string PickHash(string fname) => DepFileUtil.GetOutputDirWithHash("", fname); string same1 = PickHash("dir1/dir2/foo.proto"); string same2 = PickHash("dir1/dir2/proto.foo"); string same3 = PickHash("dir1/dir2/proto"); string same4 = PickHash("dir1/dir2/.proto"); string unsame1 = PickHash("dir2/foo.proto"); string unsame2 = PickHash("/dir2/foo.proto"); Assert.AreEqual(same1, same2); Assert.AreEqual(same1, same3); Assert.AreEqual(same1, same4); Assert.AreNotEqual(same1, unsame1); Assert.AreNotEqual(unsame1, unsame2); }