diff options
-rw-r--r-- | cli/tests/unit/file_test.ts | 11 | ||||
-rw-r--r-- | ext/web/09_file.js | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/cli/tests/unit/file_test.ts b/cli/tests/unit/file_test.ts index 23583ac2e..26ee110b6 100644 --- a/cli/tests/unit/file_test.ts +++ b/cli/tests/unit/file_test.ts @@ -99,3 +99,14 @@ Deno.test(function fileUsingNumberFileName() { Deno.test(function fileUsingEmptyStringFileName() { testSecondArgument("", ""); }); + +Deno.test(function inspectFile() { + assertEquals( + Deno.inspect(new File([], "file-name.txt")), + `File { name: "file-name.txt", size: 0, type: "" }`, + ); + assertEquals( + Deno.inspect(new File([], "file-name.txt", { type: "text/plain" })), + `File { name: "file-name.txt", size: 0, type: "text/plain" }`, + ); +}); diff --git a/ext/web/09_file.js b/ext/web/09_file.js index 94981a2f4..fd0451438 100644 --- a/ext/web/09_file.js +++ b/ext/web/09_file.js @@ -535,6 +535,18 @@ class File extends Blob { webidl.assertBranded(this, FilePrototype); return this[_LastModified]; } + + [SymbolFor("Deno.customInspect")](inspect) { + return inspect(createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(FilePrototype, this), + keys: [ + "name", + "size", + "type", + ], + })); + } } webidl.configurePrototype(File); |