@robotical/martyblocksjr 4.2.6 → 4.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/editions/free/src/app.bundle.js +1 -1
  2. package/editions/free/src/localizations/bg.json +1 -1
  3. package/editions/free/src/localizations/ca.json +1 -1
  4. package/editions/free/src/localizations/cs.json +1 -1
  5. package/editions/free/src/localizations/cy.json +1 -1
  6. package/editions/free/src/localizations/da.json +1 -1
  7. package/editions/free/src/localizations/de.json +1 -1
  8. package/editions/free/src/localizations/el.json +1 -1
  9. package/editions/free/src/localizations/en.json +1 -1
  10. package/editions/free/src/localizations/es.json +1 -1
  11. package/editions/free/src/localizations/fi.json +1 -1
  12. package/editions/free/src/localizations/fr.json +1 -1
  13. package/editions/free/src/localizations/it.json +1 -1
  14. package/editions/free/src/localizations/ja.json +1 -1
  15. package/editions/free/src/localizations/ko.json +1 -1
  16. package/editions/free/src/localizations/nl.json +1 -1
  17. package/editions/free/src/localizations/no.json +1 -1
  18. package/editions/free/src/localizations/pl.json +1 -1
  19. package/editions/free/src/localizations/pt-br.json +1 -1
  20. package/editions/free/src/localizations/pt.json +1 -1
  21. package/editions/free/src/localizations/sv.json +1 -1
  22. package/editions/free/src/localizations/th.json +1 -1
  23. package/editions/free/src/localizations/tr.json +1 -1
  24. package/editions/free/src/localizations/uk.json +1 -1
  25. package/editions/free/src/localizations/zh-cn.json +1 -1
  26. package/editions/free/src/localizations/zh-tw.json +1 -1
  27. package/package.json +1 -1
  28. package/tests/GoToLink.test.js +48 -0
  29. package/tests/tutorial/CogAndMartyTutorial.test.js +42 -0
  30. package/tutorial.ts +18 -130
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Сега да преминем към Марти. Трябва да активираме режима на Марти, за да видим блоковете на Марти. Кликнете върху бутона Marty Mode.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Веднъж в режим Марти, плъзнете блока „при съобщение“ от категорията Марти Старт в областта на скрипта. Този блок ще изслуша съобщението, изпратено от Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Сега нека изберем блоковете за движение на Марти. Щракнете върху категорията Motion на Marty blocks.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Почти стигнахме! Плъзнете блока „Marty Dance“ в областта на скрипта. Този блок ще накара Марти да танцува, когато съобщението бъде получено.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Почти стигнахме! Плъзнете блока „Marty Dance“ под блока „on touch cog“. Марти ще танцува, когато бъде натиснат бутонът на Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Страхотна работа! Успешно сте кодирали Cog и Marty да си взаимодействат помежду си. Сега щракнете върху бутона на Cog, за да видите как Марти танцува!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Направете мелодия",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Нека накараме Cog да изсвири мелодия!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Ara passem a Marty. Hem d'habilitar el mode Marty per veure els blocs de Marty. Feu clic al botó Mode Marty.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Un cop al mode Marty, arrossegueu el bloc \"missatge activat\" des de la categoria Inici de Marty a l'àrea d'script. Aquest bloc escoltarà el missatge enviat per Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Ara, seleccionem els blocs de moviment de Marty. Feu clic a la categoria de moviment dels blocs Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ja gairebé hi som! Arrossegueu el bloc \"Marty Dance\" a l'àrea de guió. Aquest bloc farà ballar en Marty quan es rebi el missatge.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ja gairebé hi som! Arrossegueu el bloc \"Marty Dance\" sota el bloc \"on touch cog\". En Marty ballarà quan es premi el botó d'en Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Gran feina! Heu codificat correctament Cog i Marty per interactuar entre ells. Ara feu clic al botó de Cog per veure en Marty ballar!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Fes una melodia",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Fem que Cog toqui una melodia!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Nyní se přesuňme k Martymu. Abychom viděli Martyho bloky, musíme povolit Martyho režim. Klikněte na tlačítko Martyho režim.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "V režimu Marty přetáhněte blok „on message“ z kategorie Marty Start do oblasti skriptů. Tento blok bude naslouchat zprávám odeslaným Cogem.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Nyní si vybereme Martyho pohybové bloky. Klikneme na kategorii Pohyb mezi Martyho bloky.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Už jsme skoro tam! Přetáhněte blok „Marty Dance“ do oblasti skriptu. Tento blok roztančí Martyho, bude zpráva přijata.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Už jsme skoro tam! Přetáhněte blok „Marty Dance“ pod blok „on touch cog“. Marty začne tančit po stisknutí tlačítka na Cogu.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Skvělá práce! Úspěšně jste naprogramovali Cog a Martyho, aby spolu interagovali. Nyní klikněte na Cogovo tlačítko a uvidíte Martyho tančit!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Vytvořte melodii",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Nechme Coga zahrát melodii!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Nawr, gadewch i ni symud i Marty. Mae angen i ni alluogi Marty Mode i weld y blociau Marty. Cliciwch ar y botwm Marty Mode.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Unwaith y byddwch yn Marty Mode, llusgwch y bloc 'ar neges' o'r categori Marty Start i'r ardal sgript. Bydd y bloc hwn yn gwrando am y neges a anfonwyd gan Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Nawr, gadewch i ni ddewis blociau cynnig Marty. Cliciwch ar y categori Cynnig o flociau Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Rydyn ni bron yno! Llusgwch y bloc 'Marty Dance' i'r ardal sgript. Bydd y bloc hwn yn gwneud i Marty ddawnsio pan dderbynnir y neges.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Rydyn ni bron yno! Llusgwch y bloc 'Marty Dance' o dan y bloc 'on touch cog'. Bydd Marty yn dawnsio pan fydd botwm Cog yn cael ei wasgu.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Gwaith gwych! Rydych chi wedi codio Cog and Marty yn llwyddiannus i ryngweithio â'ch gilydd. Nawr cliciwch ar fotwm Cog i weld Marty yn dawnsio!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Gwnewch dôn",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Gadewch i ni wneud i Cog chwarae alaw!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Lad os nu flytte til Marty. Vi er nødt til at aktivere Marty Mode for at se Marty-blokkene. Klik på knappen Marty Mode.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Når du er i Marty-tilstand, skal du trække 'on message'-blokken fra Marty Start-kategorien til scriptområdet. Denne blok vil lytte efter beskeden sendt af Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Lad os nu vælge Martys bevægelsesblokke. Klik på Bevægelseskategorien af ​​Marty-blokke.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi er der næsten! Træk 'Marty Dance'-blokken til scriptområdet. Denne blok vil Marty til at danse, når beskeden modtages.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi er der næsten! Træk 'Marty Dance'-blokken ind under 'on touch cog'-blokken. Marty danser, når der trykkes på Cogs knap.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Godt arbejde! Du har med succes kodet Cog og Marty til at interagere med hinanden. Klik nu på Cogs knap for at se Marty danse!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Lav en melodi",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Lad os få Cog til at spille en melodi!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Kommen wir nun zu Marty. Um die Marty-Blöcke sehen zu können, müssen wir den Marty-Modus aktivieren. Klicken Sie auf die Schaltfläche „Marty-Modus“.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Im Marty-Modus ziehen Sie den Block „Bei Nachricht“ aus der Kategorie „Marty-Start“ in den Skriptbereich. Dieser Block wartet auf die von Cog gesendete Nachricht.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Wählen wir nun Martys Bewegungsblöcke aus. Klicken Sie auf die Kategorie „Bewegung“ der Marty-Blöcke.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Wir sind fast da! Ziehe den Block „Marty Dance“ in den Skriptbereich. Dieser Block lässt Marty tanzen, wenn die Nachricht empfangen wird.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Wir sind fast da! Ziehe den Block „Marty Dance“ unter den Block „on touch cog“. Marty tanzt, wenn Cogs Taste gedrückt wird.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Super gemacht! Du hast Cog und Marty erfolgreich so programmiert, dass sie miteinander interagieren. Klick jetzt auf Cogs Button, um Marty tanzen zu sehen!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Machen Sie eine Melodie",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Lassen wir Cog eine Melodie spielen!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Τώρα ας περάσουμε στον Μάρτυ. Πρέπει να ενεργοποιήσουμε τη λειτουργία Marty για να δούμε τα μπλοκ Marty. Κάντε κλικ στο κουμπί Marty Mode.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Μόλις μπείτε στη λειτουργία Marty, σύρετε το μπλοκ \"on message\" από την κατηγορία Marty Start στην περιοχή του σεναρίου. Αυτό το μπλοκ θα ακούσει το μήνυμα που αποστέλλεται από το Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Τώρα, ας επιλέξουμε τα μπλοκ κίνησης του Marty. Κάντε κλικ στην κατηγορία Κίνηση των μπλοκ Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Είμαστε σχεδόν εκεί! Σύρετε το μπλοκ \"Marty Dance\" στην περιοχή του σεναρίου. Αυτό το μπλοκ θα κάνει τον Marty να χορέψει όταν ληφθεί το μήνυμα.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Είμαστε σχεδόν εκεί! Σύρετε το μπλοκ \"Marty Dance\" κάτω από το μπλοκ \"on touch cog\". Ο Marty θα χορέψει όταν πατηθεί το κουμπί του Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Μεγάλη δουλειά! Έχετε κωδικοποιήσει με επιτυχία τον Cog και τον Marty για να αλληλεπιδρούν μεταξύ τους. Τώρα κάντε κλικ στο κουμπί του Cog για να δείτε τον Marty να χορεύει!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Κάντε μια μελωδία",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Ας κάνουμε τον Cog να παίξει μια μελωδία!",
@@ -672,7 +672,7 @@
672
672
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Now let's move to Marty. We need to enable Marty Mode to see the Marty blocks. Click on the Marty Mode button.",
673
673
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Once in Marty Mode, drag the 'on message' block from the Marty Start category to the script area. This block will listen for the message sent by Cog.",
674
674
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Now, let's select Marty's motion blocks. Click on the Motion category of Marty blocks.",
675
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "We're almost there! Drag the 'Marty Dance' block to the script area. This block will make Marty dance when the message is received.",
675
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "We're almost there! Drag the 'Marty Dance' block beneath the 'on touch cog' block. Marty will dance when Cog's button is pressed.",
676
676
  "COG_AND_MARTY_TUTORIAL_END": "Great job! You have successfully coded Cog and Marty to interact with each other. Now click Cog's button to see Marty dance!",
