Skip to content

Commit b38dd94

Browse files
author
Guy Bedford
authored
Port remaining StarlingMonkey builtins (#790)
1 parent 34c05eb commit b38dd94

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+4284
-333
lines changed

integration-tests/js-compute/fixtures/app/src/cache-core.js

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@
33

44
import { pass, assert, assertDoesNotThrow, assertThrows, sleep, streamToString, assertResolves } from "./assertions.js";
55
import { routes } from "./routes.js";
6-
import { CoreCache, CacheEntry } from 'fastly:cache';
7-
import * as fastlyCache from 'fastly:cache';
8-
import * as fastlyBody from "fastly:body";
9-
10-
const { CacheState, TransactionCacheEntry } = fastlyCache;
11-
const { FastlyBody } = fastlyBody;
6+
import { CoreCache, CacheEntry, CacheState, TransactionCacheEntry } from 'fastly:cache';
7+
import { FastlyBody } from "fastly:body";
128

139
let error;
1410

@@ -485,7 +481,7 @@ let error;
485481
routes.set("/core-cache/lookup/called-as-constructor", () => {
486482
let error = assertThrows(() => {
487483
new CoreCache.lookup('1')
488-
}, TypeError, `CoreCache.lookup is not a constructor`)
484+
}, TypeError)
489485
if (error) { return error }
490486
return pass("ok")
491487
});
@@ -631,7 +627,7 @@ let error;
631627
routes.set("/core-cache/insert/called-as-constructor", () => {
632628
let error = assertThrows(() => {
633629
new CoreCache.insert('1', { maxAge: 1 })
634-
}, TypeError, `CoreCache.insert is not a constructor`)
630+
}, TypeError)
635631
if (error) { return error }
636632
return pass("ok")
637633
});
@@ -1033,7 +1029,7 @@ let error;
10331029
routes.set("/core-cache/transactionLookup/called-as-constructor", () => {
10341030
let error = assertThrows(() => {
10351031
new CoreCache.transactionLookup('1')
1036-
}, TypeError, `CoreCache.transactionLookup is not a constructor`)
1032+
}, TypeError)
10371033
if (error) { return error }
10381034
return pass("ok")
10391035
});
@@ -1579,7 +1575,7 @@ let error;
15791575
routes.set("/cache-entry/close/called-as-constructor", () => {
15801576
let error = assertThrows(() => {
15811577
new CacheEntry.prototype.close()
1582-
}, TypeError, `CacheEntry.prototype.close is not a constructor`)
1578+
}, TypeError)
15831579
if (error) { return error }
15841580
return pass("ok")
15851581
});
@@ -1609,7 +1605,7 @@ let error;
16091605
routes.set("/cache-entry/state/called-as-constructor", () => {
16101606
let error = assertThrows(() => {
16111607
new CacheEntry.prototype.state()
1612-
}, TypeError, `CacheEntry.prototype.state is not a constructor`)
1608+
}, TypeError)
16131609
if (error) { return error }
16141610
return pass("ok")
16151611
});
@@ -1641,7 +1637,7 @@ let error;
16411637
routes.set("/cache-entry/userMetadata/called-as-constructor", () => {
16421638
let error = assertThrows(() => {
16431639
new CacheEntry.prototype.userMetadata()
1644-
}, TypeError, `CacheEntry.prototype.userMetadata is not a constructor`)
1640+
}, TypeError)
16451641
if (error) { return error }
16461642
return pass("ok")
16471643
});
@@ -1694,7 +1690,7 @@ let error;
16941690
routes.set("/cache-entry/body/called-as-constructor", () => {
16951691
let error = assertThrows(() => {
16961692
new CacheEntry.prototype.body()
1697-
}, TypeError, `CacheEntry.prototype.body is not a constructor`)
1693+
}, TypeError)
16981694
if (error) { return error }
16991695
return pass("ok")
17001696
});
@@ -1872,7 +1868,7 @@ let error;
18721868
routes.set("/cache-entry/length/called-as-constructor", () => {
18731869
let error = assertThrows(() => {
18741870
new CacheEntry.prototype.length()
1875-
}, TypeError, `CacheEntry.prototype.length is not a constructor`)
1871+
}, TypeError)
18761872
if (error) { return error }
18771873
return pass("ok")
18781874
});
@@ -1907,7 +1903,7 @@ let error;
19071903
routes.set("/cache-entry/maxAge/called-as-constructor", () => {
19081904
let error = assertThrows(() => {
19091905
new CacheEntry.prototype.maxAge()
1910-
}, TypeError, `CacheEntry.prototype.maxAge is not a constructor`)
1906+
}, TypeError)
19111907
if (error) { return error }
19121908
return pass("ok")
19131909
});
@@ -1937,7 +1933,7 @@ let error;
19371933
routes.set("/cache-entry/staleWhileRevalidate/called-as-constructor", () => {
19381934
let error = assertThrows(() => {
19391935
new CacheEntry.prototype.staleWhileRevalidate()
1940-
}, TypeError, `CacheEntry.prototype.staleWhileRevalidate is not a constructor`)
1936+
}, TypeError)
19411937
if (error) { return error }
19421938
return pass("ok")
19431939
});
@@ -1969,7 +1965,7 @@ let error;
19691965
routes.set("/cache-entry/age/called-as-constructor", () => {
19701966
let error = assertThrows(() => {
19711967
new CacheEntry.prototype.age()
1972-
}, TypeError, `CacheEntry.prototype.age is not a constructor`)
1968+
}, TypeError)
19731969
if (error) { return error }
19741970
return pass("ok")
19751971
});
@@ -2005,7 +2001,7 @@ let error;
20052001
routes.set("/cache-entry/hits/called-as-constructor", () => {
20062002
let error = assertThrows(() => {
20072003
new CacheEntry.prototype.hits()
2008-
}, TypeError, `CacheEntry.prototype.hits is not a constructor`)
2004+
}, TypeError)
20092005
if (error) { return error }
20102006
return pass("ok")
20112007
});
@@ -2264,7 +2260,7 @@ let error;
22642260
let error = assertThrows(() => {
22652261
let entry = CoreCache.transactionLookup('1')
22662262
new entry.insert({maxAge: 1})
2267-
}, TypeError, `entry.insert is not a constructor`)
2263+
}, TypeError)
22682264
if (error) { return error }
22692265
return pass("ok")
22702266
});
@@ -2526,7 +2522,7 @@ let error;
25262522
let error = assertThrows(() => {
25272523
let entry = CoreCache.transactionLookup(path)
25282524
new entry.insertAndStreamBack({maxAge: 1})
2529-
}, TypeError, `entry.insertAndStreamBack is not a constructor`)
2525+
}, TypeError)
25302526
if (error) { return error }
25312527
return pass("ok")
25322528
});
@@ -2834,7 +2830,7 @@ let error;
28342830
let error = assertThrows(() => {
28352831
let entry = CoreCache.transactionLookup(path)
28362832
new entry.update({maxAge: 1})
2837-
}, TypeError, `entry.update is not a constructor`)
2833+
}, TypeError)
28382834
if (error) { return error }
28392835
return pass("ok")
28402836
});
@@ -3161,7 +3157,7 @@ let error;
31613157
let error = assertThrows(() => {
31623158
let entry = CoreCache.transactionLookup(path)
31633159
new entry.cancel()
3164-
}, TypeError, `entry.cancel is not a constructor`)
3160+
}, TypeError)
31653161
if (error) { return error }
31663162
return pass("ok")
31673163
});

