diff --git a/test/assets/highdpi.html b/test/assets/highdpi.html
new file mode 100644
index 0000000000..6e1295fe6f
--- /dev/null
+++ b/test/assets/highdpi.html
@@ -0,0 +1,7 @@
+
diff --git a/test/browsercontext-dsf.spec.ts b/test/browsercontext-dsf.spec.ts
new file mode 100644
index 0000000000..a203381494
--- /dev/null
+++ b/test/browsercontext-dsf.spec.ts
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { it, expect } from './fixtures';
+
+it('should fetch lodpi assets', async ({ contextFactory, server}) => {
+ const context = await contextFactory({
+ deviceScaleFactor: 1
+ });
+ const page = await context.newPage();
+ const [ request ] = await Promise.all([
+ page.waitForRequest('**/image*'),
+ page.goto(server.PREFIX + '/highdpi.html'),
+ ]);
+ expect(request.url()).toContain('image1x');
+});
+
+it('should fetch hidpi assets', async ({ contextFactory, server }) => {
+ const context = await contextFactory({
+ deviceScaleFactor: 2
+ });
+ const page = await context.newPage();
+ const [ request ] = await Promise.all([
+ page.waitForRequest('**/image*'),
+ page.goto(server.PREFIX + '/highdpi.html'),
+ ])
+ expect(request.url()).toContain('image2x');
+});