Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 28570:35e24d9de858 v8.2.4809
patch 8.2.4809: various things no6 properly tested
Commit: https://github.com/vim/vim/commit/885de449c0c0ef4a8541ed1f5377351844384516
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Apr 23 10:51:14 2022 +0100
patch 8.2.4809: various things no6 properly tested
Problem: Various things no6 properly tested.
Solution: Add various test cases. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/10259)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 23 Apr 2022 12:00:06 +0200 |
parents | 373c70e3c542 |
children | 38f7a132bba3 |
comparison
equal
deleted
inserted
replaced
28569:ec72a310d1b7 | 28570:35e24d9de858 |
---|---|
1271 def Test_float_funcs_args() | 1271 def Test_float_funcs_args() |
1272 CheckFeature float | 1272 CheckFeature float |
1273 | 1273 |
1274 # acos() | 1274 # acos() |
1275 v9.CheckDefAndScriptFailure(['acos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1275 v9.CheckDefAndScriptFailure(['acos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1276 assert_equal('1.570796', string(acos(0.0))) | |
1276 # asin() | 1277 # asin() |
1277 v9.CheckDefAndScriptFailure(['asin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1278 v9.CheckDefAndScriptFailure(['asin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1279 assert_equal('0.0', string(asin(0.0))) | |
1278 # atan() | 1280 # atan() |
1279 v9.CheckDefAndScriptFailure(['atan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1281 v9.CheckDefAndScriptFailure(['atan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1282 assert_equal('0.0', string(atan(0.0))) | |
1280 # atan2() | 1283 # atan2() |
1281 v9.CheckDefAndScriptFailure(['atan2("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1284 v9.CheckDefAndScriptFailure(['atan2("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1285 assert_equal('-2.356194', string(atan2(-1, -1))) | |
1282 v9.CheckDefAndScriptFailure(['atan2(1.2, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1286 v9.CheckDefAndScriptFailure(['atan2(1.2, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1283 v9.CheckDefAndScriptFailure(['atan2(1.2)'], ['E119:', 'E119:']) | 1287 v9.CheckDefAndScriptFailure(['atan2(1.2)'], ['E119:', 'E119:']) |
1284 # ceil() | 1288 # ceil() |
1285 v9.CheckDefAndScriptFailure(['ceil("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1289 v9.CheckDefAndScriptFailure(['ceil("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1290 assert_equal('2.0', string(ceil(2.0))) | |
1286 # cos() | 1291 # cos() |
1287 v9.CheckDefAndScriptFailure(['cos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1292 v9.CheckDefAndScriptFailure(['cos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1293 assert_equal('1.0', string(cos(0.0))) | |
1288 # cosh() | 1294 # cosh() |
1289 v9.CheckDefAndScriptFailure(['cosh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1295 v9.CheckDefAndScriptFailure(['cosh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1296 assert_equal('1.0', string(cosh(0.0))) | |
1290 # exp() | 1297 # exp() |
1291 v9.CheckDefAndScriptFailure(['exp("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1298 v9.CheckDefAndScriptFailure(['exp("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1299 assert_equal('1.0', string(exp(0.0))) | |
1292 # float2nr() | 1300 # float2nr() |
1293 v9.CheckDefAndScriptFailure(['float2nr("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1301 v9.CheckDefAndScriptFailure(['float2nr("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1302 assert_equal(1, float2nr(1.234)) | |
1294 # floor() | 1303 # floor() |
1295 v9.CheckDefAndScriptFailure(['floor("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1304 v9.CheckDefAndScriptFailure(['floor("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1305 assert_equal('2.0', string(floor(2.0))) | |
1296 # fmod() | 1306 # fmod() |
1297 v9.CheckDefAndScriptFailure(['fmod(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1307 v9.CheckDefAndScriptFailure(['fmod(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1298 v9.CheckDefAndScriptFailure(['fmod("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1308 v9.CheckDefAndScriptFailure(['fmod("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1299 v9.CheckDefAndScriptFailure(['fmod(1.1)'], ['E119:', 'E119:']) | 1309 v9.CheckDefAndScriptFailure(['fmod(1.1)'], ['E119:', 'E119:']) |
1310 assert_equal('0.13', string(fmod(12.33, 1.22))) | |
1300 # isinf() | 1311 # isinf() |
1301 v9.CheckDefAndScriptFailure(['isinf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1312 v9.CheckDefAndScriptFailure(['isinf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1313 assert_equal(1, isinf(1.0 / 0.0)) | |
1302 # isnan() | 1314 # isnan() |
1303 v9.CheckDefAndScriptFailure(['isnan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1315 v9.CheckDefAndScriptFailure(['isnan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1316 assert_true(isnan(0.0 / 0.0)) | |
1304 # log() | 1317 # log() |
1305 v9.CheckDefAndScriptFailure(['log("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1318 v9.CheckDefAndScriptFailure(['log("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1319 assert_equal('0.0', string(log(1.0))) | |
1306 # log10() | 1320 # log10() |
1307 v9.CheckDefAndScriptFailure(['log10("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1321 v9.CheckDefAndScriptFailure(['log10("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1322 assert_equal('0.0', string(log10(1.0))) | |
1308 # pow() | 1323 # pow() |
1309 v9.CheckDefAndScriptFailure(['pow("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1324 v9.CheckDefAndScriptFailure(['pow("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1310 v9.CheckDefAndScriptFailure(['pow(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1325 v9.CheckDefAndScriptFailure(['pow(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1311 v9.CheckDefAndScriptFailure(['pow(1.1)'], ['E119:', 'E119:']) | 1326 v9.CheckDefAndScriptFailure(['pow(1.1)'], ['E119:', 'E119:']) |
1327 assert_equal('1.0', string(pow(0.0, 0.0))) | |
1312 # round() | 1328 # round() |
1313 v9.CheckDefAndScriptFailure(['round("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1329 v9.CheckDefAndScriptFailure(['round("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1330 assert_equal('2.0', string(round(2.1))) | |
1314 # sin() | 1331 # sin() |
1315 v9.CheckDefAndScriptFailure(['sin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1332 v9.CheckDefAndScriptFailure(['sin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1333 assert_equal('0.0', string(sin(0.0))) | |
1316 # sinh() | 1334 # sinh() |
1317 v9.CheckDefAndScriptFailure(['sinh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1335 v9.CheckDefAndScriptFailure(['sinh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1336 assert_equal('0.0', string(sinh(0.0))) | |
1318 # sqrt() | 1337 # sqrt() |
1319 v9.CheckDefAndScriptFailure(['sqrt("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1338 v9.CheckDefAndScriptFailure(['sqrt("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1339 assert_equal('0.0', string(sqrt(0.0))) | |
1320 # tan() | 1340 # tan() |
1321 v9.CheckDefAndScriptFailure(['tan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1341 v9.CheckDefAndScriptFailure(['tan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1342 assert_equal('0.0', string(tan(0.0))) | |
1322 # tanh() | 1343 # tanh() |
1323 v9.CheckDefAndScriptFailure(['tanh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1344 v9.CheckDefAndScriptFailure(['tanh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1345 assert_equal('0.0', string(tanh(0.0))) | |
1324 # trunc() | 1346 # trunc() |
1325 v9.CheckDefAndScriptFailure(['trunc("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1347 v9.CheckDefAndScriptFailure(['trunc("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1348 assert_equal('2.0', string(trunc(2.1))) | |
1326 enddef | 1349 enddef |
1327 | 1350 |
1328 def Test_fnameescape() | 1351 def Test_fnameescape() |
1329 v9.CheckDefAndScriptFailure(['fnameescape(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1352 v9.CheckDefAndScriptFailure(['fnameescape(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1330 assert_equal('\+a\%b\|', fnameescape('+a%b|')) | 1353 assert_equal('\+a\%b\|', fnameescape('+a%b|')) |