integration-tests/js-compute/fixtures/app/src/config-store.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
/* eslint-env serviceworker */
22
import { pass, assert } from "./assertions.js";
3-
import * as configStore from 'fastly:config-store'
3+
import { ConfigStore } from 'fastly:config-store'
44
import { routes } from "./routes.js";
55

6-
const { ConfigStore } = configStore;
7-
86
routes.set("/config-store", () => {
97
let config = new ConfigStore("testconfig");
108
let twitterValue = config.get("twitter");

integration-tests/js-compute/fixtures/app/src/device.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ routes.set("/device/interface", () => {
169169
routes.set("/device/lookup/called-as-constructor", () => {
170170
let error = assertThrows(() => {
171171
new Device.lookup('1')
172-
}, TypeError, `Device.lookup is not a constructor`)
172+
}, TypeError)
173173
if (error) { return error }
174174
return pass('ok')
175175
});

integration-tests/js-compute/fixtures/app/src/dictionary.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ import { routes } from "./routes.js";
9393
routes.set("/dictionary/get/called-as-constructor", () => {
9494
let error = assertThrows(() => {
9595
new Dictionary.prototype.get('1')
96-
}, TypeError, `Dictionary.prototype.get is not a constructor`)
96+
}, TypeError)
9797
if (error) { return error }
9898
return pass()
9999
});

