chinedufn / psd

A Rust API for parsing and working with PSD files.
https://chinedufn.github.io/psd
Apache License 2.0
265 stars 40 forks source link

Fix parsing slices #17

Closed chinedufn closed 4 years ago

chinedufn commented 4 years ago

This PR fixes an issue where my files that weren't even using psd slices started panicking as of 0.1.16.

I'm not too familiar with slices - so it's possible that they can be automatically created in some cases. I don't know.

This PR adds a test case where I create a 1x1 white pixel PSD file and it panics when parsing the name of a group of slices. I did not add any slices to this file.

The crash appears to only happen when the name of the PSD (without them stem) is a certain length. So a fifteen character name such as fiteen-letters.psd crashes, a 23 character name crashes, but other lengths don't.

This PR also removes the individual descriptor file tests in favor of testing against real PSD files. I was finding that while trying to debug those files weren't helping me because there was no way to know whether or not they were correct and how to reason about the data within them.