OPEN FILE PANEL

Test the attribute of FileList.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

Start
PASS files.length is 2
PASS files.item(0) instanceof File is true
PASS files.item(0).name is "UTF8.txt"
PASS files.item(1) instanceof File is true
PASS files.item(1).name is "UTF8-2.txt"
PASS files.item(2) is null
PASS files.item(-1) is null
PASS files.item(0) === files.item(4294967296) is true
PASS files.item(1) === files.item(4294967297) is true
PASS files.item(2) === files.item(4294967298) is true
PASS files.item(-1) === files.item(4294967295) is true
PASS files.item(-4294967295) === files.item(1) is true
PASS files.item(-4294967296) === files.item(0) is true
PASS files.item(null) === files.item(0) is true
PASS files.item(undefined) === files.item(0) is true
PASS successfullyParsed is true

TEST COMPLETE

