braid-text 0.2.65 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1871 -1794
- package/package.json +1 -1
- package/test/test.html +285 -0
package/package.json
CHANGED
package/test/test.html
CHANGED
|
@@ -96,6 +96,291 @@ async function runTest(testName, testFunction, expectedResult) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
// runTest(
|
|
100
|
+
// "test braid_text.get(url), with no options",
|
|
101
|
+
// async () => {
|
|
102
|
+
// var key = 'test-' + Math.random().toString(36).slice(2)
|
|
103
|
+
// let r = await braid_fetch(`/${key}`, {
|
|
104
|
+
// method: 'PUT',
|
|
105
|
+
// body: 'hi'
|
|
106
|
+
// })
|
|
107
|
+
// if (!r.ok) return 'got: ' + r.status
|
|
108
|
+
|
|
109
|
+
// var r1 = await braid_fetch(`/eval`, {
|
|
110
|
+
// method: 'PUT',
|
|
111
|
+
// body: `void (async () => {
|
|
112
|
+
// res.end(await braid_text.get(new URL('http://localhost:8889/${key}')))
|
|
113
|
+
// })()`
|
|
114
|
+
// })
|
|
115
|
+
|
|
116
|
+
// return 'got: ' + (await r1.text())
|
|
117
|
+
// },
|
|
118
|
+
// 'got: hi'
|
|
119
|
+
// )
|
|
120
|
+
|
|
121
|
+
// runTest(
|
|
122
|
+
// "test braid_text.get(url), with headers",
|
|
123
|
+
// async () => {
|
|
124
|
+
// var key = 'test-' + Math.random().toString(36).slice(2)
|
|
125
|
+
// let r = await braid_fetch(`/${key}`, {
|
|
126
|
+
// method: 'PUT',
|
|
127
|
+
// version: ['xyz-1'],
|
|
128
|
+
// body: 'hi'
|
|
129
|
+
// })
|
|
130
|
+
// if (!r.ok) return 'got: ' + r.status
|
|
131
|
+
|
|
132
|
+
// var r1 = await braid_fetch(`/eval`, {
|
|
133
|
+
// method: 'PUT',
|
|
134
|
+
// body: `void (async () => {
|
|
135
|
+
// res.end(await braid_text.get(new URL('http://localhost:8889/${key}'), {
|
|
136
|
+
// headers: {
|
|
137
|
+
// version: '"xyz-0"'
|
|
138
|
+
// }
|
|
139
|
+
// }))
|
|
140
|
+
// })()`
|
|
141
|
+
// })
|
|
142
|
+
|
|
143
|
+
// return 'got: ' + (await r1.text())
|
|
144
|
+
// },
|
|
145
|
+
// 'got: h'
|
|
146
|
+
// )
|
|
147
|
+
|
|
148
|
+
// runTest(
|
|
149
|
+
// "test braid_text.get(url), with parents",
|
|
150
|
+
// async () => {
|
|
151
|
+
// var key = 'test-' + Math.random().toString(36).slice(2)
|
|
152
|
+
// let r = await braid_fetch(`/${key}`, {
|
|
153
|
+
// method: 'PUT',
|
|
154
|
+
// version: ['xyz-1'],
|
|
155
|
+
// body: 'hi'
|
|
156
|
+
// })
|
|
157
|
+
// if (!r.ok) return 'got: ' + r.status
|
|
158
|
+
|
|
159
|
+
// var r1 = await braid_fetch(`/eval`, {
|
|
160
|
+
// method: 'PUT',
|
|
161
|
+
// body: `void (async () => {
|
|
162
|
+
// res.end(await braid_text.get(new URL('http://localhost:8889/${key}'), {
|
|
163
|
+
// parents: ['xyz-0']
|
|
164
|
+
// }))
|
|
165
|
+
// })()`
|
|
166
|
+
// })
|
|
167
|
+
|
|
168
|
+
// return 'got: ' + (await r1.text())
|
|
169
|
+
// },
|
|
170
|
+
// 'got: h'
|
|
171
|
+
// )
|
|
172
|
+
|
|
173
|
+
// runTest(
|
|
174
|
+
// "test braid_text.get(url), with version and peer",
|
|
175
|
+
// async () => {
|
|
176
|
+
// var key = 'test-' + Math.random().toString(36).slice(2)
|
|
177
|
+
// let r = await braid_fetch(`/${key}`, {
|
|
178
|
+
// method: 'PUT',
|
|
179
|
+
// version: ['xyz-1'],
|
|
180
|
+
// body: 'hi'
|
|
181
|
+
// })
|
|
182
|
+
// if (!r.ok) return 'got: ' + r.status
|
|
183
|
+
|
|
184
|
+
// var r1 = await braid_fetch(`/eval`, {
|
|
185
|
+
// method: 'PUT',
|
|
186
|
+
// body: `void (async () => {
|
|
187
|
+
// res.end(await braid_text.get(new URL('http://localhost:8889/${key}'), {
|
|
188
|
+
// version: ['xyz-0'],
|
|
189
|
+
// peer: 'xyz'
|
|
190
|
+
// }))
|
|
191
|
+
// })()`
|
|
192
|
+
// })
|
|
193
|
+
|
|
194
|
+
// return 'got: ' + (await r1.text())
|
|
195
|
+
// },
|
|
196
|
+
// 'got: h'
|
|
197
|
+
// )
|
|
198
|
+
|
|
199
|
+
runTest(
|
|
200
|
+
"test braid_text.get(url) with subscription",
|
|
201
|
+
async () => {
|
|
202
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
203
|
+
let r = await braid_fetch(`/${key}`, {
|
|
204
|
+
method: 'PUT',
|
|
205
|
+
version: ['xyz-1'],
|
|
206
|
+
body: 'hi'
|
|
207
|
+
})
|
|
208
|
+
if (!r.ok) return 'got: ' + r.status
|
|
209
|
+
|
|
210
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
211
|
+
method: 'PUT',
|
|
212
|
+
body: `void (async () => {
|
|
213
|
+
var url = new URL('http://localhost:8889/${key}')
|
|
214
|
+
var update = await new Promise(done => {
|
|
215
|
+
var o = {
|
|
216
|
+
subscribe: update => {
|
|
217
|
+
braid_text.forget(url, o)
|
|
218
|
+
done(update)
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
braid_text.get(url, o)
|
|
222
|
+
})
|
|
223
|
+
res.end(update.body_text)
|
|
224
|
+
})()`
|
|
225
|
+
})
|
|
226
|
+
|
|
227
|
+
return 'got: ' + (await r1.text())
|
|
228
|
+
},
|
|
229
|
+
'got: hi'
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
runTest(
|
|
233
|
+
"test braid_text.put(url), with body",
|
|
234
|
+
async () => {
|
|
235
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
236
|
+
|
|
237
|
+
var r = await braid_fetch(`/eval`, {
|
|
238
|
+
method: 'PUT',
|
|
239
|
+
body: `void (async () => {
|
|
240
|
+
var r = await braid_text.put(new URL('http://localhost:8889/${key}'),
|
|
241
|
+
{body: 'yo'})
|
|
242
|
+
res.end('')
|
|
243
|
+
})()`
|
|
244
|
+
})
|
|
245
|
+
if (!r.ok) return 'got: ' + r.status
|
|
246
|
+
|
|
247
|
+
let r1 = await braid_fetch(`/${key}`)
|
|
248
|
+
return 'got: ' + (await r1.text())
|
|
249
|
+
},
|
|
250
|
+
'got: yo'
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
runTest(
|
|
254
|
+
"test braid_text.put(url), with body and headers",
|
|
255
|
+
async () => {
|
|
256
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
257
|
+
|
|
258
|
+
var r = await braid_fetch(`/eval`, {
|
|
259
|
+
method: 'PUT',
|
|
260
|
+
body: `void (async () => {
|
|
261
|
+
var r = await braid_text.put(new URL('http://localhost:8889/${key}'),
|
|
262
|
+
{body: 'yo', headers: {version: '"abc123-1"'}})
|
|
263
|
+
res.end('')
|
|
264
|
+
})()`
|
|
265
|
+
})
|
|
266
|
+
if (!r.ok) return 'got: ' + r.status
|
|
267
|
+
|
|
268
|
+
let r2 = await braid_fetch(`/${key}`)
|
|
269
|
+
return 'got: ' + (await r2.text()) + ' -- version: ' + r2.headers.get('version')
|
|
270
|
+
},
|
|
271
|
+
'got: yo -- version: "abc123-1"'
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
runTest(
|
|
275
|
+
"test braid_text.put(url), with body and version and parents",
|
|
276
|
+
async () => {
|
|
277
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
278
|
+
let r = await braid_fetch(`/${key}`, {
|
|
279
|
+
method: 'PUT',
|
|
280
|
+
body: 'hi',
|
|
281
|
+
version: ['abc-1']
|
|
282
|
+
})
|
|
283
|
+
|
|
284
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
285
|
+
method: 'PUT',
|
|
286
|
+
body: `void (async () => {
|
|
287
|
+
var r = await braid_text.put(new URL('http://localhost:8889/${key}'),
|
|
288
|
+
{body: 'yo', version: ['xyz-3'], parents: ['abc-1']})
|
|
289
|
+
res.end('')
|
|
290
|
+
})()`
|
|
291
|
+
})
|
|
292
|
+
if (!r1.ok) return 'got: ' + r1.status
|
|
293
|
+
|
|
294
|
+
let r2 = await braid_fetch(`/${key}`)
|
|
295
|
+
return 'got: ' + (await r2.text()) + ' -- version: ' + r2.headers.get('version')
|
|
296
|
+
},
|
|
297
|
+
'got: yo -- version: "xyz-3"'
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
runTest(
|
|
301
|
+
"test braid_text.put(url), with peer",
|
|
302
|
+
async () => {
|
|
303
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
304
|
+
|
|
305
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
306
|
+
method: 'PUT',
|
|
307
|
+
body: `void (async () => {
|
|
308
|
+
var r = await braid_text.put(new URL('http://localhost:8889/${key}'),
|
|
309
|
+
{body: 'yo', peer: 'xyz', parents: []})
|
|
310
|
+
res.end('')
|
|
311
|
+
})()`
|
|
312
|
+
})
|
|
313
|
+
if (!r1.ok) return 'got: ' + r1.status
|
|
314
|
+
|
|
315
|
+
let r2 = await braid_fetch(`/${key}`)
|
|
316
|
+
return 'got: ' + (await r2.text()) + ' -- version: ' + r2.headers.get('version')
|
|
317
|
+
},
|
|
318
|
+
'got: yo -- version: "xyz-1"'
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
runTest(
|
|
322
|
+
"test updating meta data",
|
|
323
|
+
async () => {
|
|
324
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
325
|
+
|
|
326
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
327
|
+
method: 'PUT',
|
|
328
|
+
body: `void (async () => {
|
|
329
|
+
var resource = await braid_text.get_resource('/${key}')
|
|
330
|
+
resource.update_meta({ test_meta_info: 42 })
|
|
331
|
+
res.end(JSON.stringify(resource.meta))
|
|
332
|
+
})()`
|
|
333
|
+
})
|
|
334
|
+
|
|
335
|
+
return (await r1.text())
|
|
336
|
+
},
|
|
337
|
+
'{"test_meta_info":42}'
|
|
338
|
+
)
|
|
339
|
+
|
|
340
|
+
runTest(
|
|
341
|
+
"test updating meta data when do db_folder set",
|
|
342
|
+
async () => {
|
|
343
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
344
|
+
|
|
345
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
346
|
+
method: 'PUT',
|
|
347
|
+
body: `void (async () => {
|
|
348
|
+
var resource = await braid_text2.get_resource('/${key}')
|
|
349
|
+
resource.update_meta({ test_meta_info: 42 })
|
|
350
|
+
res.end(JSON.stringify(resource.meta))
|
|
351
|
+
})()`
|
|
352
|
+
})
|
|
353
|
+
|
|
354
|
+
return (await r1.text())
|
|
355
|
+
},
|
|
356
|
+
'{"test_meta_info":42}'
|
|
357
|
+
)
|
|
358
|
+
|
|
359
|
+
runTest(
|
|
360
|
+
"test loading a meta file from disk",
|
|
361
|
+
async () => {
|
|
362
|
+
var key = 'test-' + Math.random().toString(36).slice(2)
|
|
363
|
+
|
|
364
|
+
var r1 = await braid_fetch(`/eval`, {
|
|
365
|
+
method: 'PUT',
|
|
366
|
+
body: `void (async () => {
|
|
367
|
+
var resource = await braid_text.get_resource('/${key}')
|
|
368
|
+
resource.update_meta({ test_meta_info: 42 })
|
|
369
|
+
|
|
370
|
+
await new Promise(done => setTimeout(done, 200))
|
|
371
|
+
|
|
372
|
+
delete braid_text.cache['/${key}']
|
|
373
|
+
|
|
374
|
+
var resource = await braid_text.get_resource('/${key}')
|
|
375
|
+
res.end(JSON.stringify(resource.meta))
|
|
376
|
+
})()`
|
|
377
|
+
})
|
|
378
|
+
|
|
379
|
+
return (await r1.text())
|
|
380
|
+
},
|
|
381
|
+
'{"test_meta_info":42}'
|
|
382
|
+
)
|
|
383
|
+
|
|
99
384
|
runTest(
|
|
100
385
|
"test selection-sharing-prototype PUT and GET",
|
|
101
386
|
async () => {
|