diff --git a/test/vars/samples/vars-report-false/_config.js b/test/vars/samples/vars-report-false/_config.js
new file mode 100644
index 000000000000..f4709f09c8b4
--- /dev/null
+++ b/test/vars/samples/vars-report-false/_config.js
@@ -0,0 +1,9 @@
+export default {
+ options: {
+ varsReport: false
+ },
+
+ test(assert, vars) {
+ assert.deepEqual(vars, []);
+ }
+};
diff --git a/test/vars/samples/vars-report-false/input.svelte b/test/vars/samples/vars-report-false/input.svelte
new file mode 100644
index 000000000000..7583c9984596
--- /dev/null
+++ b/test/vars/samples/vars-report-false/input.svelte
@@ -0,0 +1,5 @@
+
+
+{foo}
\ No newline at end of file
diff --git a/test/vars/samples/vars-report-full-noscript/_config.js b/test/vars/samples/vars-report-full-noscript/_config.js
new file mode 100644
index 000000000000..9c393245183b
--- /dev/null
+++ b/test/vars/samples/vars-report-full-noscript/_config.js
@@ -0,0 +1,19 @@
+export default {
+ options: {
+ varsReport: 'full'
+ },
+
+ test(assert, vars) {
+ assert.deepEqual(vars, [{
+ name: 'foo',
+ export_name: null,
+ injected: false,
+ module: false,
+ mutated: false,
+ reassigned: false,
+ referenced: true,
+ referenced_from_script: false,
+ writable: false
+ }]);
+ }
+};
diff --git a/test/vars/samples/vars-report-full-noscript/input.svelte b/test/vars/samples/vars-report-full-noscript/input.svelte
new file mode 100644
index 000000000000..e076ac55f82a
--- /dev/null
+++ b/test/vars/samples/vars-report-full-noscript/input.svelte
@@ -0,0 +1 @@
+{foo}
\ No newline at end of file
diff --git a/test/vars/samples/vars-report-full-script/_config.js b/test/vars/samples/vars-report-full-script/_config.js
new file mode 100644
index 000000000000..2519dc55089b
--- /dev/null
+++ b/test/vars/samples/vars-report-full-script/_config.js
@@ -0,0 +1,31 @@
+export default {
+ options: {
+ varsReport: 'full'
+ },
+
+ test(assert, vars) {
+ assert.deepEqual(vars, [
+ {
+ name: 'foo',
+ export_name: 'foo',
+ injected: false,
+ module: false,
+ mutated: false,
+ reassigned: false,
+ referenced: true,
+ referenced_from_script: false,
+ writable: true
+ }, {
+ name: 'bar',
+ export_name: null,
+ injected: false,
+ module: false,
+ mutated: false,
+ reassigned: false,
+ referenced: true,
+ referenced_from_script: false,
+ writable: false
+ }
+ ]);
+ }
+};
diff --git a/test/vars/samples/vars-report-full-script/input.svelte b/test/vars/samples/vars-report-full-script/input.svelte
new file mode 100644
index 000000000000..11870584a68f
--- /dev/null
+++ b/test/vars/samples/vars-report-full-script/input.svelte
@@ -0,0 +1,5 @@
+
+
+{foo} {bar}
\ No newline at end of file
diff --git a/test/vars/samples/vars-report-full/_config.js b/test/vars/samples/vars-report-full/_config.js
new file mode 100644
index 000000000000..9c393245183b
--- /dev/null
+++ b/test/vars/samples/vars-report-full/_config.js
@@ -0,0 +1,19 @@
+export default {
+ options: {
+ varsReport: 'full'
+ },
+
+ test(assert, vars) {
+ assert.deepEqual(vars, [{
+ name: 'foo',
+ export_name: null,
+ injected: false,
+ module: false,
+ mutated: false,
+ reassigned: false,
+ referenced: true,
+ referenced_from_script: false,
+ writable: false
+ }]);
+ }
+};
diff --git a/test/vars/samples/vars-report-full/input.svelte b/test/vars/samples/vars-report-full/input.svelte
new file mode 100644
index 000000000000..0178466fe32c
--- /dev/null
+++ b/test/vars/samples/vars-report-full/input.svelte
@@ -0,0 +1,3 @@
+
+
+{foo}
\ No newline at end of file