677
677
  "COG_JRBLOCKS1_TITLE": "1. Make a tune",
678
678
  "COG_JRBLOCKS1_STEP_1_TEXT": "Let's make Cog play a tune!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Ahora pasemos a Marty. Necesitamos activar el Modo Marty para ver los bloques de Marty. Haz clic en el botón Modo Marty.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Una vez en Modo Marty, arrastra el bloque \"en el mensaje\" desde la categoría Inicio de Marty hasta el área de script. Este bloque escuchará el mensaje enviado por Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Ahora, seleccionemos los bloques de movimiento de Marty. Haga clic en la categoría \"Movimiento\" de los bloques de Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "¡Ya casi terminamos! Arrastra el bloque \"Marty Dance\" al área del script. Este bloque hará que Marty baile al recibir el mensaje.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "¡Ya casi terminamos! Arrastra el bloque \"Marty Dance\" debajo del bloque \"on touch cog\". Marty bailará cuando se pulse el botón de Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "¡Excelente trabajo! Has programado con éxito a Cog y Marty para que interactúen. ¡Ahora haz clic en el botón de Cog para ver bailar a Marty!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Hacer una melodía",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "¡Hagamos que Cog toque una melodía!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Siirrytään nyt Martyyn. Meidän on otettava Marty-tila käyttöön nähdäksemme Marty-palikat. Klikkaa Marty-tila-painiketta.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Kun olet Marty-tilassa, vedä 'viestistä' -lohko Marty Start -kategoriasta skriptialueelle. Tämä lohko kuuntelee Cogin lähettämää viestiä.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Valitaan nyt Martyn liikepalikat. Klikkaa Martyn palikoiden Liike-luokkaa.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Olemme melkein perillä! Vedä 'Marty Dance' -lohko skriptialueelle. Tämä lohko saa Martyn tanssimaan, kun viesti vastaanotetaan.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Olemme melkein perillä! Vedä 'Marty Dance' -lohko 'on touch cog' -lohkon alle. Marty tanssii, kun Cogin painiketta painetaan.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Hienoa työtä! Olet onnistuneesti koodannut Cogin ja Martyn vuorovaikuttamaan keskenään. Klikkaa nyt Cogin painiketta nähdäksesi Martyn tanssivan!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Tee sävelmä",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Laitetaan Cog soittamaan sävelmä!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Passons maintenant à Marty. Pour voir les blocs Marty, il faut activer le mode Marty. Cliquez sur le bouton « Mode Marty ».",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Une fois en mode Marty, faites glisser le bloc « On message » de la catégorie Marty Start vers la zone de script. Ce bloc écoutera le message envoyé par Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Maintenant, sélectionnons les blocs de mouvement de Marty. Cliquez sur la catégorie « Mouvement » des blocs Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "On y est presque ! Faites glisser le bloc « Marty Dance » dans la zone de script. Ce bloc fera danser Marty à la réception du message.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "On y est presque ! Faites glisser le bloc « Marty Dance » sous le bloc « on touch cog ». Marty dansera lorsque le bouton de Cog sera pressé.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Bravo ! Vous avez réussi à coder Cog et Marty pour qu'ils interagissent. Cliquez maintenant sur le bouton de Cog pour voir Marty danser !",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Créer une mélodie",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Faisons jouer un air à Cog !",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Ora passiamo a Marty. Dobbiamo abilitare la Modalità Marty per vedere i blocchi di Marty. Clicca sul pulsante Modalità Marty.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Una volta in modalità Marty, trascina il blocco \"su messaggio\" dalla categoria Marty Start all'area script. Questo blocco ascolterà il messaggio inviato da Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Ora selezioniamo i blocchi di movimento di Marty. Fai clic sulla categoria Movimento dei blocchi di Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ci siamo quasi! Trascina il blocco \"Marty Dance\" nell'area dello script. Questo blocco farà ballare Marty quando riceve il messaggio.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ci siamo quasi! Trascina il blocco \"Marty Dance\" sotto il blocco \"on touch cog\". Marty ballerà quando verrà premuto il pulsante di Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Ottimo lavoro! Hai programmato con successo Cog e Marty per interagire tra loro. Ora clicca sul pulsante di Cog per vedere Marty ballare!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Crea una melodia",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Facciamo suonare una melodia a Cog!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "では、Marty に移りましょう。Marty ブロックを表示するには、Marty モードを有効にする必要があります。Marty モードボタンをクリックしてください。",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Martyモードになったら、「Marty Start」カテゴリから「on message」ブロックをスクリプトエリアにドラッグします。このブロックはCogから送信されるメッセージをリッスンします。",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "では、Martyのモーションブロックを選択しましょう。Martyブロックの「モーション」カテゴリをクリックします。",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "もうすぐです!「Marty Dance」ブロックをスクリプトエリアにドラッグしてください。このブロックは、メッセージを受信したときにMartyを踊らせます。",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "もうすぐです!「Marty Dance」ブロックを「on touch cog」ブロックの下につなげてください。Cog のボタンを押すと Marty が踊ります。",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "よくできました!CogとMartyが相互にやり取りするコードが完成しました。CogのボタンをクリックしてMartyのダンスを見てみましょう!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. 曲を作る",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Cog に曲を演奏させましょう!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "이제 Marty로 넘어가 볼까요? Marty 블록을 보려면 Marty Mode를 활성화해야 합니다. Marty Mode 버튼을 클릭하세요.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Marty Mode에 진입하면 Marty Start 카테고리에서 '메시지 수신' 블록을 스크립트 영역으로 드래그하세요. 이 블록은 Cog에서 전송된 메시지를 수신합니다.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "이제 Marty의 동작 블록을 선택해 보겠습니다. Marty 블록의 동작 카테고리를 클릭하세요.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "거의 다 왔어요! '마티 댄스' 블록을 스크립트 영역으로 끌어다 놓으세요. 블록은 메시지를 받으면 마티가 춤을 추도록 합니다.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "거의 다 왔어요! '마티 댄스' 블록을 'on touch cog' 블록 아래에 연결하세요. Cog의 버튼을 누르면 마티가 춤을 춥니다.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "잘했어요! Cog와 Marty가 서로 소통하도록 코딩이 완료되었습니다. 이제 Cog의 버튼을 클릭하여 Marty가 춤추는 모습을 감상해 보세요!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. 곡을 만들어 보세요",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "코그에게 곡을 연주하게 해 보자!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Laten we nu naar Marty gaan. We moeten de Marty-modus inschakelen om de Marty-blokken te zien. Klik op de Marty-modusknop.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "In de Marty-modus sleep je het blok 'op bericht' van de categorie Marty Start naar het scriptgebied. Dit blok luistert naar het bericht dat door Cog is verzonden.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Laten we nu Marty's bewegingsblokken selecteren. Klik op de categorie Beweging van Marty-blokken.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "We zijn er bijna! Sleep het blok 'Marty Dance' naar het scriptgebied. Dit blok zorgt ervoor dat Marty gaat dansen wanneer het bericht wordt ontvangen.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "We zijn er bijna! Sleep het blok 'Marty Dance' onder het blok 'on touch cog'. Marty danst wanneer de knop van Cog wordt ingedrukt.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Goed gedaan! Je hebt Cog en Marty succesvol geprogrammeerd om met elkaar te communiceren. Klik nu op Cogs knop om Marty te zien dansen!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Maak een melodie",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Laten we Cog een liedje laten spelen!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "La oss nå flytte til Marty. Vi må aktivere Marty Mode for å se Marty-blokkene. Klikk på Marty Mode-knappen.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Når du er i Marty-modus, drar du \"on message\"-blokken fra Marty Start-kategorien til skriptområdet. Denne blokken vil lytte etter meldingen sendt av Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "La oss nå velge Martys bevegelsesblokker. Klikk på bevegelseskategorien til Marty-blokker.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi er nesten der! Dra 'Marty Dance'-blokken til manusområdet. Denne blokken vil Marty til å danse når meldingen mottas.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi er nesten der! Dra 'Marty Dance'-blokken under 'on touch cog'-blokken. Marty danser når du trykker knappen Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Flott jobb! Du har kodet Cog og Marty til å samhandle med hverandre. Klikk nå på Cogs-knappen for å se Marty danse!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Lag en melodi",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "La oss få Cog til å spille en melodi!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Teraz przejdźmy do Marty'ego. Musimy włączyć tryb Marty'ego, aby zobaczyć bloki Marty'ego. Kliknij przycisk Marty Mode.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "W trybie Marty'ego przeciągnij blok 'on message' z kategorii Marty Start do obszaru skryptu. Ten blok będzie nasłuchiwał wiadomości wysyłanej przez Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Teraz wybierzmy bloki ruchu Marty'ego. Kliknij kategorię Ruch bloków Marty'ego.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Już prawie skończyliśmy! Przeciągnij blok „Marty Dance” do obszaru skryptu. Ten blok sprawi, że Marty zatańczy, gdy wiadomość zostanie odebrana.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Już prawie skończyliśmy! Przeciągnij blok „Marty Dance” pod blok „on touch cog”. Marty zatańczy po naciśnięciu przycisku na Cogu.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Świetna robota! Udało Ci się zakodować Cog i Marty, aby ze sobą wchodzili w interakcje. Teraz kliknij przycisk Cog, aby zobaczyć taniec Marty'ego!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Stwórz melodię",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Niech Cog zagra melodię!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Agora vamos para o Marty. Precisamos ativar o Modo Marty para ver os blocos do Marty. Clique no botão Modo Marty.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "No Modo Marty, arraste o bloco \"on message\" da categoria \"Marty Start\" para a área de script. Este bloco escutará a mensagem enviada pelo Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Agora, vamos selecionar os blocos de movimento do Marty. Clique na categoria Movimento dos blocos do Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Estamos quase lá! Arraste o bloco \"Marty Dance\" para a área de script. Este bloco fará Marty dançar quando a mensagem for recebida.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Estamos quase lá! Arraste o bloco \"Marty Dance\" para baixo do bloco \"on touch cog\". Marty dançará quando o botão do Cog for pressionado.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Ótimo trabalho! Você codificou o Cog e o Marty para interagirem um com o outro. Agora clique no botão do Cog para ver o Marty dançar!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Faça uma melodia",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Vamos fazer o Cog tocar uma música!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Agora vamos para o Marty. Precisamos ativar o Modo Marty para ver os blocos do Marty. Clique no botão Modo Marty.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "No Modo Marty, arraste o bloco \"on message\" da categoria \"Marty Start\" para a área de script. Este bloco escutará a mensagem enviada pelo Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Agora, vamos selecionar os blocos de movimento do Marty. Clique na categoria Movimento dos blocos do Marty.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Estamos quase lá! Arraste o bloco \"Marty Dance\" para a área de script. Este bloco fará Marty dançar quando a mensagem for recebida.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Estamos quase lá! Arraste o bloco \"Marty Dance\" para baixo do bloco \"on touch cog\". Marty dançará quando o botão do Cog for pressionado.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Ótimo trabalho! Você codificou o Cog e o Marty para interagirem um com o outro. Agora clique no botão do Cog para ver o Marty dançar!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Faça uma melodia",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Vamos fazer o Cog tocar uma música!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Låt oss nu flytta till Marty. Vi måste aktivera Marty Mode för att se Marty-blocken. Klicka på Marty Mode-knappen.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Väl i Marty-läge, dra \"på meddelande\"-blocket från Marty Start-kategorin till skriptområdet. Detta block kommer att lyssna efter meddelandet som skickas av Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Låt oss nu välja Martys rörelseblock. Klicka på rörelsekategorin Marty-block.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi är nästan framme! Dra \"Marty Dance\"-blocket till skriptområdet. Detta block kommer att få Marty att dansa när meddelandet tas emot.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Vi är nästan framme! Dra \"Marty Dance\"-blocket under \"on touch cog\"-blocket. Marty dansar när Cogs knapp trycks in.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Bra jobbat! Du har framgångsrikt kodat Cog och Marty för att interagera med varandra. Klicka nu på Cogs knapp för att se Marty dansa!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Gör en låt",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Låt oss få Cog att spela en låt!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "ตอนนี้มาดูที่ Marty กัน เราต้องเปิดใช้งานโหมด Marty เพื่อดูบล็อค Marty คลิกที่ปุ่มโหมด Marty",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "เมื่ออยู่ในโหมด Marty ให้ลากบล็อก 'on message' จากหมวดหมู่ Marty Start ไปยังพื้นที่สคริปต์ บล็อกนี้จะคอยฟังข้อความที่ส่งโดย Cog",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "ตอนนี้เรามาเลือกบล็อกการเคลื่อนไหวของ Marty กัน คลิกที่หมวดหมู่การเคลื่อนไหวในบล็อกของ Marty",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "ใกล้จะเสร็จแล้ว! ลากบล็อก 'Marty Dance' ไปยังพื้นที่สคริปต์ บล็อกนี้จะทำให้ Marty เต้นเมื่อได้รับข้อความ",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "ใกล้จะเสร็จแล้ว! ลากบล็อก 'Marty Dance' ไปต่อใต้บล็อก 'on touch cog' Marty จะเต้นเมื่อกดปุ่มของ Cog",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "เยี่ยมมาก! คุณได้เขียนโค้ด Cog และ Marty ให้โต้ตอบกันได้สำเร็จแล้ว ตอนนี้คลิกปุ่มของ Cog เพื่อดู Marty เต้น!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. แต่งเพลง",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "มาทำให้ Cog เล่นเพลงกันเถอะ!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Şimdi Marty'ye geçelim. Marty bloklarını görmek için Marty Modunu etkinleştirmemiz gerekiyor. Marty Modu düğmesine tıklayın.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "Marty Modu'ndayken, 'on message' bloğunu Marty Start kategorisinden script alanına sürükleyin. Bu blok Cog tarafından gönderilen mesajı dinleyecektir.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Şimdi Marty'nin hareket bloklarını seçelim. Marty bloklarının Hareket kategorisine tıklayın.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Neredeyse oradayız! 'Marty Dance' bloğunu script alanına sürükleyin. Bu blok, mesaj alındığında Marty'nin dans etmesini sağlayacak.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Neredeyse oradayız! 'Marty Dance' bloğunu 'on touch cog' bloğunun altına sürükleyin. Cog'un düğmesine basıldığında Marty dans edecek.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Harika iş! Cog ve Marty'yi birbirleriyle etkileşime girecek şekilde başarıyla kodladınız. Şimdi Marty'nin dansını görmek için Cog'un düğmesine tıklayın!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Bir melodi yap",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Haydi Cog'a bir şarkı çaldıralım!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "Тепер перейдемо до Марті. Нам потрібно ввімкнути режим Марті, щоб побачити блоки Марті. Натисніть кнопку режиму Марті.",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "У режимі Marty перетягніть блок «on message» із категорії Marty Start до області сценарію. Цей блок прослуховуватиме повідомлення, надіслане Cog.",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "Тепер давайте виберемо блоки руху Марті. Клацніть категорію «Рух» блоків Марті.",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ми майже на місці! Перетягніть блок «Marty Dance» в область сценарію. Цей блок змусить Марті танцювати, коли буде отримано повідомлення.",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "Ми майже на місці! Перетягніть блок «Marty Dance» під блок «on touch cog». Марті танцюватиме, коли буде натиснуто кнопку Cog.",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "Чудова робота! Ви успішно закодували Cog і Marty для взаємодії один з одним. Тепер натисніть кнопку Cog, щоб побачити танці Марті!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. Складіть мелодію",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "Давайте змусимо Cog заграти мелодію!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "现在让我们转到 Marty。我们需要启用 Marty 模式才能查看 Marty 积木。点击 Marty 模式按钮。",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "进入 Marty 模式后,将“on message”积木从 Marty Start 类别拖到脚本区域。该积木将监听 Co​​g 发送的消息。",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "现在,让我们选择 Marty 的运动积木。点击 Marty 积木的“运动”类别。",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "快完成了!将“Marty Dance”积木拖到脚本区域。这个积木会让 Marty 在收到消息时跳舞。",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "快完成了!将“Marty Dance”积木连接到“on touch cog”积木下方。按下 Cog 的按钮时,Marty 就会跳舞。",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "太棒了!你成功编写了 Cog 和 Marty 之间的交互代码。现在点击 Cog 的按钮,就能看到 Marty 跳舞啦!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. 创作一首曲子",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "让我们让 Cog 演奏一段曲子吧!",
