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
kchadha
2b6f96ae0a
Merge pull request #1096 from towerofnix/warpspeed-vm
...
Implement "all at once" block
2018-05-01 15:43:37 -04:00
Florrie
b30d070d90
Lint test
2018-04-30 20:19:21 -03:00
Florrie
8e271c70d0
Implementation + tests for loud? block
2018-04-30 19:50:13 -03:00
Florrie
62dd6c58c6
Add test for allAtOnce
2018-04-30 12:36:15 -03:00
Ray Schamp
23e72525bf
Merge pull request #1065 from mzgoddard/push-reported-again
...
Push reported again. Now with empty boolean support!
2018-04-30 09:36:32 -04:00
Eric Rosenbaum
6f9669683b
Update unit tests
2018-04-25 12:26:52 -04:00
Andrew Sliwinski
4a78e9c4af
All tests passing
2018-04-20 10:29:29 -04:00
Michael "Z" Goddard
d04d6b2c6a
Revert "Revert "Push reported""
...
This reverts commit 107adad647
.
2018-04-16 13:21:53 -04:00
Andrew Sliwinski
3ac2922a07
Merge pull request #1028 from mzgoddard/motion-detect-4
...
Motion detect 4
2018-04-13 08:16:34 -04:00
kchadha
8739a524eb
Merge pull request #1031 from kchadha/block_serialization_compression
...
Block serialization compression
2018-04-11 19:17:42 -04:00
Michael "Z" Goddard
8ebd659094
Use string enumerated values for videoSensing sensor block
2018-04-11 10:30:58 -04:00
Paul Kaplan
f23b5a9625
Merge pull request #1041 from paulkaplan/fix-clone-drag
...
Only select the original target after a drag.
2018-04-11 10:04:25 -04:00
Paul Kaplan
64c2d1f7b1
Merge pull request #1038 from paulkaplan/skin-size
...
Attach the costume size to the costume when loaded and modified
2018-04-11 09:30:02 -04:00
Paul Kaplan
4a9adcc3d9
Make stopDrag deal with bare targets and add tests
2018-04-11 09:12:43 -04:00
Chris Willis-Ford
631d7fb4de
Merge pull request #1021 from cwillisf/features-for-control-extension
...
Features for control extension
2018-04-10 12:17:43 -07:00
Michael "Z" Goddard
cd7e03f0f6
Merge pull request #1019 from mzgoddard/motion-detect-3
...
Test VideoMotion and VideoSensing blocks
2018-04-10 13:06:58 -04:00
Paul Kaplan
f29482957c
Change getSkinSize to getCurrentSkinSize for renderer update.
2018-04-10 09:50:18 -04:00
Christopher Willis-Ford
53b5ba93f5
Add tests for converting extension metadata
...
These tests convert some extension metadata into scratch-blocks JSON and
XML, then verify that the JSON and XML are as expected.
2018-04-09 15:37:08 -07:00
kchadha
d177f4cd0c
Merge pull request #1033 from towerofnix/counter-vm
...
Implement counter blocks
2018-04-09 13:55:35 -04:00
kchadha
b794e19c31
Merge pull request #1032 from towerofnix/while-vm
...
Implement "while" block
2018-04-09 13:48:08 -04:00
Florrie
797d16be26
Implement counter blocks
2018-04-07 16:02:49 -03:00
Florrie
466a3b62ef
Add test for repeatWhile
2018-04-07 14:07:15 -03:00
Michael "Z" Goddard
d3ff8b5eed
Test VideoMotion and VideoSensing blocks
...
- Add pngjs dev dependency to read test images
2018-04-06 18:09:50 -04:00
Christopher Willis-Ford
8ef4aec7fa
Add tests for maybeFormatMessage
2018-04-06 12:26:12 -07:00
Eric Rosenbaum
25f1c1a5e6
Merge pull request #1017 from ericrosenbaum/bugfix/clones-inherit-instrument
...
Clones inherit music custom state
2018-04-06 13:38:03 -04:00
Karishma Chadha
58c9b11dd3
Update test to use new function.
2018-04-06 11:38:41 -04:00
Karishma Chadha
80499c9ae5
Fixing tests
2018-04-06 11:33:44 -04:00
kchadha
4b62a938c4
Merge pull request #1000 from kchadha/deserialize-assets-in-sb2
...
Deserialize sb2 assets while loading local .sb2.
2018-04-06 11:33:00 -04:00
Karishma Chadha
963163eaa7
Use test storage without web sources for offline .sb2 test.
2018-04-06 10:51:49 -04:00
Eric Rosenbaum
2a90e5868d
Fix runtime scope and unit test
2018-04-05 15:01:52 -04:00
Karishma Chadha
b2a4f563a0
Pull JSON.parse into extractProjectJson function.
2018-04-05 13:58:45 -04:00
Karishma Chadha
6c2838e8f4
Renaming file reading/extracting functions in tests.
2018-04-05 13:46:07 -04:00
Karishma Chadha
af32f0772e
Add integration test for offline sb2 project with custom assets not on the server.
2018-04-05 10:51:15 -04:00
Florrie
fd188741ba
Lint
2018-03-31 13:41:39 -03:00
Florrie
b861c78086
Implement 'get item # of (thing) in (list)'
2018-03-31 13:25:50 -03:00
Paul Kaplan
2d9bd92140
Merge pull request #930 from ericrosenbaum/bugfix/loudness-performance
...
Only measure loudness once per step
2018-03-29 16:27:10 -04:00
kchadha
51306e3492
Merge pull request #963 from towerofnix/foreach-vm
...
Implement for-each block
2018-03-28 10:52:14 -04:00
Florrie
307a48da5a
Remove tests for old behavior
2018-03-28 11:38:19 -03:00
Karishma Chadha
1511fa79e3
Update tests to allow parsing whole .sb2s
2018-03-25 19:08:52 -04:00
kchadha
dbc7b9597f
Merge pull request #979 from kchadha/serialization-cleanup
...
SB3 Serialization & Load Project
2018-03-23 10:11:49 -04:00
Karishma Chadha
2c3e3472ed
Add warning to 'fromJSON' function since it is now just a wrapper around loadProject. Change vm sb3_serialization test to use 'loadProject' function instead of 'fromJSON'.
2018-03-21 17:55:02 -04:00
Paul Kaplan
140094a7ad
Make "when clicked" blocks target dependent.
...
This involves adding a new opcode, event_whenstageclicked, and adding a
method to the blocks container to update the opcode pair depending on
whether the target is the stage. This method is then called in two
places: first after the sb2 import parses the blocks (not done in the
sb2 parsing itself because no other blocks are target specific) and then
again when blocks are shared between targets.
Also added tests for the block container method, and a fixture project
that tests the opcode splitting on sb2 import.
2018-03-20 10:41:50 -04:00
Karishma Chadha
b4f6f24926
Fix up tests.
2018-03-16 11:43:27 -04:00
Christopher Willis-Ford
b5d7602f4f
Add test for say/think and wait
...
This test currently fails due to a bug in the sequencer's `stepThread`
method. The bug affects real projects, too, but was not caught by any
test prior to this one.
2018-03-14 16:16:59 -07:00
Chris Willis-Ford
219f083a29
Merge pull request #934 from picklesrus/extensions-dynamic-menu
...
Extensions dynamic menu
2018-03-06 16:33:26 -05:00
Florrie
a03f45d1d7
Add tests for forEach block
2018-03-05 16:18:09 -04:00
DD
b885402081
Merge branch 'develop' into privateSprite
2018-03-01 17:27:10 -05:00
Eric Rosenbaum
5d658b5ecb
Merge pull request #953 from ericrosenbaum/bugfix/load-tempo-from-sb2
...
Load tempo from sb2
2018-03-01 13:20:37 -05:00
Eric Rosenbaum
a0525542fc
Stub runtime to fix unit test
2018-02-27 15:38:34 -05:00
Karishma Chadha
8c5c68b896
Duplicating sprite should give new sprite a fresh name.
2018-02-26 23:17:25 -05:00
DD
b4d6db0ad9
Fix tests
2018-02-22 15:45:41 -05:00
DD
729fc3d303
Make sprite.costumes private so that I can enforce that when you add costumes, they get assigned a unique ID
2018-02-21 19:59:35 -05:00
Chris Willis-Ford
8e1719b716
Merge pull request #920 from towerofnix/scroll-detection
...
Scroll wheel detection for "when key (up/down) pressed" blocks
2018-02-16 12:21:27 -08:00
picklesrus
1910968b13
Fix lint errors.
2018-02-16 10:49:26 -08:00
kchadha
9675a1b8cf
Merge pull request #931 from kchadha/bugfix-912
...
Renaming sprite/costume/sound/backdrop updates corresponding blocks.
2018-02-12 11:53:50 -05:00
Karishma Chadha
4cca426f96
Adding test coverage for new updateAssetName function.
2018-02-09 17:29:41 -05:00
Paul Kaplan
8d42db7df8
Merge pull request #925 from LukeSchlangen/fix/rounding-numbers
...
round numbers but break tests
2018-02-08 08:59:54 -05:00
Luke Schlangen
45cf1f685d
add passing unit test
2018-02-07 17:49:18 -06:00
Eric Rosenbaum
c32086f56a
Unit test for loudness with caching
2018-02-06 12:26:20 -05:00
Karishma Chadha
3dbcf13c87
Fixing renameSprite tests.
2018-02-05 17:26:13 -05:00
kchadha
107adad647
Revert "Push reported"
2018-02-02 12:42:09 -05:00
picklesrus
57d3e564e2
Add two menu types to the internal-extension test.
2018-01-31 17:20:19 -08:00
Luke Schlangen
f8dced53dc
round numbers but break tests
2018-01-31 08:23:08 -06:00
Florrie
be83c0ee74
Mouse wheel IO system
...
Towards fixing #865 . This adds an IO class for detecting the mouse wheel
being scrolled. Basic tests are included; they mock the runtime to see
what blocks are activated by scrolling.
2018-01-26 17:13:01 -04:00
Michael "Z" Goddard
4286e3e982
Add Thread.blockContainer
...
Store the thread's blocks at blockContainer letting execute quickly
determine the block source. Monitor threads are a monitor thread. They
do not become a target thread suddenly.
2018-01-24 17:00:35 -05:00
Michael "Z" Goddard
6b7582f1c7
Report block result to stackFrame.justReported
...
- Add stackFrame.justReported
Report the block result to a known key `justReported` instead of a
dynamic key on `reported`. Assuming blocks with a promised value are
relatively infrequent the most common recursive input flow immediately
reads the value "just" reported. In the assumed uncommon case of a
promised thread status, empty the already argValues assigned values
onto the currentStackFrame's reported member. In the next execute call
on this stackFrame, values assigned to reported are read back off onto
argValues, and execute will returned to the assumed common case. This
is a safe assumption since a thread in the promise state will not exit
that state until the next frame when javascript has a chance to call
the resolve handle, setting the thread's state back to another
executable state.
Using direct assignment to `justReported` saves building an object
dynamically. Instead of always building `reported` and `argValues` only
`argValues` is built until a promised state is reached. This also gives
a known time when `reported` is used, allowing cleanup of a
stackFrame's reported to only happen when it was used to persist
already reported values.
2018-01-24 17:00:12 -05:00
Paul Kaplan
327d1179d9
Update the mouse io to give scratch coordinates and client coordinates
...
Fixes GUI #642 https://github.com/LLK/scratch-gui/issues/642
Fixes GUI #179 https://github.com/LLK/scratch-gui/issues/179
2018-01-09 10:37:16 -05:00
Paul Kaplan
bbcb6bd5b7
Differentiate clamped from non clamped mouse io data (GUI#179)
2018-01-09 09:42:16 -05:00
Paul Kaplan
3afe709cb0
Add unit tests for new reporter blocks in looks
2018-01-04 10:42:51 -05:00
Paul Kaplan
6d90a34ff1
Add setDragMode primitive and unit test
2017-12-29 09:38:21 -05:00
Paul Kaplan
477ef531ba
Update specmap and sb2 import to add new fields to layering blocks.
2017-12-28 14:53:35 -05:00
Paul Kaplan
d001a85571
Add setDragMode primitive and unit test
2017-12-28 12:31:23 -05:00
Karishma Chadha
29c08c3583
Fixing unit test.
2017-12-21 19:06:11 -05:00
Andrew Sliwinski
05a1a668b3
Accept both objects and strings for 'loadProject'. Resolves GH-733
2017-12-20 11:49:40 -05:00
Paul Kaplan
a586c5d9cd
Revert "Fix test"
...
This reverts commit 6b00f97804
.
2017-12-13 15:37:44 -05:00
Paul Kaplan
8411ef1c86
Merge pull request #810 from paulkaplan/select-after-drag
...
Select target after drag end
2017-12-12 10:55:27 -05:00
Paul Kaplan
2d2b691b6f
Return a default falsey value for unknown params based on param type
2017-12-06 11:46:43 -05:00
Eric Rosenbaum
506a36b8ef
Merge pull request #838 from ericrosenbaum/feature/move-extensions-into-folder
...
Move pen and wedo into extensions folder
2017-12-05 15:43:03 -05:00
Paul Kaplan
e6bd474720
Merge pull request #845 from kchadha/broadcast-msg-extra-create-bugfix
...
Broadcast Msg Bugfix
2017-12-05 15:38:12 -05:00
Paul Kaplan
bb69d157cd
Merge pull request #832 from paulkaplan/custom-procedure-updates
...
Updates for editable custom procedures
2017-12-05 15:37:56 -05:00
Karishma Chadha
34b0aff637
Bugfix for scratch-gui issue #994 , where executing a broadcast block from the flyout was creating a conflicting variable, causing a fatal error.
2017-12-04 18:01:29 -05:00
Paul Kaplan
a9e95f3b01
Merge pull request #829 from kchadha/broadcast-message-typed-variable
...
Broadcast message functionality
2017-12-01 11:51:38 -05:00
Eric Rosenbaum
ae38ace665
Fix path in pen test
2017-12-01 10:32:32 -05:00
Karishma Chadha
80da989f01
SB2 Import for Broadcast Blocks (not including the input field functionality for 'broadcast' and 'broadcast and wait
...
'). Currently we also cannot import projects where messages and variables share names.
2017-12-01 10:29:32 -05:00
Paul Kaplan
6b00f97804
Fix test
2017-11-29 15:46:04 -05:00
Paul Kaplan
5a53323715
Update to use explicit procedure names and ids
2017-11-29 12:00:00 -05:00
Karishma Chadha
e5378d323d
Adding unit tests for new lookupOrCreate funciton, fixing a bug that came up during testing (using lookupVariableById on a null target). Skipping integration tests that do not work right now because SB2 import of broadcast message blocks has not been implemented yet.
2017-11-29 10:43:07 -05:00
Andrew Sliwinski
519d41d966
Merge pull request #805 from thisandagain/bugfix/802
...
Replace 'got' module with 'nets'
2017-11-27 15:17:04 -05:00
Andrew Sliwinski
b78bdb4c93
Address feedback from review
2017-11-27 15:00:53 -05:00
Paul Kaplan
fc61f9e547
Select target after drag end
2017-11-21 11:45:11 -05:00
Eric Rosenbaum
5fbfecb1a9
Note player ( #806 )
...
* Move drums into their own folder
* Load instrument samples
* Play notes
* Concurrency limit is shared across drums and instruments
* Increase MIDI note range
* Set instrument directly on musicState object
* JSDoc
* Clean up the play note functions and add comments
* Cleanup
* Check for audioEngine in playDrumNum
* JSDoc and comments
* Round the instrument number
* Fix unit test for set instrument
* Comment fixes
* Nit (condense onto single line)
2017-11-21 10:36:28 -05:00
Andrew Sliwinski
a8c629dc9b
Replace 'got' module with 'nets'. Resolves GH-802
2017-11-20 17:04:17 -05:00
Eric Rosenbaum
614708d48c
Merge pull request #785 from ericrosenbaum/feature/load-drums-from-storage
...
Load drum sounds from storage and play them
2017-11-20 13:56:23 -05:00
Eric Rosenbaum
b6cf12202c
Rename unit test file
2017-11-20 13:50:46 -05:00
DD Liu
2d9722e69c
Merge pull request #787 from fsih/deleteMonitorBlocks
...
Delete monitor block when variable is deleted
2017-11-16 17:20:26 -05:00
Paul Kaplan
bbb8904467
Merge pull request #789 from paulkaplan/custom-procedure-update
...
Update naming and implementation for custom procedure blocks
2017-11-16 17:07:03 -05:00
Paul Kaplan
91c93830a8
Fix tests
2017-11-16 14:23:56 -05:00
Paul Kaplan
34dfbb50ba
Update naming and implementation for custom procedure blocks
2017-11-16 14:17:08 -05:00
Michael "Z" Goddard
d173326290
Add broadcastAndWait regression test
2017-11-16 11:23:51 -05:00
Eric Rosenbaum
ba529ad50b
Update unit test
2017-11-15 14:10:50 -05:00
Eric Rosenbaum
5b0f7453f3
Merge pull request #779 from ericrosenbaum/feature/music-timing-with-stackframe
...
Music extension handles timing
2017-11-15 13:29:33 -05:00
Paul Kaplan
1e27d21b15
Merge pull request #782 from kchadha/list-typed-variable
...
List typed variable
2017-11-15 12:48:56 -05:00
DD
aa0064948a
Delete monitor block when variable is deleted
2017-11-15 11:37:27 -05:00
Eric Rosenbaum
75ec76cd57
Fix unit test
2017-11-14 14:58:16 -05:00
Karishma Chadha
3f444138db
Updating tests for refactoring lists. Updating demo fixture -- now we have IDs and variable types for variables.
2017-11-13 16:30:47 -05:00
Karishma Chadha
1d4acde7dc
Fixing unit/integration tests.
2017-11-13 14:25:12 -05:00
Eric Rosenbaum
37d627bc89
Fix unit test
2017-11-13 10:57:36 -05:00
Paul Kaplan
95ca10038b
Merge pull request #772 from kchadha/improving-test-coverage
...
Improving test coverage
2017-11-13 10:17:09 -05:00
Karishma Chadha
c31fff8c4c
Fixing linter errors.
2017-11-09 09:18:44 -05:00
Karishma Chadha
bf6b78137a
Test coverage for virtual-machine's deleteSprite and duplicateSprite functions.
2017-11-08 15:48:24 -05:00
Paul Kaplan
16ca994818
Allow ask to use say bubble via events
2017-11-08 11:12:12 -05:00
Andrew Sliwinski
3fa1599b90
Merge pull request #701 from Scimonster/variable-xml-names
...
Correctly deserialize HTML entities in block DOM
2017-11-08 08:03:56 -05:00
Eric Rosenbaum
c0fdbc2f4d
Fix sound integration test
2017-11-07 16:26:35 -05:00
Eric Rosenbaum
dc4767646f
Move music-related unit tests into a separate file
2017-11-07 16:26:20 -05:00
Karishma Chadha
cb31f206a0
Improved test coverage of deleteSprite() in src/virtual-machine. Fixed bug where null check was happening after looking up property of given target.
2017-11-06 17:41:57 -05:00
Paul Kaplan
73ffc6a797
Ask/answer opcode implementation with runtime events.
2017-11-06 15:08:15 -05:00
Christopher Willis-Ford
51dcfb954d
Pen integration test: don't pre-load pen extension
2017-11-03 12:50:37 -07:00
Christopher Willis-Ford
c88a8fa55a
Fix tests & a typo
2017-11-03 11:42:20 -07:00
Paul Kaplan
ec1d8c657e
Add failing test for callNoReturn on undefined proc
2017-10-25 10:29:07 -04:00
Chris Willis-Ford
7051ccfd69
Merge pull request #687 from cwillisf/builtin-extensions
...
Builtin extensions
2017-10-13 09:48:56 -07:00
Paul Kaplan
8d722b9073
Fix opcode, which isn't actually used in the code...
2017-10-10 15:10:03 -04:00
Paul Kaplan
e8c5bbbf80
Fix tests and make chain more resilient
2017-10-10 12:19:27 -04:00
Scimonster
7afb17df7f
Correctly deserialize HTML entities in block DOM
...
E.g. in variable names
2017-10-09 01:19:55 +03:00
Christopher Willis-Ford
b6727a766f
Fix pen tests
2017-10-04 16:07:50 -07:00
Christopher Willis-Ford
772da24d9e
Add integration test for a non-worker extension
2017-10-02 12:02:44 -07:00
Paul Kaplan
0f04c99e67
Merge pull request #676 from paulkaplan/duplicate
...
Add sprite duplication method
2017-09-13 11:57:13 -04:00
Paul Kaplan
81370f7625
Refactor method exports to fix linting and CWF comment
2017-09-11 10:11:48 -04:00
Ray Schamp
32bc087bba
Fix remaining lint issues
2017-08-26 13:24:10 -04:00
Ray Schamp
5113876588
Pass with --fix
2017-08-26 13:24:10 -04:00
Chris Willis-Ford
2665ef2b2b
Merge pull request #640 from cwillisf/feature/message-dispatch
...
Implement message dispatch system
2017-08-17 10:57:23 -07:00
Ken
963078210a
Add test coverage
2017-08-11 01:37:10 +12:00
Christopher Willis-Ford
b4c0cfe940
Refactor common code in {central,worker}-dispatch
...
Central dispatch and worker dispatch share most of their code now by
inheriting from a new shared dispatch class.
Also, the format of passed messages has been altered to make it easier
to understand in a debugger.
2017-08-09 17:30:00 -04:00
DD Liu
8906aada5f
words better
2017-08-03 17:32:50 -04:00
DD Liu
ffbbbc71cc
remove debugger
2017-07-31 18:09:20 -04:00
DD Liu
a48efe681e
tests
2017-07-31 17:57:51 -04:00
Paul Kaplan
f2bd32a81a
Merge pull request #653 from paulkaplan/sound-ids
...
Use sound ID instead of md5 for playing sounds
2017-07-26 09:00:00 -04:00
Paul Kaplan
44298fd71b
Use soundId instead of md5 for playing sounds
2017-07-25 12:20:32 -04:00
Paul Kaplan
0cf05647d2
Merge branch 'develop' into fix-asset-naming
2017-07-25 10:48:25 -04:00
Paul Kaplan
f96a92b4d1
Move renaming and adding into rendered-target with tests
2017-07-25 10:32:25 -04:00
Paul Kaplan
ef16a7d574
Use name instead of costumeName when using vm#addCostume
2017-07-25 10:31:15 -04:00
Christopher Willis-Ford
84ac66d6e5
Fix exception message
2017-07-21 13:23:52 -07:00
Christopher Willis-Ford
0fcc248ac1
Add tests for message dispatch system; fix bugs
...
The tests run using TinyWorker, which emulates web workers on Node.
There are quite a few quirks in that situation due to the differences
between Node and Webpack as well as the differences between TinyWorker
and real Web Workers.
The tests also exposed a few bugs in the dispatch system, which have now
been fixed. Most notably, if a method called through the dispatch system
throws an exception that exception will now be passed back to the
caller. Previously the exception would escape the dispatch system and
the caller would never hear any response at all.
2017-07-21 13:23:52 -07:00
Paul Kaplan
bd3a29650b
Fix variable import scoping
2017-07-17 12:28:44 -04:00
Paul Kaplan
0e33d061fe
Merge pull request #633 from paulkaplan/fix-sound-indexing
...
Fix sound indexing and add tests
2017-07-13 15:08:05 -04:00
Paul Kaplan
a83c0808a0
Add public API for costume and sound renaming with tests
2017-07-07 08:19:32 -04:00
Paul Kaplan
7ec45d9519
Satisfy linter
2017-07-06 17:23:25 -04:00
Paul Kaplan
2ddb6215fd
Add tests and fixes for set instrument and play drum
2017-07-06 14:56:46 -04:00
Paul Kaplan
1b6baf8114
Make playSound use one indexing
2017-07-06 14:28:11 -04:00
Chris Willis-Ford
47fc38fd9a
Merge pull request #619 from cwillisf/clone-custom-state
...
Clone custom state
2017-06-27 22:37:30 -07:00
Paul Kaplan
b0fb4f0b55
Merge pull request #614 from marisaleung/develop_cherry-picks
...
Updated variables and var_fire event listener.
2017-06-23 13:05:03 -04:00
marisaleung
875ccf5b88
Updated variables and var_fire event listener.
2017-06-23 09:57:01 -07:00
Christopher Willis-Ford
6275710e47
Add test case for pen state cloning
2017-06-16 16:29:12 -07:00
Christopher Willis-Ford
1bf1808826
Clarify "flattening" step in SB3 roundtrip test
2017-06-13 13:58:34 -07:00
Christopher Willis-Ford
4b1aad5099
Add test for SB3 serialization round trip
2017-06-12 12:34:51 -07:00
Christopher Willis-Ford
cd1c72c7cc
Convert attachTestStorage
to makeTestStorage
...
Rather than assuming that the storage instance will be attached to a VM,
just return it. Callers may attach it to a `VM` or (in the case of
`import_sb2.js`) to a `Runtime`.
2017-06-12 12:34:20 -07:00
Christopher Willis-Ford
6320fd72c3
Add test for clone cleanup
...
This new test verifies that clones and their associated threads are
cleaned up properly by the `delete this clone` block. The clones run two
stacks each: one which waits and then deletes the clone, and another
which includes a `forever` loop: this is to verify that the thread
running the `forever` loop is ended when the clone itself is deleted.
The project does this with two batches of clones to ensure there are no
problems with reusing array indices previously occupied by now-removed
threads or clones.
2017-06-08 11:16:29 -07:00
Ray Schamp
ecf535f4c3
Merge pull request #579 from cwillisf/load-jpeg-backdrops
...
Specify dataFormat when loading asset for import
2017-06-02 09:06:37 -04:00
DD Liu
875eba568b
fix file name in test
2017-05-30 10:24:09 -04:00
DD Liu
809760b954
Merge branch 'develop' into immutableState
2017-05-26 13:50:50 -04:00
Christopher Willis-Ford
eb931fd99b
Specify dataFormat when loading asset for import
...
When importing a project we know the file extension for each asset to be
loaded. This change provides that information to the storage system so
that we can load assets which don't use the default. For example, this
allows loading JPG-format backdrops.
In support of this change, there's a new function on `StringUtil` called
`splitFirst`, which splits a string on the first instance of a separator
character. This change includes unit tests for this new function.
2017-05-24 15:35:10 -07:00
Chris Willis-Ford
3970883e45
Merge pull request #549 from cwillisf/device-manager-client
...
Device manager client
2017-05-24 14:43:28 -07:00
DD Liu
5df3d4ab68
Merge branch 'develop' into immutableState
2017-05-24 15:42:54 -04:00
DD Liu
1902848ea4
Switch to ordered maps of monitor records for monitor state
2017-05-24 15:42:29 -04:00
Paul Kaplan
423da12c3c
Handle more cases of deleting costumes
2017-05-22 08:17:28 -04:00
Paul Kaplan
30a0c0d251
Allow deleting the last sound
2017-05-22 08:17:28 -04:00
Paul Kaplan
a608ca4fed
Make rendered targets in charge of deleting their own sounds and costumes
2017-05-22 08:17:28 -04:00
Paul Kaplan
71081502fe
Add to the vm spec
2017-05-22 08:17:28 -04:00
DD Liu
48c51ab2ec
switch to nested immutables state
2017-05-19 17:28:00 -04:00
DD Liu
9645a513b1
Only send monitor update on change
2017-05-19 12:28:05 -04:00
Paul Kaplan
beaef901a7
Add failing test for gui issues 370
...
Fix rename increment when renamed to itself
2017-05-18 09:13:31 -04:00
Ray Schamp
baee9a2793
Don't clean costume and sound lists
...
They are already clean, since we don't store the data on them any more.
2017-05-04 13:03:42 -04:00
Christopher Willis-Ford
96c74867b5
Remove test for canceling a search
...
When no Device Manager instance is present this test takes a long time
and can cause timeouts. We'll need to fake the HTTP requests if we want
to do this sort of test reliably.
2017-04-28 15:06:42 -07:00
Christopher Willis-Ford
9a9c509e76
Implement a few tests for io/deviceManager
2017-04-28 14:50:57 -07:00
Ray Schamp
f785117e1d
Lint and fix failing tests
2017-04-27 17:49:57 -04:00
Ray Schamp
2a4af8a9ca
Fix up most linting/merge errors
2017-04-26 16:50:53 -04:00
Ray Schamp
a4cdb027ab
Merge branch 'develop' of github.com:morantsur/scratch-vm into feature/serialization
...
# Conflicts:
# src/playground/index.html
# src/serialization/sb2.js
# src/sprites/rendered-target.js
# src/virtual-machine.js
# test/unit/serialization_sb2.js
2017-04-26 11:44:53 -04:00
Ray Schamp
bafdf8d9f2
Use ES6 linting rules in the project root
...
Update all tests for `no-var` and `prefer-arrow-callback` (using `--fix`)
2017-04-24 15:37:58 -04:00
Andrew Sliwinski
8dc94391b0
Merge pull request #527 from CSnap/add_testing
...
Added testing to rendered-target
2017-04-24 10:15:55 -04:00
SillyInventor
a158db8aff
Implemented Proposed Fixes
...
Moved 'fake renderer' to fixtures
Fixed spacing after ()
Removed extra line break
2017-04-24 10:04:06 -04:00
Christopher Willis-Ford
c750f53c81
Get Asset
and AssetType
from storage instance
2017-04-20 16:12:17 -07:00
Paul Kaplan
8a4c3af18a
Merge pull request #535 from paulkaplan/isolate-import
...
Separate downloading from installation of sprite info
2017-04-19 11:40:30 -04:00
Paul Kaplan
f161640876
Update tests
2017-04-18 11:55:38 -04:00
SillyInventor
da6ce9182d
Added testing to rendered-target
...
Added a fake renderer with known predictable output
Added testing for most if not all functions
2017-04-07 14:50:13 -04:00
Paul Kaplan
80e8003fb2
Add tests for rendered target
2017-04-06 09:46:40 -04:00
Paul Kaplan
771f18e23b
Merge pull request #516 from paulkaplan/add-sound-public-api
...
Expose VM#addSound publicly
2017-04-04 09:05:45 -04:00
Ray Schamp
57e73a68a6
Add costume dataURI to costumes from storage ( #517 )
...
* Add costume dataURI to costumes from storage
Towards #515 , LLK/scratch-gui#279
* Fix tests
* Load costumes incrementally
Some of our tests assume that at least some of our costume data is available before the costume data is loaded. So, provide as much costume data as is available.
* Remove unnecessary filter for null costumes
Resolved when we updated to load costumes incrementally.
/ht @cwillisf
2017-04-03 15:58:13 -04:00
Chris Willis-Ford
a4aa3810ae
Merge pull request #462 from griffpatch/optimise/reduceGetBlockCalls
...
Optimise reducegetblockcalls
2017-04-03 13:00:05 -04:00
Paul Kaplan
251244ce9c
Expose VM#addSound publicly
2017-04-03 09:33:23 -04:00
Chris Willis-Ford
c8b4871b19
Merge pull request #498 from cwillisf/use-scratch-storage
...
Load projects & costumes through scratch-storage
2017-03-23 22:10:25 -07:00
griffpatch
220d854f28
Merge remote-tracking branch 'refs/remotes/LLK/develop' into optimise/reduceGetBlockCalls
...
# Conflicts:
# src/engine/execute.js
2017-03-22 08:58:01 +00:00
griffpatch
25429b1192
Tidy up commit and revert direct member access
2017-03-22 08:48:30 +00:00
Paul Kaplan
8bbb395b35
Add sprite name incrementing and reserved naming
2017-03-20 12:52:57 -04:00
Paul Kaplan
052ecef91c
Add string utils with tests
2017-03-20 12:12:38 -04:00
Paul Kaplan
5d2352e471
Add test for skipping rename on blank input
2017-03-20 11:14:25 -04:00
Paul Kaplan
627fc1d9c3
Add tests for existing vm.renameSprite functionality
2017-03-20 11:13:24 -04:00
Chris Willis-Ford
3d7f1187e5
Merge branch 'develop' into use-scratch-storage
2017-03-13 15:48:21 -07:00
Moran
94d2a39cc1
Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop
2017-03-13 18:07:17 -04:00
Christopher Willis-Ford
e4fd9d57a2
Fix tests involving scratch-storage
...
- Attach the storage module to the VM for tests which load projects or
other assets.
- Move `import_sb2.js` from `test/unit/ into `test/integration` since it
now depends heavily on `scratch-storage`.
- Skip loading costumes when there is no renderer.
2017-03-09 15:50:43 -08:00
Ray Schamp
b03768cad6
Remove filter toolbox utility ( #496 )
...
* Revert "Merge pull request #486 from rschamp/fix-filter-tests"
This reverts commit ba00db897f
, reversing
changes made to 739c5deb63
.
* Revert "Show Categories that use custom code to load (variables, procedures) (#483 )"
This reverts commit 739c5deb63
.
* Revert "Merge pull request #461 from rschamp/filter-toolbox"
This reverts commit 343b5bfe8e
, reversing
changes made to 370f2c6a47
.
2017-03-09 16:41:06 -05:00
Paul Kaplan
fe3799bb48
Add test for gfx reset on stop
2017-03-06 16:15:04 -05:00
Moran
d8e1d42bf2
Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop
2017-03-03 15:23:43 -05:00
Ray Schamp
8dadc42857
Add draggable property to sprites
...
This property should be managed by the VM so that it can be displayed in the sprite info panel in the GUI.
2017-03-01 18:49:17 -05:00
Ray Schamp
0b2d053177
Update tests to account for custom categories
2017-03-01 12:57:46 -05:00
Ray Schamp
6ea9b54539
Add filterToolbox unit tests
2017-02-27 12:58:18 -05:00
Andrew Sliwinski
401fd78fd0
Merge pull request #463 from CSnap/sequencerTesting
...
Adding Sequencer Unit Tests
2017-02-18 10:24:52 -05:00
SillyInventor
2fc2ee2c4b
Adding sequencer unit tests for each function
2017-02-16 14:30:00 -05:00
Christopher Willis-Ford
3b3daf8aca
Add hat execution order test
2017-02-14 16:33:42 -08:00
SillyInventor
e8949dcdf5
Added remaining tests
2017-02-10 13:06:39 -05:00
SillyInventor
3324f51193
Added some unit tests for some thread functions
2017-02-09 18:18:53 -05:00
griffpatch
9cb595312e
Implement "Stop this script" function
...
Existing implementation incorrectly terminates the entire thread.
See: http://llk.github.io/scratch-vm/#144142535
2017-02-08 09:44:10 +00:00
morant
e16f2924a3
Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop
2017-02-07 09:53:17 -05:00
Andrew Sliwinski
92ff57de7d
Add basic test coverage for the sound blocks
2017-02-03 17:39:36 -05:00
SillyInventor
1ac89f5aa4
Added new util function that sends tan function infinities correctly
...
Changed mathop to call new math util
Changed sin & cos to round correctly (to get 0)
Added testing for the new math util function
Added testing for the new mathop functions
2017-01-31 19:05:54 -05:00
morant
c6c1a63ff0
Merge branch 'feature/194' of https://github.com/morantsur/scratch-vm into develop
...
+ Solve code conflicts, and handle deserialization of 3.0 projects.
# Conflicts:
# src/index.js
# test/unit/serialization_sb2.js
2017-01-27 20:05:54 -05:00
griffpatch
0dcaa46107
Fix lint issues
...
Had to update the test scripts to handle the alpha channel, also I note
that all the hex tests are using CSS notation, not scratch notation
(which is 0x not #)
2017-01-27 17:05:17 +00:00
Christopher Willis-Ford
f8088be127
Undo accidental harmless but unnecessary change
2017-01-20 11:37:54 -08:00
Christopher Willis-Ford
88cc50aa18
Code review: more docs, move constants, clone util
...
Changes include:
- Added missing JSDoc for items in `scratch3_pen.js` and `target.js`.
- Moved constants used by `Scratch3PenBlocks` into the class.
- Created a constant for minimum and maximum pen size.
- Added `util/clone.js` to host cloning functionality.
- Pen blocks now check for the renderer before trying to use it.
- The pen integration test covers all blocks, though `clear`, `stamp`,
and `pen down` will skip some of their functionality when there is no
renderer.
2017-01-20 11:26:18 -08:00
Christopher Willis-Ford
72f17d6dc4
Add pen integration test
...
See `pen.sb2` for details
2017-01-19 15:58:00 -08:00