diff --git a/test/sourcemaps/samples/sourcemap-basename/_config.js b/test/sourcemaps/samples/sourcemap-basename/_config.js
new file mode 100644
index 0000000000..d50dd882a6
--- /dev/null
+++ b/test/sourcemaps/samples/sourcemap-basename/_config.js
@@ -0,0 +1,33 @@
+import { magic_string_bundle } from '../../helpers';
+
+export const component_filepath = 'src/input.svelte';
+
+export const component_file_basename = 'input.svelte';
+
+// as output by external tool for src/external_code.css (relative to src/input.svelte)
+export const external_relative_filename = 'external_code.css';
+
+const external_code = `
+span {
+ --external_code-var: 1px;
+}
+`;
+
+export default {
+ css_map_sources: [external_relative_filename],
+ js_map_sources: [],
+ preprocess: [
+ {
+ style: ({ content, filename }) => {
+ const external =`/* Filename from preprocess: ${filename} */` + external_code;
+ return magic_string_bundle([
+ { code: external, filename: external_relative_filename },
+ { code: content, filename }
+ ]);
+ }
+ }
+ ],
+ options: {
+ filename: component_filepath
+ }
+};
diff --git a/test/sourcemaps/samples/sourcemap-basename/input.svelte b/test/sourcemaps/samples/sourcemap-basename/input.svelte
new file mode 100644
index 0000000000..72e524a308
--- /dev/null
+++ b/test/sourcemaps/samples/sourcemap-basename/input.svelte
@@ -0,0 +1,3 @@
+
+
+Hello world
diff --git a/test/sourcemaps/samples/sourcemap-basename/test.js b/test/sourcemaps/samples/sourcemap-basename/test.js
new file mode 100644
index 0000000000..34f6504722
--- /dev/null
+++ b/test/sourcemaps/samples/sourcemap-basename/test.js
@@ -0,0 +1,15 @@
+import { component_filepath, component_file_basename, external_relative_filename } from './_config';
+
+export function test({ assert, preprocessed }) {
+ assert.notEqual(
+ preprocessed.locate(`/* Filename from preprocess: ${component_filepath} */`),
+ undefined,
+ 'Preprocessor should receive same value for filename as passed to preprocess function'
+ );
+
+ assert.deepEqual(
+ preprocessed.map.sources.slice().sort(),
+ [external_relative_filename, component_file_basename].sort(),
+ 'Preprocessed map should contain sources relative to filepath'
+ );
+}