@@ -1320,6 +1320,49 @@ func Test_script_emty_line_continuation()
13201320 \
13211321endfunc
13221322
1323+ " -------------------------------------------------------------------------------
1324+ " Test 97: bitwise functions {{{1
1325+ " -------------------------------------------------------------------------------
1326+ func Test_bitwise_functions ()
1327+ " and
1328+ call assert_equal (127 , and (127 , 127 ))
1329+ call assert_equal (16 , and (127 , 16 ))
1330+ call assert_equal (0 , and (127 , 128 ))
1331+ call assert_fails (" call and(1.0, 1)" , ' E805:' )
1332+ call assert_fails (" call and([], 1)" , ' E745:' )
1333+ call assert_fails (" call and({}, 1)" , ' E728:' )
1334+ call assert_fails (" call and(1, 1.0)" , ' E805:' )
1335+ call assert_fails (" call and(1, [])" , ' E745:' )
1336+ call assert_fails (" call and(1, {})" , ' E728:' )
1337+ " or
1338+ call assert_equal (23 , or (16 , 7 ))
1339+ call assert_equal (15 , or (8 , 7 ))
1340+ call assert_equal (123 , or (0 , 123 ))
1341+ call assert_fails (" call or(1.0, 1)" , ' E805:' )
1342+ call assert_fails (" call or([], 1)" , ' E745:' )
1343+ call assert_fails (" call or({}, 1)" , ' E728:' )
1344+ call assert_fails (" call or(1, 1.0)" , ' E805:' )
1345+ call assert_fails (" call or(1, [])" , ' E745:' )
1346+ call assert_fails (" call or(1, {})" , ' E728:' )
1347+ " xor
1348+ call assert_equal (0 , xor (127 , 127 ))
1349+ call assert_equal (111 , xor (127 , 16 ))
1350+ call assert_equal (255 , xor (127 , 128 ))
1351+ call assert_fails (" call xor(1.0, 1)" , ' E805:' )
1352+ call assert_fails (" call xor([], 1)" , ' E745:' )
1353+ call assert_fails (" call xor({}, 1)" , ' E728:' )
1354+ call assert_fails (" call xor(1, 1.0)" , ' E805:' )
1355+ call assert_fails (" call xor(1, [])" , ' E745:' )
1356+ call assert_fails (" call xor(1, {})" , ' E728:' )
1357+ " invert
1358+ call assert_equal (65408 , and (invert (127 ), 65535 ))
1359+ call assert_equal (65519 , and (invert (16 ), 65535 ))
1360+ call assert_equal (65407 , and (invert (128 ), 65535 ))
1361+ call assert_fails (" call invert(1.0)" , ' E805:' )
1362+ call assert_fails (" call invert([])" , ' E745:' )
1363+ call assert_fails (" call invert({})" , ' E728:' )
1364+ endfunc
1365+
13231366" -------------------------------------------------------------------------------
13241367" Modelines {{{1
13251368" vim: ts = 8 sw = 4 tw = 80 fdm = marker
0 commit comments