diff --git a/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg b/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg
deleted file mode 100755
index cf8e01588..000000000
--- a/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
\ No newline at end of file
diff --git a/src/lib/default-project/3696356a03a8d938318876a593572843.svg b/src/lib/default-project/3696356a03a8d938318876a593572843.svg
deleted file mode 100755
index 657f5b598..000000000
--- a/src/lib/default-project/3696356a03a8d938318876a593572843.svg
+++ /dev/null
@@ -1,37 +0,0 @@
-
\ No newline at end of file
diff --git a/src/lib/default-project/b7853f557e4426412e64bb3da6531a99.svg b/src/lib/default-project/b7853f557e4426412e64bb3da6531a99.svg
new file mode 100644
index 000000000..a537afb3a
--- /dev/null
+++ b/src/lib/default-project/b7853f557e4426412e64bb3da6531a99.svg
@@ -0,0 +1,42 @@
+
\ No newline at end of file
diff --git a/src/lib/default-project/e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg b/src/lib/default-project/e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg
new file mode 100644
index 000000000..d49c68211
--- /dev/null
+++ b/src/lib/default-project/e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg
@@ -0,0 +1,42 @@
+
\ No newline at end of file
diff --git a/src/lib/default-project/index.js b/src/lib/default-project/index.js
index 92f01c908..08dbdb32e 100644
--- a/src/lib/default-project/index.js
+++ b/src/lib/default-project/index.js
@@ -4,8 +4,8 @@ import projectData from './project-data';
import popWav from '!arraybuffer-loader!./83a9787d4cb6f3b7632b4ddfebf74367.wav';
import meowWav from '!arraybuffer-loader!./83c36d806dc92327b9e7049a565c6bff.wav';
import backdrop from '!raw-loader!./cd21514d0531fdffb22204e0ec5ed84a.svg';
-import costume1 from '!raw-loader!./09dc888b0b7df19f70d81588ae73420e.svg';
-import costume2 from '!raw-loader!./3696356a03a8d938318876a593572843.svg';
+import costume1 from '!raw-loader!./b7853f557e4426412e64bb3da6531a99.svg';
+import costume2 from '!raw-loader!./e6ddc55a6ddd9cc9d84fe0b4c21e016f.svg';
/* eslint-enable import/no-unresolved */
const defaultProject = translator => {
@@ -40,12 +40,12 @@ const defaultProject = translator => {
dataFormat: 'SVG',
data: encoder.encode(backdrop)
}, {
- id: '09dc888b0b7df19f70d81588ae73420e',
+ id: 'b7853f557e4426412e64bb3da6531a99',
assetType: 'ImageVector',
dataFormat: 'SVG',
data: encoder.encode(costume1)
}, {
- id: '3696356a03a8d938318876a593572843',
+ id: 'e6ddc55a6ddd9cc9d84fe0b4c21e016f',
assetType: 'ImageVector',
dataFormat: 'SVG',
data: encoder.encode(costume2)
diff --git a/test/unit/util/default-project.test.js b/test/unit/util/default-project.test.js
new file mode 100644
index 000000000..726519c41
--- /dev/null
+++ b/test/unit/util/default-project.test.js
@@ -0,0 +1,21 @@
+import defaultProjectGenerator from '../../../src/lib/default-project/index.js';
+
+describe('defaultProject', () => {
+ // This test ensures that the assets referenced in the default project JSON
+ // do not get out of sync with the raw assets that are included alongside.
+ // see https://github.com/LLK/scratch-gui/issues/4844
+ test('assets referenced by the project are included', () => {
+ const translatorFn = () => '';
+ const defaultProject = defaultProjectGenerator(translatorFn);
+ const includedAssetIds = defaultProject.map(obj => obj.id);
+ const projectData = JSON.parse(defaultProject[0].data);
+ projectData.targets.forEach(target => {
+ target.costumes.forEach(costume => {
+ expect(includedAssetIds.includes(costume.assetId)).toBe(true);
+ });
+ target.sounds.forEach(sound => {
+ expect(includedAssetIds.includes(sound.assetId)).toBe(true);
+ });
+ });
+ });
+});