
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