@@ -599,7 +599,7 @@
599
599
  "COG_AND_MARTY_TUTORIAL_MARTY_MODE": "現在讓我們轉到 Marty。我們需要啟用 Marty 模式才能查看 Marty 積木。點擊 Marty 模式按鈕。",
600
600
  "COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK": "進入 Marty 模式後,將「on message」積木從 Marty Start 類別拖曳到腳本區域。該積木將監聽 Cog 發送的訊息。",
601
601
  "COG_AND_MARTY_TUTORIAL_MARTY_MOTION_BLOCKS": "現在,讓我們選擇 Marty 的運動積木。點選 Marty 積木的「運動」類別。",
602
- "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "快完成了!將“Marty Dance”積木拖到腳本區域。這個積木會讓 Marty 在收到消息時跳舞。",
602
+ "COG_AND_MARTY_TUTORIAL_MARTY_DANCE_BLOCK": "快完成了!將「Marty Dance」積木連接到「on touch cog」積木下方。按下 Cog 的按鈕時,Marty 就會跳舞。",
603
603
  "COG_AND_MARTY_TUTORIAL_END": "太棒了!你成功寫了 Cog 和 Marty 之間的互動程式碼。現在點擊 Cog 的按鈕,就能看到 Marty 跳舞啦!",
