Skip to content

Commit 3d4daac

Browse files
committed
BridgeJS: Attempt at concentrating global and exports tests within single prelude.mjs
1 parent 9c0a787 commit 3d4daac

File tree

12 files changed

+13898
-258
lines changed

12 files changed

+13898
-258
lines changed

Makefile

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,6 @@ unittest:
1111
--disable-sandbox \
1212
js test --prelude ./Tests/prelude.mjs -Xnode --expose-gc
1313

14-
.PHONY: unittest-with-global
15-
unittest-with-global:
16-
cp Tests/BridgeJSRuntimeTests/bridge-js.config.exposeToGlobal.json Tests/BridgeJSRuntimeTests/bridge-js.config.local.json
17-
swift package --allow-writing-to-directory Tests/BridgeJSRuntimeTests \
18-
bridge-js --package-path Tests/BridgeJSRuntimeTests
19-
rm -f Tests/BridgeJSRuntimeTests/bridge-js.config.local.json
20-
env JAVASCRIPTKIT_EXPERIMENTAL_BRIDGEJS=1 swift package --swift-sdk "$(SWIFT_SDK_ID)" \
21-
--disable-sandbox \
22-
js test --prelude ./Tests/prelude.exposeToGlobal.mjs -Xnode --expose-gc
23-
2414
.PHONY: regenerate_swiftpm_resources
2515
regenerate_swiftpm_resources:
2616
npm run build

Package.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,17 @@ let package = Package(
180180
],
181181
linkerSettings: testingLinkerFlags
182182
),
183+
.testTarget(
184+
name: "BridgeJSGlobalTests",
185+
dependencies: ["JavaScriptKit", "JavaScriptEventLoop"],
186+
exclude: [
187+
"bridge-js.config.json",
188+
"bridge-js.d.ts",
189+
],
190+
swiftSettings: [
191+
.enableExperimentalFeature("Extern")
192+
],
193+
linkerSettings: testingLinkerFlags
194+
),
183195
]
184196
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../BridgeJSRuntimeTests/ExportAPITests.swift

Tests/BridgeJSGlobalTests/Generated/BridgeJS.ExportSwift.swift