integration-tests/js-compute/fixtures/app/src/edge-rate-limiter.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ let error;
256256
routes.set("/rate-counter/increment/called-as-constructor", () => {
257257
error = assertThrows(() => {
258258
new RateCounter.prototype.increment('entry', 1)
259-
}, Error, `RateCounter.prototype.increment is not a constructor`)
259+
}, Error)
260260
if (error) { return error }
261261
return pass('ok')
262262
});
@@ -344,7 +344,7 @@ let error;
344344
routes.set("/rate-counter/lookupRate/called-as-constructor", () => {
345345
error = assertThrows(() => {
346346
new RateCounter.prototype.lookupRate('entry', 1)
347-
}, Error, `RateCounter.prototype.lookupRate is not a constructor`)
347+
}, Error)
348348
if (error) { return error }
349349
return pass('ok')
350350
});
@@ -438,7 +438,7 @@ let error;
438438
routes.set("/rate-counter/lookupCount/called-as-constructor", () => {
439439
error = assertThrows(() => {
440440
new RateCounter.prototype.lookupCount('entry', 1)
441-
}, Error, `RateCounter.prototype.lookupCount is not a constructor`)
441+
}, Error)
442442
if (error) { return error }
443443
return pass('ok')
444444
});
@@ -750,7 +750,7 @@ let error;
750750
routes.set("/penalty-box/has/called-as-constructor", () => {
751751
error = assertThrows(() => {
752752
new PenaltyBox.prototype.has('entry')
753-
}, Error, `PenaltyBox.prototype.has is not a constructor`)
753+
}, Error)
754754
if (error) { return error }
755755
return pass('ok')
756756
});
@@ -806,7 +806,7 @@ let error;
806806
routes.set("/penalty-box/add/called-as-constructor", () => {
807807
error = assertThrows(() => {
808808
new PenaltyBox.prototype.add('entry', 1)
809-
}, Error, `PenaltyBox.prototype.add is not a constructor`)
809+
}, Error)
810810
if (error) { return error }
811811
return pass('ok')
812812
});
@@ -1064,7 +1064,7 @@ let error;
10641064
routes.set("/edge-rate-limiter/checkRate/called-as-constructor", () => {
10651065
error = assertThrows(() => {
10661066
new EdgeRateLimiter.prototype.checkRate('entry')
1067-
}, Error, `EdgeRateLimiter.prototype.checkRate is not a constructor`)
1067+
}, Error)
10681068
if (error) { return error }
10691069
return pass('ok')
10701070
});

integration-tests/js-compute/fixtures/app/src/fanout.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ routes.set("/createFanoutHandoff", () => {
2626
error = assert(result instanceof Response, true, 'result instanceof Response');
2727
if (error) { return error; }
2828

29-
error = assertThrows(() => new createFanoutHandoff(new Request('.'), 'hello'), TypeError, `createFanoutHandoff is not a constructor`)
29+
error = assertThrows(() => new createFanoutHandoff(new Request('.'), 'hello'), TypeError)
3030
if (error) { return error }
3131

3232
error = assertDoesNotThrow(() => {

integration-tests/js-compute/fixtures/app/src/logger.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import * as logger from "fastly:logger";
1+
import { Logger } from "fastly:logger";
22
import { routes, isRunningLocally } from "./routes";
33

4-
const { Logger } = logger;
5-
64
routes.set("/logger", () => {
75
if (isRunningLocally()) {
86
let logger = new Logger("ComputeLog");

integration-tests/js-compute/fixtures/app/src/react-byob.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2106,11 +2106,12 @@ routes.set("/react-byob", async () => {
21062106
});
21072107

21082108
function App() {
2109-
return q("html", {
2110-
children: [q("title", {
2109+
const qq = typeof jsx !== 'undefined' ? jsx : q;
2110+
return qq("html", {
2111+
children: [qq("title", {
21112112
children: "My app"
2112-
}), q("body", {
2113-
children: q("h1", {
2113+
}), qq("body", {
2114+
children: qq("h1", {
21142115
children: "App"
21152116
})
21162117
})]

integration-tests/js-compute/fixtures/app/src/secret-store.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
/* eslint-env serviceworker */
2-
import * as secretStore from 'fastly:secret-store'
2+
import { SecretStore, SecretStoreEntry } from 'fastly:secret-store'
33
import { pass, assert, assertThrows, assertRejects } from "./assertions.js";
44
import { routes } from "./routes.js";
55
import fc from './fast-check.js';
66

7-
const { SecretStore, SecretStoreEntry } = secretStore;
8-
97
// SecretStore
108
{
119
routes.set("/secret-store/exposed-as-global", () => {

0 commit comments

Comments
 (0)