예제 #1
0
        public void PlaceholderTest()
        {
            IKeePassEntry entry = GetTestEntry();

            Assert.AreEqual(
                $"this is a test string with scheme http and {entry.Title.ClearValue}",
                PlaceholderResolver.Resolve("this is a test string {C:comment here}with scheme {URL:SCM} and {TITLE}", entry)
            );
        }
예제 #2
0
 public void BadPlaceholders()
 {
     IKeePassEntry entry = GetTestEntry();
     Assert.AreEqual(
         "foo{username",
         PlaceholderResolver.Resolve("foo{username", entry)
     );
     Assert.AreEqual(
         "foo{username{",
         PlaceholderResolver.Resolve("foo{username{", entry)
     );
     Assert.AreEqual(
         "foo{BAR}",
         PlaceholderResolver.Resolve("foo{BAR}", entry)
     );
     Assert.AreEqual(
         $"{{USERNAME{entry.UserName.ClearValue}}}",
         PlaceholderResolver.Resolve("{USERNAME{UsErnAME}}", entry)
     );
     Assert.AreEqual(
         $"{entry.Password.ClearValue}}}{{{entry.Title.ClearValue}",
         PlaceholderResolver.Resolve("{pASsword}}{{TITLE}", entry)
     );
     Assert.AreEqual(
         $"{{{{{{{{{entry.Password.ClearValue}{{}}{{}}}}}}}}}}}}}}}}{{{{}}{{",
         PlaceholderResolver.Resolve("{{{{{PASSWORD}{}{}}}}}}}}{{}{", entry)
     );
     Assert.AreEqual(
         "{C}",
         PlaceholderResolver.Resolve("{C}", entry)
     );
     Assert.AreEqual(
         string.Empty,
         PlaceholderResolver.Resolve("{C:}", entry)
     );
     Assert.AreEqual(
         string.Empty,
         PlaceholderResolver.Resolve("{C::asdf:::}", entry)
     );
 }