diff options
| author | Li Jin <dragon-fly@qq.com> | 2022-03-14 13:46:17 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2022-03-14 13:46:17 +0800 |
| commit | 0055f2fdb169788a7796821d20c7fba2230ea9ae (patch) | |
| tree | 24ecbf48a03e2d4690a51d66e087f4585d196754 /spec | |
| parent | 985761356280bf8625a6568dd83822aae83edc8f (diff) | |
| download | yuescript-0055f2fdb169788a7796821d20c7fba2230ea9ae.tar.gz yuescript-0055f2fdb169788a7796821d20c7fba2230ea9ae.tar.bz2 yuescript-0055f2fdb169788a7796821d20c7fba2230ea9ae.zip | |
fix more cases that global values are not being cached.
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/inputs/cond.yue | 11 | ||||
| -rw-r--r-- | spec/inputs/with.yue | 13 | ||||
| -rw-r--r-- | spec/outputs/cond.lua | 22 | ||||
| -rw-r--r-- | spec/outputs/with.lua | 37 |
4 files changed, 79 insertions, 4 deletions
diff --git a/spec/inputs/cond.yue b/spec/inputs/cond.yue index 42b22a7..773ef91 100644 --- a/spec/inputs/cond.yue +++ b/spec/inputs/cond.yue | |||
| @@ -208,6 +208,17 @@ do | |||
| 208 | if :pi = math | 208 | if :pi = math |
| 209 | print pi | 209 | print pi |
| 210 | 210 | ||
| 211 | do | ||
| 212 | if _M = {} | ||
| 213 | :Thing = _M | ||
| 214 | :a, :b = _M | ||
| 215 | |||
| 216 | do | ||
| 217 | global _M | ||
| 218 | if _M = {} | ||
| 219 | :Thing = _M | ||
| 220 | :a, :b = _M | ||
| 221 | |||
| 211 | nil | 222 | nil |
| 212 | 223 | ||
| 213 | 224 | ||
diff --git a/spec/inputs/with.yue b/spec/inputs/with.yue index d88e109..fe140ac 100644 --- a/spec/inputs/with.yue +++ b/spec/inputs/with.yue | |||
| @@ -121,3 +121,16 @@ do | |||
| 121 | with dad | 121 | with dad |
| 122 | .if "yes" | 122 | .if "yes" |
| 123 | y = .end.of.function | 123 | y = .end.of.function |
| 124 | |||
| 125 | do | ||
| 126 | global mask | ||
| 127 | with? mask = SolidRect width: w, height: h, color: 0x66000000 | ||
| 128 | .touchEnabled = true | ||
| 129 | .swallowTouches = true | ||
| 130 | |||
| 131 | do | ||
| 132 | with? mask = SolidRect width: w, height: h, color: 0x66000000 | ||
| 133 | .touchEnabled = true | ||
| 134 | .swallowTouches = true | ||
| 135 | |||
| 136 | nil | ||
diff --git a/spec/outputs/cond.lua b/spec/outputs/cond.lua index 4dc5aa5..178bf9b 100644 --- a/spec/outputs/cond.lua +++ b/spec/outputs/cond.lua | |||
| @@ -313,4 +313,26 @@ do | |||
| 313 | print(pi) | 313 | print(pi) |
| 314 | end | 314 | end |
| 315 | end | 315 | end |
| 316 | do | ||
| 317 | do | ||
| 318 | local _M = { } | ||
| 319 | if _M then | ||
| 320 | local Thing = _M.Thing | ||
| 321 | a, b = _M.a, _M.b | ||
| 322 | end | ||
| 323 | end | ||
| 324 | end | ||
| 325 | do | ||
| 326 | do | ||
| 327 | local _des_0 = { } | ||
| 328 | if _des_0 then | ||
| 329 | _M = _des_0 | ||
| 330 | local Thing = _M.Thing | ||
| 331 | do | ||
| 332 | local _obj_0 = _M | ||
| 333 | a, b = _obj_0.a, _obj_0.b | ||
| 334 | end | ||
| 335 | end | ||
| 336 | end | ||
| 337 | end | ||
| 316 | return nil | 338 | return nil |
diff --git a/spec/outputs/with.lua b/spec/outputs/with.lua index e1497c6..f172b01 100644 --- a/spec/outputs/with.lua +++ b/spec/outputs/with.lua | |||
| @@ -157,8 +157,37 @@ do | |||
| 157 | end | 157 | end |
| 158 | end | 158 | end |
| 159 | do | 159 | do |
| 160 | local _with_0 = dad | 160 | do |
| 161 | _with_0["if"]("yes") | 161 | local _with_0 = dad |
| 162 | local y = _with_0["end"].of["function"] | 162 | _with_0["if"]("yes") |
| 163 | return _with_0 | 163 | local y = _with_0["end"].of["function"] |
| 164 | end | ||
| 165 | end | ||
| 166 | do | ||
| 167 | do | ||
| 168 | local _with_0 = SolidRect({ | ||
| 169 | width = w, | ||
| 170 | height = h, | ||
| 171 | color = 0x66000000 | ||
| 172 | }) | ||
| 173 | mask = _with_0 | ||
| 174 | if _with_0 ~= nil then | ||
| 175 | _with_0.touchEnabled = true | ||
| 176 | _with_0.swallowTouches = true | ||
| 177 | end | ||
| 178 | end | ||
| 179 | end | ||
| 180 | do | ||
| 181 | do | ||
| 182 | local mask = SolidRect({ | ||
| 183 | width = w, | ||
| 184 | height = h, | ||
| 185 | color = 0x66000000 | ||
| 186 | }) | ||
| 187 | if mask ~= nil then | ||
| 188 | mask.touchEnabled = true | ||
| 189 | mask.swallowTouches = true | ||
| 190 | end | ||
| 191 | end | ||
| 164 | end | 192 | end |
| 193 | return nil | ||
