Commit graph

430 commits

Author SHA1 Message Date
Michael "Z" Goddard
8d91e3cbd7
test stopThisScript in procedures
- Test that stopThisScript in a procedure stays in the procedure and
  moves it to the end where Sequencer can pop it normally
2019-06-25 14:38:46 -04:00
Michael "Z" Goddard
832cfda56b
unit test more stepToBranch scenarios 2019-06-03 18:13:41 -04:00
Michael "Z" Goddard
e1254bd8c7
elevate stack block id and frame info into thread
- Add pointer member to thread. This is the current executing block.
- Add stackFrame member to thread. This is the current frame
  information like procedure parameters.

This is a step potentially towards stack-less threads. With further
modifications we could have stack and stackFrames be null if a script
does not call a procedure.
2019-06-03 18:13:01 -04:00
Eric Rosenbaum
2b32b265a1
Merge pull request #2071 from ericrosenbaum/bugfix/stub-timer-for-test
Stub timer to fix flaky test
2019-04-18 11:29:36 -04:00
picklesrus
d182659a57
Merge pull request #2065 from picklesrus/duplicate-sprites
Fix #4573 by using an existing utitlity that re-ids blocks when we du…
2019-04-10 09:05:53 -04:00
Christopher Willis-Ford
0162bfc71e Test the info field in converted extension data
There are parts of the extension registration process which rely on the
`info` field being non-null, even for block separators. At one point
during development I broke that, so here's a test to hopefully prevent
someone else from getting bitten by the same thing.
2019-04-03 11:02:56 -07:00
Christopher Willis-Ford
9eef05a7c5 Use new Scratch-specific callback keys for extension buttons 2019-04-02 22:47:26 -07:00
Christopher Willis-Ford
254edd48d5 Add unit test for extension button 2019-04-01 18:09:09 -07:00
Katie Broida
445ee46984
Merge pull request #1943 from ktbee/clock-timer-compat-fix
Start executing hats before other threads change values
2019-03-29 13:01:28 -04:00
Katie Broida
2a60391fb4 Make Scratch 3 project timer more compatible with Scratch 2 currentMSecs usage
These compatibility changes:
 - Use runtime.currentMSecs for the Clock timer "now" value
 - Start executing hats before other threads change values
 - Update test and fixtures to work with earlier hat execution
 - Add test for hat execution block order
