Basic testing for the File Upload Panel on iOS.

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


* accept =
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose File"]) is true

* accept = */*
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose File"]) is true

* accept = image/*
PASS areArraysEqual(items, ["Photo Library", "Take Photo", "Choose File"]) is true

* accept = video/*
PASS areArraysEqual(items, ["Photo Library", "Take Video", "Choose File"]) is true

* accept = image/*, video/*
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose File"]) is true

* accept = .PNG, .GIF
PASS areArraysEqual(items, ["Photo Library", "Take Photo", "Choose File"]) is true

* accept = .PNG, .GIF, .MOV
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose File"]) is true

* accept = audio/*
PASS areArraysEqual(items, ["Photo Library", "Take Video", "Choose File"]) is true

* accept = .TXT
PASS areArraysEqual(items, ["Choose File"]) is true

* accept = .PDF
PASS areArraysEqual(items, ["Choose File"]) is true

* accept = .PDF, .TXT
PASS areArraysEqual(items, ["Choose File"]) is true

* multiple = false
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose File"]) is true

* multiple = true
PASS areArraysEqual(items, ["Photo Library", "Take Photo or Video", "Choose Files"]) is true

PASS successfullyParsed is true

TEST COMPLETE