604
604
  "COG_JRBLOCKS1_TITLE": "1. 創作一首曲子",
605
605
  "COG_JRBLOCKS1_STEP_1_TEXT": "讓我們讓 Cog 演奏一段曲子吧!",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robotical/martyblocksjr",
3
- "version": "4.2.6",
3
+ "version": "4.2.7",
4
4
  "description": "ScratchJr",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,48 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import goToLink from "../src/utils/goToLink";
3
+
4
+ describe("goToLink", () => {
5
+ afterEach(() => {
6
+ vi.unstubAllGlobals();
7
+ });
8
+
9
+ it("keeps query parameters when the server redirects HTML pages to clean URLs", async () => {
10
+ const targetWindow = { location: { href: "initial" } };
11
+ const fetchMock = vi.fn().mockResolvedValue({ redirected: true });
12
+ vi.stubGlobal("fetch", fetchMock);
13
+
14
+ await goToLink(
15
+ "http://localhost:3011/editor.html?pmd5=-1&mode=edit&tutorial=marty-jr-blocks-1",
16
+ targetWindow
17
+ );
18
+
19
+ expect(fetchMock).toHaveBeenCalledWith(
20
+ "http://localhost:3011/editor.html?pmd5=-1&mode=edit&tutorial=marty-jr-blocks-1"
21
+ );
22
+ expect(targetWindow.location.href).toBe(
23
+ "http://localhost:3011/editor?pmd5=-1&mode=edit&tutorial=marty-jr-blocks-1"
24
+ );
25
+ });
26
+
27
+ it("keeps HTML page URLs for wrapper servers that do not redirect", async () => {
28
+ const targetWindow = { location: { href: "initial" } };
29
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ redirected: false }));
30
+
31
+ await goToLink("./MartyBlocksJR/editor.html?tutorial=cog-jrblocks-1", targetWindow);
32
+
33
+ expect(targetWindow.location.href).toBe(
34
+ "./MartyBlocksJR/editor.html?tutorial=cog-jrblocks-1"
35
+ );
36
+ });
37
+
38
+ it("falls back to the HTML page URL when redirect detection is unavailable", async () => {
39
+ const targetWindow = { location: { href: "initial" } };
40
+ vi.stubGlobal("fetch", vi.fn().mockRejectedValue(new Error("fetch unavailable")));
41
+
42
+ await goToLink("editor.html?tutorial=cog-and-marty-tutorial", targetWindow);
43
+
44
+ expect(targetWindow.location.href).toBe(
45
+ "editor.html?tutorial=cog-and-marty-tutorial"
46
+ );
47
+ });
48
+ });
@@ -0,0 +1,42 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+
3
+ vi.mock('@/utils/Localization', () => ({
4
+ default: {
5
+ localize: key => key
6
+ }
7
+ }));
8
+
9
+ describe('Cog and Marty tutorial', () => {
10
+ it('builds one direct Cog-triggered Marty script in Marty mode', async () => {
11
+ const { default: tutorial } = await import('@/tutorial/tutorials-data/cog-and-marty.js');
12
+ const steps = tutorial.tutorialSteps;
13
+ const actions = steps.flatMap(step => [
14
+ ...(step.instructionActions || []),
15
+ ...(step.nextStepActions || []),
16
+ ...(step.hintActions || [])
17
+ ]);
18
+
19
+ expect(steps).toHaveLength(8);
20
+ const cogCategoryStep = steps.find(step =>
21
+ step.instructionActions.some(action => action.text === 'COG_AND_MARTY_TUTORIAL_COG_BLOCKS'));
22
+ expect(cogCategoryStep.nextStepActions[0]).toEqual({ type: 'ShowMartyMode' });
23
+ expect(actions.filter(action => action.type === 'HighlightElement').map(action => action.elementId))
24
+ .not.toContain('martyMode');
25
+
26
+ expect(actions.filter(action => action.type === 'ShowCategory').map(action => action.category))
27
+ .not.toContain('sprite-start');
28
+ expect(actions.flatMap(action => action.blocks || (action.block ? [action.block] : [])))
29
+ .not.toEqual(expect.arrayContaining(['message_block', 'onmessage_block']));
30
+ expect(actions.filter(action => action.type === 'ShowInstructorText').map(action => action.text))
31
+ .not.toEqual(expect.arrayContaining([
32
+ 'COG_AND_MARTY_TUTORIAL_SPRITE_BLOCKS',
33
+ 'COG_AND_MARTY_TUTORIAL_MESSAGE_BLOCK',
34
+ 'COG_AND_MARTY_TUTORIAL_ONMESSAGE_BLOCK'
35
+ ]));
36
+
37
+ expect(steps.flatMap(step => step.expectedCode || [])).toEqual([
38
+ 'ontouchcog',
39
+ 'ontouchcog=>martyDance'
40
+ ]);
41
+ });
42
+ });