Lines changed: 5397 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
// NOTICE: This is auto-generated code by BridgeJS from JavaScriptKit,
2+
// DO NOT EDIT.
3+
//
4+
// To update this file, just rebuild your project or run
5+
// `swift package bridge-js`.
6+
7+
@_spi(BridgeJS) import JavaScriptKit
8+
9+
func jsRoundTripVoid() throws(JSException) -> Void {
10+
#if arch(wasm32)
11+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsRoundTripVoid")
12+
func bjs_jsRoundTripVoid() -> Void
13+
#else
14+
func bjs_jsRoundTripVoid() -> Void {
15+
fatalError("Only available on WebAssembly")
16+
}
17+
#endif
18+
bjs_jsRoundTripVoid()
19+
if let error = _swift_js_take_exception() {
20+
throw error
21+
}
22+
}
23+
24+
func jsRoundTripNumber(_ v: Double) throws(JSException) -> Double {
25+
#if arch(wasm32)
26+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsRoundTripNumber")
27+
func bjs_jsRoundTripNumber(_ v: Float64) -> Float64
28+
#else
29+
func bjs_jsRoundTripNumber(_ v: Float64) -> Float64 {
30+
fatalError("Only available on WebAssembly")
31+
}
32+
#endif
33+
let ret = bjs_jsRoundTripNumber(v.bridgeJSLowerParameter())
34+
if let error = _swift_js_take_exception() {
35+
throw error
36+
}
37+
return Double.bridgeJSLiftReturn(ret)
38+
}
39+
40+
func jsRoundTripBool(_ v: Bool) throws(JSException) -> Bool {
41+
#if arch(wasm32)
42+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsRoundTripBool")
43+
func bjs_jsRoundTripBool(_ v: Int32) -> Int32
44+
#else
45+
func bjs_jsRoundTripBool(_ v: Int32) -> Int32 {
46+
fatalError("Only available on WebAssembly")
47+
}
48+
#endif
49+
let ret = bjs_jsRoundTripBool(v.bridgeJSLowerParameter())
50+
if let error = _swift_js_take_exception() {
51+
throw error
52+
}
53+
return Bool.bridgeJSLiftReturn(ret)
54+
}
55+
56+
func jsRoundTripString(_ v: String) throws(JSException) -> String {
57+
#if arch(wasm32)
58+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsRoundTripString")
59+
func bjs_jsRoundTripString(_ v: Int32) -> Int32
60+
#else
61+
func bjs_jsRoundTripString(_ v: Int32) -> Int32 {
62+
fatalError("Only available on WebAssembly")
63+
}
64+
#endif
65+
let ret = bjs_jsRoundTripString(v.bridgeJSLowerParameter())
66+
if let error = _swift_js_take_exception() {
67+
throw error
68+
}
69+
return String.bridgeJSLiftReturn(ret)
70+
}
71+
72+
func jsThrowOrVoid(_ shouldThrow: Bool) throws(JSException) -> Void {
73+
#if arch(wasm32)
74+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsThrowOrVoid")
75+
func bjs_jsThrowOrVoid(_ shouldThrow: Int32) -> Void
76+
#else
77+
func bjs_jsThrowOrVoid(_ shouldThrow: Int32) -> Void {
78+
fatalError("Only available on WebAssembly")
79+
}
80+
#endif
81+
bjs_jsThrowOrVoid(shouldThrow.bridgeJSLowerParameter())
82+
if let error = _swift_js_take_exception() {
83+
throw error
84+
}
85+
}
86+
87+
func jsThrowOrNumber(_ shouldThrow: Bool) throws(JSException) -> Double {
88+
#if arch(wasm32)
89+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsThrowOrNumber")
90+
func bjs_jsThrowOrNumber(_ shouldThrow: Int32) -> Float64
91+
#else
92+
func bjs_jsThrowOrNumber(_ shouldThrow: Int32) -> Float64 {
93+
fatalError("Only available on WebAssembly")
94+
}
95+
#endif
96+
let ret = bjs_jsThrowOrNumber(shouldThrow.bridgeJSLowerParameter())
97+
if let error = _swift_js_take_exception() {
98+
throw error
99+
}
100+
return Double.bridgeJSLiftReturn(ret)
101+
}
102+
103+
func jsThrowOrBool(_ shouldThrow: Bool) throws(JSException) -> Bool {
104+
#if arch(wasm32)
105+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsThrowOrBool")
106+
func bjs_jsThrowOrBool(_ shouldThrow: Int32) -> Int32
107+
#else
108+
func bjs_jsThrowOrBool(_ shouldThrow: Int32) -> Int32 {
109+
fatalError("Only available on WebAssembly")
110+
}
111+
#endif
112+
let ret = bjs_jsThrowOrBool(shouldThrow.bridgeJSLowerParameter())
113+
if let error = _swift_js_take_exception() {
114+
throw error
115+
}
116+
return Bool.bridgeJSLiftReturn(ret)
117+
}
118+
119+
func jsThrowOrString(_ shouldThrow: Bool) throws(JSException) -> String {
120+
#if arch(wasm32)
121+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_jsThrowOrString")
122+
func bjs_jsThrowOrString(_ shouldThrow: Int32) -> Int32
123+
#else
124+
func bjs_jsThrowOrString(_ shouldThrow: Int32) -> Int32 {
125+
fatalError("Only available on WebAssembly")
126+
}
127+
#endif
128+
let ret = bjs_jsThrowOrString(shouldThrow.bridgeJSLowerParameter())
129+
if let error = _swift_js_take_exception() {
130+
throw error
131+
}
132+
return String.bridgeJSLiftReturn(ret)
133+
}
134+
135+
func runAsyncWorks() throws(JSException) -> JSPromise {
136+
#if arch(wasm32)
137+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_runAsyncWorks")
138+
func bjs_runAsyncWorks() -> Int32
139+
#else
140+
func bjs_runAsyncWorks() -> Int32 {
141+
fatalError("Only available on WebAssembly")
142+
}
143+
#endif
144+
let ret = bjs_runAsyncWorks()
145+
if let error = _swift_js_take_exception() {
146+
throw error
147+
}
148+
return JSPromise.bridgeJSLiftReturn(ret)
149+
}
150+
151+
struct JsGreeter: _JSBridgedClass {
152+
let jsObject: JSObject
153+
154+
init(unsafelyWrapping jsObject: JSObject) {
155+
self.jsObject = jsObject
156+
}
157+
158+
init(_ name: String, _ prefix: String) throws(JSException) {
159+
#if arch(wasm32)
160+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_init")
161+
func bjs_JsGreeter_init(_ name: Int32, _ prefix: Int32) -> Int32
162+
#else
163+
func bjs_JsGreeter_init(_ name: Int32, _ prefix: Int32) -> Int32 {
164+
fatalError("Only available on WebAssembly")
165+
}
166+
#endif
167+
let ret = bjs_JsGreeter_init(name.bridgeJSLowerParameter(), prefix.bridgeJSLowerParameter())
168+
if let error = _swift_js_take_exception() {
169+
throw error
170+
}
171+
self.jsObject = JSObject(id: UInt32(bitPattern: ret))
172+
}
173+
174+
var name: String {
175+
get throws(JSException) {
176+
#if arch(wasm32)
177+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_name_get")
178+
func bjs_JsGreeter_name_get(_ self: Int32) -> Int32
179+
#else
180+
func bjs_JsGreeter_name_get(_ self: Int32) -> Int32 {
181+
fatalError("Only available on WebAssembly")
182+
}
183+
#endif
184+
let ret = bjs_JsGreeter_name_get(self.bridgeJSLowerParameter())
185+
if let error = _swift_js_take_exception() {
186+
throw error
187+
}
188+
return String.bridgeJSLiftReturn(ret)
189+
}
190+
}
191+
192+
func setName(_ newValue: String) throws(JSException) -> Void {
193+
#if arch(wasm32)
194+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_name_set")
195+
func bjs_JsGreeter_name_set(_ self: Int32, _ newValue: Int32) -> Void
196+
#else
197+
func bjs_JsGreeter_name_set(_ self: Int32, _ newValue: Int32) -> Void {
198+
fatalError("Only available on WebAssembly")
199+
}
200+
#endif
201+
bjs_JsGreeter_name_set(self.bridgeJSLowerParameter(), newValue.bridgeJSLowerParameter())
202+
if let error = _swift_js_take_exception() {
203+
throw error
204+
}
205+
}
206+
207+
var prefix: String {
208+
get throws(JSException) {
209+
#if arch(wasm32)
210+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_prefix_get")
211+
func bjs_JsGreeter_prefix_get(_ self: Int32) -> Int32
212+
#else
213+
func bjs_JsGreeter_prefix_get(_ self: Int32) -> Int32 {
214+
fatalError("Only available on WebAssembly")
215+
}
216+
#endif
217+
let ret = bjs_JsGreeter_prefix_get(self.bridgeJSLowerParameter())
218+
if let error = _swift_js_take_exception() {
219+
throw error
220+
}
221+
return String.bridgeJSLiftReturn(ret)
222+
}
223+
}
224+
225+
func greet() throws(JSException) -> String {
226+
#if arch(wasm32)
227+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_greet")
228+
func bjs_JsGreeter_greet(_ self: Int32) -> Int32
229+
#else
230+
func bjs_JsGreeter_greet(_ self: Int32) -> Int32 {
231+
fatalError("Only available on WebAssembly")
232+
}
233+
#endif
234+
let ret = bjs_JsGreeter_greet(self.bridgeJSLowerParameter())
235+
if let error = _swift_js_take_exception() {
236+
throw error
237+
}
238+
return String.bridgeJSLiftReturn(ret)
239+
}
240+
241+
func changeName(_ name: String) throws(JSException) -> Void {
242+
#if arch(wasm32)
243+
@_extern(wasm, module: "BridgeJSGlobalTests", name: "bjs_JsGreeter_changeName")
244+
func bjs_JsGreeter_changeName(_ self: Int32, _ name: Int32) -> Void
245+
#else
246+
func bjs_JsGreeter_changeName(_ self: Int32, _ name: Int32) -> Void {
247+
fatalError("Only available on WebAssembly")
248+
}
249+
#endif
250+
bjs_JsGreeter_changeName(self.bridgeJSLowerParameter(), name.bridgeJSLowerParameter())
251+
if let error = _swift_js_take_exception() {
252+
throw error
253+
}
254+
}
255+
256+
}

0 commit comments

Comments
 (0)