Fix empty value handling and add test case for file-based config sources

parent #103