Mercurial > vim
comparison src/testdir/test_expr.vim @ 9894:b01afb4e8f66 v7.4.2221
commit https://github.com/vim/vim/commit/91984b9034d3b698459622be277d963e0c6df60e
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 16 21:58:41 2016 +0200
patch 7.4.2221
Problem: printf() does not support binary format.
Solution: Add %b and %B. (Ozaki Kiichi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 16 Aug 2016 22:00:06 +0200 |
parents | 41c5d59e7e10 |
children | 885e3c9c0e10 |
comparison
equal
deleted
inserted
replaced
9893:0ff00d411567 | 9894:b01afb4e8f66 |
---|---|
161 | 161 |
162 " partial | 162 " partial |
163 call assert_equal(string(function('printf', ['%s'])), printf('%s', function('printf', ['%s']))) | 163 call assert_equal(string(function('printf', ['%s'])), printf('%s', function('printf', ['%s']))) |
164 endfunc | 164 endfunc |
165 | 165 |
166 function Test_printf_spec_b() | |
167 call assert_equal("0", printf('%b', 0)) | |
168 call assert_equal("00001100", printf('%08b', 12)) | |
169 call assert_equal("11111111", printf('%08b', 0xff)) | |
170 call assert_equal(" 1111011", printf('%10b', 123)) | |
171 call assert_equal("0001111011", printf('%010b', 123)) | |
172 call assert_equal(" 0b1111011", printf('%#10b', 123)) | |
173 call assert_equal("0B01111011", printf('%#010B', 123)) | |
174 call assert_equal("1001001100101100000001011010010", printf('%b', 1234567890)) | |
175 if has('num64') | |
176 call assert_equal("11100000100100010000110000011011101111101111001", printf('%b', 123456789012345)) | |
177 call assert_equal("1111111111111111111111111111111111111111111111111111111111111111", printf('%b', -1)) | |
178 else | |
179 call assert_equal("11111111111111111111111111111111", printf('%b', -1)) | |
180 endif | |
181 endfunc | |
182 | |
166 func Test_substitute_expr() | 183 func Test_substitute_expr() |
167 let g:val = 'XXX' | 184 let g:val = 'XXX' |
168 call assert_equal('XXX', substitute('yyy', 'y*', '\=g:val', '')) | 185 call assert_equal('XXX', substitute('yyy', 'y*', '\=g:val', '')) |
169 call assert_equal('XXX', substitute('yyy', 'y*', {-> g:val}, '')) | 186 call assert_equal('XXX', substitute('yyy', 'y*', {-> g:val}, '')) |
170 call assert_equal("-\u1b \uf2-", substitute("-%1b %f2-", '%\(\x\x\)', | 187 call assert_equal("-\u1b \uf2-", substitute("-%1b %f2-", '%\(\x\x\)', |