For a List input of a type that is not a number, like List<File>, the Input.setStringValue method just gives up and returns. It should call the String constructor of the list type (new File(String) in this example) instead.
There is code at the end of the method that does this, but it is never reached because when testing the input type being a List it returns earlier.