2019-03-29 11:43:37 -04:00
Karishma Chadha
e89f5d0361
Merge pull request #2060 from kchadha/load-core-extension
Load core extensions synchronously
2019-03-28 14:05:16 -04:00
Karishma Chadha
eccdeff2ce Use async require with coreExample extension. Log a warning when attempting to load a non-built in extension synchronously. Simplify unit test. 2019-03-26 12:03:00 -04:00
Eric Rosenbaum
d49c7b732c stub timer to fix flaky test 2019-03-26 11:56:50 -04:00
picklesrus
45ef63a648 Remove unused import. 2019-03-25 11:35:06 -04:00
picklesrus
2cf1d21b09 Fix #4573 by using an existing utitlity that re-ids blocks when we duplicate a sprite. 2019-03-25 10:18:00 -04:00
Karishma Chadha
30c9b7fd84 Add tests and update core example to handle stage being undefined. 2019-03-22 12:20:07 -04:00
Eric Rosenbaum
7f69e0ce3f
Merge pull request #2046 from ericrosenbaum/feature/tts-add-single-language-voices2
Add eight new languages to Text to Speech extension
2019-03-14 16:42:07 -04:00
Paul Kaplan
8d4be4eec5
Merge pull request #2045 from paulkaplan/fix-adding-custom-input
Allow for situation where we get a move event to attach a shadow.
2019-03-13 17:04:15 -04:00
Katie Broida
92c1711937 add clampEffect for limiting range of brightness and ghost effects 2019-03-12 11:14:11 -04:00
Eric Rosenbaum
a968dadb7a Use opcode function in test 2019-03-12 10:54:30 -04:00
Paul Kaplan
2b53b8b647 Allow for situation where we get a move event to attach a shadow.
This happens after adding a custom procedure input to an existing custom procedure call block.
2019-03-11 14:52:40 -04:00
Eric Rosenbaum
423622daaa Add unit tests 2019-03-07 16:33:20 -05:00
Christopher Willis-Ford
e6dd3f1175 Fix TaskQueue constructor when no options passed 2019-02-15 15:20:38 -08:00
Christopher Willis-Ford
be040f4c9b TaskQueue: Add option for max total cost 2019-02-12 18:57:58 -08:00
Christopher Willis-Ford
2a9a3b11b9 TaskQueue: support canceling a single task 2019-02-12 18:11:13 -08:00
Christopher Willis-Ford
d27dc5d54a TaskQueue: reduce number of async steps before task runs 2019-02-11 12:46:48 -08:00
Christopher Willis-Ford
5a17bb1451 Add clearTimeout to Timer and MockTimer 2019-02-11 12:14:44 -08:00
Christopher Willis-Ford
46a1ae83a0 Use MockTimer for TaskQueue tests 2019-02-07 16:35:33 -08:00
Christopher Willis-Ford
7f80fe17b3 Build a mock Timer class and add tests for it 2019-02-07 16:35:32 -08:00
Karishma Chadha
c761a9c82e Fix issue where non-strings were getting passed in to escape functions for handling special characters that can appear in xml. Add tests. 2019-02-07 11:58:10 -05:00
Paul Kaplan
765f2b2549
Merge pull request #1983 from picklesrus/broadcast-msg-chars
Broadcast msg chars
2019-02-07 08:32:55 -05:00
Paul Kaplan
6deab79903
Merge pull request #1979 from paulkaplan/share-blocks-new-ids
Add a utility for giving blocks new IDs, use it for sharing blocks.
2019-02-07 08:31:25 -05:00
Karishma Chadha
166e5f1dbc
Update test/unit/util_new-block-ids.js
Co-Authored-By: paulkaplan <pkaplan@media.mit.edu>
2019-02-07 08:30:38 -05:00
picklesrus
b904f19c1d Fix loading broadcast messages with special characters for projects that were converted from 2.0. 2019-02-06 16:58:46 -05:00
Paul Kaplan
b70cf39203 Update VM tests to handle shared block having new ID 2019-02-06 10:35:03 -05:00
Paul Kaplan
31fbcfa4d7 Add a utility for giving blocks new IDs, use it for sharing blocks. 2019-02-06 10:16:22 -05:00
Karishma Chadha
4e924bf4b5
Merge pull request #1973 from kchadha/fix-variable-characters
Fix variable characters
2019-02-05 17:01:43 -05:00
Karishma Chadha
c796a8b1cc
Merge pull request #1962 from LLK/project-dirty-state-fixes
Project dirty state fixes
2019-02-05 16:38:30 -05:00
Karishma Chadha
cd8de5f156 Add tests! =] 2019-02-04 19:05:44 -05:00
Karishma Chadha
166bc37f6f
Merge pull request #1945 from yokobond/fix-message-variable-name-destruction
Escape variable name in XML
2019-02-04 10:10:13 -05:00
Karishma Chadha
b2f63cdbb4 Add tests for project state changes emitted by editing blocks. 2019-01-30 10:59:25 -05:00
Karishma Chadha
ee936e3d36 Fix tests for reordering costumes and sounds. 2019-01-30 10:59:25 -05:00
Karishma Chadha
df823a06f6 Add tests for project changed state. 2019-01-30 10:59:25 -05:00
Karishma Chadha
e0b0d35b46 Add references to runtime to constructor calls for Sprite, Target, and RenderedTarget so blocks get created properly. 2019-01-29 15:30:45 -05:00
Karishma Chadha
7ac8721aa5 Add references to runtime to existing calls to Blocks constructor in tests. 2019-01-28 19:30:42 -05:00
yokobond
8eee92d41a Escape variable name in XML 2019-01-25 10:31:33 +09:00
Karishma Chadha
0fa5e9181a
Merge pull request #1839 from mzgoddard/fix-missing-no-param
fix: initialize stack frame params for all procedures
2019-01-16 14:06:38 -05:00
Karishma Chadha
59a865ef47 Create a new addTarget function on the runtime which populates the targets list as well as the executable targets list. 2019-01-14 11:48:11 -05:00
Karishma Chadha
fbee37e915 Populate executable targets when runtime.targets is populated so that scripts don't run before they are supposed to (e.g. before targets are done getting installed). 2019-01-11 14:52:34 -05:00
Karishma Chadha
85843e5d6f Fix cloud variable limit 2019-01-07 11:12:47 -05:00