summaryrefslogtreecommitdiff
path: root/node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts')
-rw-r--r--node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts44
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts b/node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts
new file mode 100644
index 0000000..6c634c8
--- /dev/null
+++ b/node_modules/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts
@@ -0,0 +1,44 @@
+import test from 'ava'
+import { mockRequestScope, mockGlobalScope } from '../mocks'
+mockGlobalScope()
+
+import { serveSinglePageApp } from '../index'
+
+function testRequest(path: string) {
+ mockRequestScope()
+ let url = new URL('https://example.com')
+ url.pathname = path
+ let request = new Request(url.toString())
+
+ return request
+}
+
+test('serveSinglePageApp returns root asset path when request path ends in .html', async (t) => {
+ let path = '/foo/thing.html'
+ let request = testRequest(path)
+
+ let expected_request = testRequest('/index.html')
+ let actual_request = serveSinglePageApp(request)
+
+ t.deepEqual(expected_request, actual_request)
+})
+
+test('serveSinglePageApp returns root asset path when request path does not have extension', async (t) => {
+ let path = '/foo/thing'
+ let request = testRequest(path)
+
+ let expected_request = testRequest('/index.html')
+ let actual_request = serveSinglePageApp(request)
+
+ t.deepEqual(expected_request, actual_request)
+})
+
+test('serveSinglePageApp returns requested asset when request path has non-html extension', async (t) => {
+ let path = '/foo/thing.js'
+ let request = testRequest(path)
+
+ let expected_request = request
+ let actual_request = serveSinglePageApp(request)
+
+ t.deepEqual(expected_request, actual_request)
+})