Commit Graph
317 Commits
Author SHA1 Message Date
Paul Kaplan 6d4c6df692 Add UserData ioDevice for setting and getting username from blocks 2018-07-23 09:38:58 -04:00
Karishma Chadha 99c1ce9286 Fix variable conflict that arises during sprite upload where the sprite may reference a global variable that conflicts with the name of a local variable on a different sprite in the project. 2018-07-17 15:37:28 -04:00
Karishma Chadha 2b2fc2e561 Code cleanup, refactor, abstraction 2018-07-13 12:58:45 -04:00
Karishma Chadha 13df3e7bd6 Add unit tests and fix object shallow vs. deep copying bug. 2018-07-13 09:36:43 -04:00
Paul Kaplan 2c7de6380e Add implementation for "When loudness >" block 2018-07-05 09:42:00 -04:00
Ray Schamp 4525139d59 Merge pull request #1212 from mzgoddard/unwrapped
execute optimization by unwrapping recursion
2018-07-02 11:20:01 -04:00
Paul Kaplan 9f517bd483 Deal with comments attached to undefined blocks
Also fix an issue where you couldn't save/load projects that had multiple comments linked to a single block.
2018-06-26 16:41:10 -04:00
Paul Kaplan e7e300caeb Skip unknown opcode blocks while parsing 2018-06-26 15:58:43 -04:00
kchadha d187517d85 Merge pull request #1256 from kchadha/sprite-save-load
Sprite save load
2018-06-25 11:21:01 -04:00
Karishma Chadha f06b8a3943 Clean up calls to fixUpVariableReferences 2018-06-25 09:11:48 -04:00
Ray Schamp 9afe401dca Revert "Revert #1260, #1258, #1239"
This reverts commit 28f90648b0.
2018-06-22 09:33:08 -04:00
Ray Schamp 28f90648b0 Revert #1260, #1258, #1239
This reverts commits
c268bbae47
61dacfc915
30b8cb8eb1
2018-06-22 09:30:17 -04:00
Corey Frang c087cf326a soundbank tests 2018-06-21 17:00:03 -04:00
Karishma Chadha 889443fcef fixUpVariableReferences should handle conflicting local variables that don't have blocks referencing them. Add unit tests for the function. 2018-06-20 12:07:42 -04:00
Karishma Chadha 073bb37c30 Add a test for 'getAllVariableAndListReferences' function. 2018-06-20 10:32:36 -04:00
Paul Kaplan 6e2af4f3cc Merge pull request #1244 from paulkaplan/sharing-apis
Add shareSound and shareCostume APIs with unit tests to the VM
2018-06-19 11:31:00 -04:00
Evelyn Eastmond d09c3f0418 MicroBit extension, Scratch Link first draft. (#1230)
* First microbit gui tests

* Fixed JSONRPC inheritance.  Renamed ScratchBLE/ScratchBT files.  Removed ScratchBT test code from Microbit extension.  Renamed addLine to log.

* Fixed log comments.  Removed addLine from Microbit.

* Adding auto-connect to Microbit at extension loading.  Adding hack for displayText block to Scratch-Link.

* Resolved merge conflicts and brought in latest microbit extension example code.

* Updated microbit write tests for displayText and displaySymbol blocks.  Some linting.

* Some linting and adding of BLE Characteristic consts.

* Linting fixes.

* Moving micro:bit device connection code all to the MicroBit class, decoupling Scratch3MicroBitBlocks from connection code.

* Removing old disconenct handlers from MicroBit class.  Moved service into new BLEUUID data structure.

* Renamed _write to _send.  Moved all BLE encoding concerns to the _send method.

* Using the util log.  Some linting.

* Added _read method to MicroBit class.  Renamed _send to _write.

* Some linting and formatting comments.

* First pass at peripheral chooser pattern for ScratchBLE.

* Testing characteristicDidChange events, and some changes to ScratchBLE on ready events.

* Refactoring work on PeripheralChooser and ScratchBLE.

* Some variable renaming and method signature stubs.

* Peripheral chooser method signatures.

* Moved base64 encoding/decoding to util.  Some method signature formatting.

* Adding test stubs for new util and io classes.

* Adding test stub for MicroBit extension.

* Clean up for PR.

* Clean up for PR.

* Final cleanup for PR.

* Removed logging to console.

* Adding 'btoa' and 'atob' node modules and using them in Base64Util.
2018-06-18 14:56:51 -04:00
Paul Kaplan 1dcd174dea Add shareSound and shareCostume APIs with unit tests to the VM 2018-06-18 10:39:22 -04:00
kchadha da30abbfb5 Merge pull request #1240 from kchadha/block-comment-disappearing-bugfix
Add comment id to block when converting from XML to vm representation.
2018-06-15 17:36:48 -04:00
Karishma Chadha f3d49f75c8 Clean up comment serialization, add tests for new and old serialization (old is still valid, just more verbose). 2018-06-15 14:57:49 -04:00
Karishma Chadha 76b423e481 Make sure to set comment property of block when creating a new block via XML using the adapter. Update unit tests. 2018-06-15 13:58:03 -04:00
Karishma Chadha 861d801d88 Add tests for comment save and load. 2018-06-14 16:58:03 -04:00
Paul Kaplan bd80e4262d Merge pull request #1231 from paulkaplan/reorder-tarrgets
Add top-level `reorderTarget` API to VM
2018-06-13 11:07:52 -04:00
kchadha 3308a7c6a2 Merge pull request #1229 from kchadha/imported-comment-positioning-fix
Update position for comments imported from 2.0 projects after auto-positioning.
2018-06-13 09:51:45 -04:00
Paul Kaplan 0ec0ea6ef7 Add reorderTarget API to VM 2018-06-13 09:20:22 -04:00
Florrie c24e34d4e3 Remove unused getCostumeName function 2018-06-12 19:32:29 -03:00
Karishma Chadha 240701d65a Add some tests for comments... 2018-06-12 18:29:43 -04:00
Michael "Z" Goddard 05291aa254 turn reporter tree into instruction sequence
Turn the reporter tree execute walks into a sequence of block
functions. After calling a block function store the reported value in
the arguments object its depending block will use.

- Set the reported value on the thread. There is only ever one "just"
  reported value, which is read and stored elsewhere after being
  reported.
2018-06-12 14:21:40 -04:00
Florrie 93d6b23772 Test for getCostumeName 2018-06-09 21:52:46 -03:00
Paul Kaplan 0cd50fbb2c Propagate the return value of reorder functions, update comments 2018-06-06 11:13:30 -04:00
Paul Kaplan 837703d4ac Make reorder functions return if a change occurred.
Gotta get that testing coverage percent up :)
2018-06-06 09:43:54 -04:00
Paul Kaplan e6ebc33e9e Add sound and costume reordering methods and tests to top-level API 2018-06-06 09:43:54 -04:00
Paul Kaplan d3fd3ff806 Add reorderSound and unit test to rendered-target 2018-06-06 09:43:54 -04:00
Paul Kaplan 5fd5b30ccf Add reorderCostume method and unit test to rendered target 2018-06-06 09:43:54 -04:00
Paul Kaplan 3a697ae0ac Add top-level API for getting and setting variable values 2018-06-05 10:46:06 -04:00
Karishma Chadha 537dc9bcd5 Addressing PR comments. 2018-05-31 16:33:42 -04:00
Karishma Chadha 1639444a4d Fix lint and tests. 2018-05-30 21:18:45 -04:00
kchadha a85f641d25 Merge pull request #1148 from kchadha/stage-layering
Layer group ordering.
2018-05-25 09:10:05 -04:00
Paul Kaplan 91e97ebdda Gotta get that unit test coverage up :) 2018-05-23 11:33:33 -04:00
Karishma Chadha e2ce047fa1 Test and lint fixes. 2018-05-16 16:00:50 -04:00
Paul Kaplan f01558b74e Address comments from @kchada review 2018-05-09 11:08:49 -04:00
Paul Kaplan aa24d118c8 Fix lint error 2018-05-09 10:55:47 -04:00
Paul Kaplan e0db8529bf Add an sb2 import test for importing monitors.
Checks for
- monitor types set correctly (all 4)
- monitor visibility set correctly
- monitor threads not running if not visible
- monitor positioning imported
- monitor width/height for lists
- custom monitor slider range
- sprite specificity
2018-05-09 09:33:28 -04:00
Paul Kaplan db646fd3c2 Remove monitors from sb2 fixtures that expect no threads to stay running 2018-05-09 08:44:03 -04:00
Karishma Chadha 55352e88b1 Tests and cleanup of addSprite3 so that .sprite3 format does not need to be nested inside an extra {targets: ...} 2018-05-04 11:00:45 -04:00
Eric Rosenbaum 4cee734cde Merge pull request #1008 from towerofnix/itemnum-vm
Implement "item # of (thing) in (list)" block
2018-05-03 18:08:31 -04:00
Eric Rosenbaum 9979391200 Merge pull request #1085 from ericrosenbaum/feature/key-droppability
Re-write keyboard IO for droppability support
2018-05-03 11:10:24 -04:00
Michael "Z" Goddard dbe548eb18 Move execute integration fixtures into test/fixtures 2018-05-02 15:54:54 -04:00
Michael "Z" Goddard f10d6a847e Test a procedure with argument types: number, number, boolean
- Add tests for blocks used by the procedure test in case the smaller block
  sets are what is causing the procedure to fail instead of procedure or
  argument passing behaviour
2018-05-02 15:54:26 -04:00
Michael "Z" Goddard 6968f1769e Test virtual machine execution with SAY
Test the virtual machine handling of scratch scripts by authoring scratch
projects that use SAY blocks to "pass" or "fail" tests. Let tap know how many
tests are in the "plan". And when the test will "end".
2018-05-02 15:54:25 -04:00