diff options
| author | Li Jin <dragon-fly@qq.com> | 2023-11-09 18:30:16 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2023-11-09 18:30:16 +0800 |
| commit | 0ca14d8e6c37f5d1360178034851f36c636a7a43 (patch) | |
| tree | 415c0b6083054fe837d0afb458bdd62dac778b84 /spec | |
| parent | 5ad0f4daa8171460dc71332669c365bb8e07dab0 (diff) | |
| download | yuescript-0.20.5.tar.gz yuescript-0.20.5.tar.bz2 yuescript-0.20.5.zip | |
fix a missing case for condition chaining.v0.20.5
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/inputs/cond.yue | 2 | ||||
| -rw-r--r-- | spec/outputs/cond.lua | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/spec/inputs/cond.yue b/spec/inputs/cond.yue index f5f42a8..5bc6c9b 100644 --- a/spec/inputs/cond.yue +++ b/spec/inputs/cond.yue | |||
| @@ -247,6 +247,7 @@ do | |||
| 247 | a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) | 247 | a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) |
| 248 | a = v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or x and y | 248 | a = v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or x and y |
| 249 | a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or w and z | 249 | a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or w and z |
| 250 | a = 1 < 2 == v1 > 3 | ||
| 250 | 251 | ||
| 251 | local v1, v2, v3, v4, v5, v6 | 252 | local v1, v2, v3, v4, v5, v6 |
| 252 | a = v1 < v2 < v3 < v4 | 253 | a = v1 < v2 < v3 < v4 |
| @@ -258,6 +259,7 @@ do | |||
| 258 | a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 | 259 | a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 |
| 259 | a = v1 < v2 < v3 and b < v4 < v5 < v6 or x and y | 260 | a = v1 < v2 < v3 and b < v4 < v5 < v6 or x and y |
| 260 | a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 or w and z | 261 | a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 or w and z |
| 262 | a = 1 < 2 == v1 > 3 | ||
| 261 | 263 | ||
| 262 | nil | 264 | nil |
| 263 | 265 | ||
diff --git a/spec/outputs/cond.lua b/spec/outputs/cond.lua index d7aae02..acbf644 100644 --- a/spec/outputs/cond.lua +++ b/spec/outputs/cond.lua | |||
| @@ -503,6 +503,16 @@ do | |||
| 503 | end | 503 | end |
| 504 | end | 504 | end |
| 505 | end)() or w and z | 505 | end)() or w and z |
| 506 | if not (1 < 2) then | ||
| 507 | a = false | ||
| 508 | else | ||
| 509 | local _cond_0 = v1 | ||
| 510 | if not (2 == _cond_0) then | ||
| 511 | a = false | ||
| 512 | else | ||
| 513 | a = _cond_0 > 3 | ||
| 514 | end | ||
| 515 | end | ||
| 506 | local v1, v2, v3, v4, v5, v6 | 516 | local v1, v2, v3, v4, v5, v6 |
| 507 | a = v1 < v2 and v2 < v3 and v3 < v4 | 517 | a = v1 < v2 and v2 < v3 and v3 < v4 |
| 508 | a = x and y or v1 < v2 and v2 < v3 and v3 < v4 | 518 | a = x and y or v1 < v2 and v2 < v3 and v3 < v4 |
| @@ -512,5 +522,6 @@ do | |||
| 512 | a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 | 522 | a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 |
| 513 | a = v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or x and y | 523 | a = v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or x and y |
| 514 | a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or w and z | 524 | a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or w and z |
| 525 | a = 1 < 2 and 2 == v1 and v1 > 3 | ||
| 515 | end | 526 | end |
| 516 | return nil | 527 | return nil |
