Skip to content

Commit

Permalink
SimpleCache StarlingMonkey port (#767)
Browse files Browse the repository at this point in the history
  • Loading branch information
guybedford committed May 8, 2024
1 parent 794eaa6 commit 988838f
Show file tree
Hide file tree
Showing 8 changed files with 1,021 additions and 15 deletions.
13 changes: 5 additions & 8 deletions integration-tests/js-compute/fixtures/app/src/cache-simple.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
/* eslint-env serviceworker */

import { pass, assert, assertDoesNotThrow, assertThrows, assertRejects, iteratableToStream, streamToString, assertResolves } from "./assertions.js";
import { SimpleCache } from 'fastly:cache';
import * as fastlyCache from 'fastly:cache';
import { SimpleCache, SimpleCacheEntry } from 'fastly:cache';
import { routes, isRunningLocally } from "./routes.js";

const { SimpleCacheEntry } = fastlyCache;

let error;
routes.set("/simple-cache/interface", () => {
let actual = Reflect.ownKeys(SimpleCache)
Expand Down Expand Up @@ -255,7 +252,7 @@ routes.set("/simple-cache/interface", () => {
if (!isRunningLocally()) {
error = assertThrows(() => {
new SimpleCache.purge('1', { scope: "global" })
}, TypeError, `SimpleCache.purge is not a constructor`)
}, TypeError)
if (error) { return error }
}
return pass()
Expand Down Expand Up @@ -373,7 +370,7 @@ routes.set("/simple-cache/interface", () => {
if (!isRunningLocally()) {
error = assertThrows(() => {
new SimpleCache.set('1', 'meow', 1)
}, TypeError, `SimpleCache.set is not a constructor`)
}, TypeError)
if (error) { return error }
}
return pass()
Expand Down Expand Up @@ -818,7 +815,7 @@ routes.set("/simple-cache/interface", () => {
if (!isRunningLocally()) {
let error = assertThrows(() => {
new SimpleCache.get('1')
}, TypeError, `SimpleCache.get is not a constructor`)
}, TypeError)
if (error) { return error }
}
return pass()
Expand Down Expand Up @@ -1188,7 +1185,7 @@ async function simpleCacheEntryInterfaceTests() {
ttl: 10
}
});
}, TypeError, `SimpleCache.getOrSet is not a constructor`)
}, TypeError)
if (error) { return error }
}
return pass()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,91 @@
"GET /cache-override/constructor/valid-mode",
"GET /cache-override/fetch/mode-none",
"GET /cache-override/fetch/mode-pass",
"GET /simple-cache/interface",
"GET /simple-store/constructor/called-as-regular-function",
"GET /simple-cache/constructor/throws",
"GET /simple-cache/purge/called-as-constructor",
"GET /simple-cache/purge/key-parameter-calls-7.1.17-ToString",
"GET /simple-cache/purge/key-parameter-not-supplied",
"GET /simple-cache/purge/key-parameter-empty-string",
"GET /simple-cache/purge/key-parameter-8135-character-string",
"GET /simple-cache/purge/key-parameter-8136-character-string",
"GET /simple-cache/purge/options-parameter",
"GET /simple-cache/purge/returns-undefined",
"GET /simple-cache/set/called-as-constructor",
"GET /simple-cache/set/key-parameter-calls-7.1.17-ToString",
"GET /simple-cache/set/tll-parameter-7.1.4-ToNumber",
"GET /simple-cache/set/no-parameters-supplied",
"GET /simple-cache/set/key-parameter-empty-string",
"GET /simple-cache/set/key-parameter-8135-character-string",
"GET /simple-cache/set/key-parameter-8136-character-string",
"GET /simple-cache/set/ttl-parameter-negative-number",
"GET /simple-cache/set/ttl-parameter-NaN",
"GET /simple-cache/set/ttl-parameter-Infinity",
"GET /simple-cache/set/value-parameter-as-undefined",
"GET /simple-cache/set/value-parameter-readablestream-missing-length-parameter",
"GET /simple-cache/set/value-parameter-readablestream-negative-length-parameter",
"GET /simple-cache/set/value-parameter-readablestream-nan-length-parameter",
"GET /simple-cache/set/value-parameter-readablestream-negative-infinity-length-parameter",
"GET /simple-cache/set/value-parameter-readablestream-positive-infinity-length-parameter",
"GET /simple-cache/set/length-parameter-7.1.4-ToNumber",
"GET /simple-cache/set/value-parameter-readablestream-empty",
"GET /simple-cache/set/value-parameter-readablestream-locked",
"GET /simple-cache/set/value-parameter-readablestream",
"GET /simple-cache/set/value-parameter-URLSearchParams",
"GET /simple-cache/set/value-parameter-strings",
"GET /simple-cache/set/value-parameter-calls-7.1.17-ToString",
"GET /simple-cache/set/value-parameter-buffer",
"GET /simple-cache/set/value-parameter-arraybuffer",
"GET /simple-cache/set/value-parameter-typed-arrays",
"GET /simple-cache/set/value-parameter-dataview",
"GET /simple-cache/set/returns-undefined",
"GET /simple-cache/get/called-as-constructor",
"GET /simple-cache/get/key-parameter-calls-7.1.17-ToString",
"GET /simple-cache/get/key-parameter-not-supplied",
"GET /simple-cache/get/key-parameter-empty-string",
"GET /simple-cache/get/key-parameter-8135-character-string",
"GET /simple-cache/get/key-parameter-8136-character-string",
"GET /simple-cache/get/key-does-not-exist-returns-null",
"GET /simple-cache/get/key-exists",
"GET /simple-cache-entry/interface",
"GET /simple-cache-entry/text/valid",
"GET /simple-cache-entry/json/valid",
"GET /simple-cache-entry/json/invalid",
"GET /simple-cache-entry/arrayBuffer/valid",
"GET /simple-cache-entry/body",
"GET /simple-cache-entry/bodyUsed",
"GET /simple-cache-entry/readablestream",
"GET /simple-cache/getOrSet/called-as-constructor",
"GET /simple-cache/getOrSet/no-parameters-supplied",
"GET /simple-cache/getOrSet/key-parameter-calls-7.1.17-ToString",
"GET /simple-cache/getOrSet/key-parameter-empty-string",
"GET /simple-cache/getOrSet/key-parameter-8135-character-string",
"GET /simple-cache/getOrSet/key-parameter-8136-character-string",
"GET /simple-cache/getOrSet/ttl-field-7.1.4-ToNumber",
"GET /simple-cache/getOrSet/ttl-field-negative-number",
"GET /simple-cache/getOrSet/ttl-field-NaN",
"GET /simple-cache/getOrSet/ttl-field-Infinity",
"GET /simple-cache/getOrSet/value-field-as-undefined",
"GET /simple-cache/getOrSet/value-field-readablestream-missing-length-field",
"GET /simple-cache/getOrSet/value-field-readablestream-negative-length-field",
"GET /simple-cache/getOrSet/value-field-readablestream-nan-length-field",
"GET /simple-cache/getOrSet/value-field-readablestream-negative-infinity-length-field",
"GET /simple-cache/getOrSet/value-field-readablestream-positive-infinity-length-field",
"GET /simple-cache/getOrSet/length-field-7.1.4-ToNumber",
"GET /simple-cache/getOrSet/value-field-readablestream-empty",
"GET /simple-cache/getOrSet/value-field-readablestream-locked",
"GET /simple-cache/getOrSet/value-field-readablestream",
"GET /simple-cache/getOrSet/value-field-URLSearchParams",
"GET /simple-cache/getOrSet/value-field-strings",
"GET /simple-cache/getOrSet/value-field-calls-7.1.17-ToString",
"GET /simple-cache/getOrSet/value-field-buffer",
"GET /simple-cache/getOrSet/value-field-typed-arrays",
"GET /simple-cache/getOrSet/value-field-dataview",
"GET /simple-cache/getOrSet/returns-SimpleCacheEntry",
"GET /simple-cache/getOrSet/executes-the-set-method-when-key-not-in-cache",
"GET /simple-cache/getOrSet/does-not-execute-the-set-method-when-key-is-in-cache",
"GET /simple-cache/getOrSet/does-not-freeze-when-called-after-a-get",
"GET /client/tlsJA3MD5",
"GET /client/tlsClientHello",
"GET /client/tlsClientCertificate",
Expand Down
2 changes: 1 addition & 1 deletion runtime/fastly/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 3.27)
include("../StarlingMonkey/cmake/add_as_subproject.cmake")

add_builtin(fastly::runtime SRC handler.cpp host-api/component/fastly_world_adapter.cpp)
add_builtin(fastly::cache_simple SRC builtins/cache-simple.cpp DEPENDENCIES OpenSSL)
add_builtin(fastly::fastly SRC builtins/fastly.cpp)
add_builtin(fastly::backend SRC builtins/backend.cpp)
add_builtin(fastly::fetch SRC builtins/fetch/fetch.cpp builtins/fetch/request-response.cpp builtins/fetch/headers.cpp)
add_builtin(fastly::cache_override SRC builtins/cache-override.cpp)
add_builtin(fastly::fetch_event SRC builtins/fetch-event.cpp)
add_builtin(fastly::cache_simple SRC builtins/cache-simple.cpp DEPENDENCIES OpenSSL)

project(FastlyJS)
Loading

0 comments on commit 988838f

Please sign in to comment.