Exemple #1
0
        public void OpenWithTruncatedLineDiscardsThatLine()
        {
            cache.Dispose();
            WriteFile(GetCleanFile("k1", 0), "A");
            WriteFile(GetCleanFile("k1", 1), "B");

            using (var writer =
                       new StreamWriter(journalFile.Open(FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite))) {
                writer.Write(DiskLruCache.Magic + "\n" + DiskLruCache.Version1 + "\n100\n2\n\nCLEAN k1 1 1");
            }

            cache = DiskLruCache.Open(directory, AppVersion, 2, int.MaxValue);
            Assert.That(cache.Get("k1"), Is.Null);

            // The journal is not corrupt when editing after a truncated line.
            Set("k1", "C", "D");

            cache.Dispose();
            cache = DiskLruCache.Open(directory, AppVersion, 2, int.MaxValue);

            AssertValue("k1", "C", "D");
        }
Exemple #2
0
 public void TearDown()
 {
     cache.Dispose();
 }
Exemple #3
0
 public void Dispose() => cacheImpl?.Dispose();