deno.land / std@0.166.0 / node / _tools / test / parallel / test-buffer-from.js

test-buffer-from.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 16.13.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
const common = require('../common');const { deepStrictEqual, throws } = require('assert');const { runInNewContext } = require('vm');
const checkString = 'test';
const check = Buffer.from(checkString);
class MyString extends String { constructor() { super(checkString); }}
class MyPrimitive { [Symbol.toPrimitive]() { return checkString; }}
class MyBadPrimitive { [Symbol.toPrimitive]() { return 1; }}
deepStrictEqual(Buffer.from(new String(checkString)), check);deepStrictEqual(Buffer.from(new MyString()), check);deepStrictEqual(Buffer.from(new MyPrimitive()), check);
// TODO(Soremwar)// Enable once again when vm works correctly// deepStrictEqual(// Buffer.from(runInNewContext('new String(checkString)', { checkString })),// check// );
[ {}, new Boolean(true), { valueOf() { return null; } }, { valueOf() { return undefined; } }, { valueOf: null }, Object.create(null), new Number(true), new MyBadPrimitive(), Symbol(), 5n, (one, two, three) => {}, undefined, null,].forEach((input) => { const errObj = { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError', message: 'The first argument must be of type string or an instance of ' + 'Buffer, ArrayBuffer, or Array or an Array-like Object.' + common.invalidArgTypeHelper(input) }; throws(() => Buffer.from(input), errObj); throws(() => Buffer.from(input, 'hex'), errObj);});
Buffer.allocUnsafe(10); // Should not throw.Buffer.from('deadbeaf', 'hex'); // Should not throw.
std

Version Info

Tagged at
a year ago