diff --git a/src/FLACTagReader.js b/src/FLACTagReader.js index 7e6ea0b..d305ed1 100644 --- a/src/FLACTagReader.js +++ b/src/FLACTagReader.js @@ -275,7 +275,7 @@ class FLACTagReader extends MediaTagReader { let s = data.getStringWithCharsetAt(dataOffset + 4, dataLength, "utf-8").toString(); let d = s.indexOf("="); let split = [s.slice(0, d), s.slice(d + 1)]; - switch (split[0]) { + switch (split[0].toUpperCase()) { case "TITLE": title = split[1]; break; diff --git a/src/__tests__/FLACTagReader-test.js b/src/__tests__/FLACTagReader-test.js index d62c101..8c12cfb 100644 --- a/src/__tests__/FLACTagReader-test.js +++ b/src/__tests__/FLACTagReader-test.js @@ -75,6 +75,27 @@ describe("FLACTagReader", function() { expect(tags.picture).toBeTruthy(); }); }); + + it("reads tags no matter their case", function () { + var flacFileContents = new FLACTagContents([FLACTagContents.createCommentBlock( + ["Title", "A Title"], + ["artist", "An Artist"], + )]); + mediaFileReader = new ArrayFileReader(flacFileContents.toArray()); + tagReader = new FLACTagReader(mediaFileReader); + return new Promise(function (resolve, reject) { + tagReader.read({ + onSuccess: resolve, + onFailure: reject + }); + jest.runAllTimers(); + }).then(function (tag) { + var tags = tag.tags; + expect(tags.title).toBeTruthy(); + expect(tags.artist).toBeTruthy(); + }); + }); + it("calls failure callback if file doesn't have comments", function() { var flacFileEmpty = new FLACTagContents(); var fileReaderEmpty = new ArrayFileReader(flacFileEmpty.toArray());