--- /dev/null
+#if 0
+level 1
+
+4 delete middle block nopad
+1 delete middle block pad
+1 delete last block nopad
+1 delete last block pad
+1 insert middle block nopad
+1 insert middle block equalpad
+1 insert middle block smallpad
+1 insert middle block smallpad+1
+1 insert middle block biggerpad
+1 insert last block X
+1 set middle block smaller nopad
+1 set middle block smaller pad
+1 set last block smaller nopad
+1 set last block smaller pad
+1 set middle block bigger nopad
+1 set middle block bigger equalpad
+1 set middle block bigger smallpad
+1 set middle block bigger smallpad+1
+1 set middle block bigger biggerpad
+1 set last block bigger nopad
+1 set middle block equal X
+2 set last block equal X
+
+level 2
+
+FLAC__bool FLAC__metadata_chain_write()
+
+1 newsize==oldsize
+ newsize>oldsize
+b no use_padding
+c use_padding, last block is not padding
+g use_padding, last block is padding of insufficient length
+h use_padding, last block is padding, but padding header straddles border (can't do it)
+j use_padding, last block is padding of exact sufficient length (padding totally consumed)
+i use_padding, last block is padding of abundant length (padding is reduced)
+ newsize<oldsize
+a no use_padding
+d use_padding, last block is not padding, delta is < 4
+e use_padding, last block is not padding, delta is >= 4
+f use_padding, last block is padding
+
+void FLAC__metadata_chain_merge_padding(FLAC__MetaData_Chain *chain);
+void FLAC__metadata_chain_sort_padding(FLAC__MetaData_Chain *chain);
+
+S:34 A:1234
+a:shrink A->30 write nopad
+S:34 A:30
+b:grow A->32 write nopad
+S:34 A:32
+c:grow A->40 write pad
+S:34 A:40
+d:shrink A->37 write pad
+S:34 A:37
+e:shrink A->33 write pad
+S:34 A:33 P:0
+f:shrink A->20 write pad
+S:34 A:20 P:13
+g:grow A->40 write pad
+S:34 A:40 P:13
+h:grow A->54 write pad
+S:34 A:54 P:13
+i:grow A->60 write pad
+S:34 A:60 P:7
+j:grow A->71 write pad
+S:34 A:71
+#endif