USING: base64 io.encodings.binary io.streams.byte-array kernel sequences tinyvg tools.test ; { { 0x00 0x40 0x80 0x100000 0x80000000 } } [ { B{ 0x00 } B{ 0x40 } B{ 0x80 0x01 } B{ 0x80 0x80 0x40 } B{ 0x80 0x80 0x80 0x80 0x08 } ! B{ 0x80 0x80 0x80 0x80 0x10 } ! out-of-range ! B{ 0x80 0x80 0x80 0x80 0x80 0x10 } ! too-long } [ binary [ read-varuint ] with-byte-reader ] map ] unit-test { t } [ ! tinvyg-examples/files/everything.tvg "clYBBZABAAMG56kV//94AP9A/wD/ugBN/2IAnv+U5Tj/AgIAIAMgA4AM4AEgA6AFgAzgASADIAiA DOABCQIAA1AAIAMgDYAM4AEgA6APgAzgASADIBKADOABBAMAUAAgAyAXoA9gGCADYBigD6AZIAOg GaAP4BogA+AaoA8gHAUEAFAAIANAH6APgCBgBMAhoA8AIyADQCQGBABQACADYCegD6AoYATgKaAP ICsgA2AsAQQAIAOAL6APwDBgBAAyoA9AMyADgDQIBAADUAAgA6A3oA/gOGAEIDqgD2A7IAOgPAcA AHAACCADwD8RcABgBBJwAABBEXAAoAUQMACgD8A/E1AAgAxAQmAOAEaADABGF5AAYAkARmAJ4EIV UAACYARABjAAQAYgRBQwAADAASAD4EIWcAADAAAIIAMgSQFgBAJgSgGgBQCgDyBJA4AMoEtgDmBP gAxgTwdgCWBPYAlATAUCYARABjAAQAaATQQAwAEgA0BMBgoAAANQAAggA4BSAWAEAsBTAaAFAKAP gFIDgAwAVWAOwFiADMBYB2AJwFhgCaBVBQJgBEAGMABABuBWBADAASADoFUGQgLAEiADQB9gCQEC wBIgA4AM4AHAEqAFgAzgAcASIAiADOABSQLAEiANQB9gEwECA1AAwBIgDYAM4AHAEqAPgAzgAcAS IBKADOABRAPAEiAXQB9gHQECUADAEiAXQB9gGMASYBhAH6AZwBKgGUAf4BrAEuAaQB8gHEUEwBJA H0AfgCUBAlAAwBJAH0AfgCAAFMAhQB8AI8ASQCRGBMASYCdAH6AtAQJQAMASYCdAH6AoABTgKUAf ICvAEmAsQQTAEoAvQB/ANQECwBKAL0AfwDAAFAAyQB9AM8ASgDRIBMASoDdAH+A9AQIDUADAEqA3 QB/gOAAUIDpAH2A7wBKgPEcAwBLAP0AfAEYBAnAACMASwD8RcAAAFBJwAABBEXAAQBUQMABAH8A/ E1AAIBxAQgAeAEYgHABGF5AAABkARgAZ4EIVUAACYARABjAA4BUgRBQwAADAAcAS4EIWcABDAMAS IElAH2BPAQIIwBIgSQEAFAJgSgFAFQBAHyBJAyAcoEsAHmBPIBxgTwcAGWBPABlATAUCYARABjAA 4BWATQQAwAHAEkBMBkoAwBKAUkAfwFgBAgNQAAjAEoBSAQAUAsBTAUAVAEAfgFIDIBwAVQAewFgg HMBYBwAZwFgAGaBVBQJgBEAGMADgFeBWBADAAcASoFUGggKgKEAG4C5gCQECYCIgA4AM4AFgIqAF gAzgAWAiIAiADOABiQKgKEAQ4C5gEwECA1AAYCIgDYAM4AFgIqAPgAzgAWAiIBKADOABhAOgKEAa 4C5gHQECUABgIiAX4C5gGGAiYBjgLqAZYCKgGeAu4BpgIuAa4C4gHIUEoChgIuAugCUBAlAAYCJA H+AugCCgI8Ah4C4AI2AiQCSGBKAogCrgLqAtAQJQAGAiYCfgLqAooCPgKeAuICtgImAsgQSgKKAy 4C7ANQECYCKAL+AuwDCgIwAy4C5AM2AigDSIBKAowDrgLuA9AQIDUABgIqA34C7gOKAjIDrgLmA7 YCKgPIcAoCjgQuAuAEYBAnAACGAiwD8RcACgIxJwAABBEXAA4CQQMADgLsA/E1AAwCtAQqAtAEbA KwBGF5AAoCgARqAo4EIVUAACYARABjAAgCUgRBQwAADAAWAi4EIWcACDAKAoQEzgLmBPAQIIYCIg SQGgIwJgSgHgJADgLiBJA8AroEugLWBPwCtgTwegKGBPoChATAUCYARABjAAgCWATQQAwAFgIkBM BooAoCigVeAuwFgBAgNQAAhgIoBSAaAjAsBTAeAkAOAugFIDwCsAVaAtwFjAK8BYB6AowFigKKBV BQJgBEAGMACAJeBWBADAAWAioFUGAA==" base64> [ bytes>tinyvg tinyvg>bytes ] keep = ] unit-test