Skip to content

Commit

Permalink
test: add test for find glyph
Browse files Browse the repository at this point in the history
  • Loading branch information
Romashine committed Jul 12, 2021
1 parent 7e249a6 commit e33524f
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions test/Font.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,26 @@ context("Font", () => {
assert.strictEqual(Buffer.from(os.buffer).toString("base64"), fontB64);
});

it("findGlyphByUnicode", () => {
const fontB64 = "dHJ1ZQAJAIAAAwAQT1MvMhdvWHYAAACcAAAAYGNtYXAAVQELAAAA/AAAADxnbHlmImoOiwAAATgAAANgaGVhZB3c3pEAAASYAAAANmhoZWEMjwY9AAAE0AAAACRobXR4DgABLAAABPQAAAAQbG9jYQH8AJgAAAUEAAAACm1heHANIwR3AAAFEAAAACBwb3N0/yQAZAAABTAAAAAgAAMDNQGQAAUACAWaBTMAAAElBZoFMwAAA6AAZgISAQUCAgYDBQQFAgME4AAu/8AAeFsAAAAJAAAAAFRNQyAAQAAg//wFjP5GATMHIQG7QAAB////AAADlAVMAAAAIAAVAAAAAQADAAEAAAAMAAQAMAAAAAgACAACAAAAIABBAKD//wAAACAAQQCg////4v/C/2IAAQAAAAAAAAAAAAIBHAAABRwFAAADAAcAbLCFK1ixAgG7Ar4ABgAHAr+yAAUEuAK+tAMACgcEuAK+tQEAGQgGBb8CvgACAAMBKQAJAWsBXgAYKxD2PP08ThD0PE39PAA/PP08EPw8/TwxMBuxAAS4B9ezbAABB7gH17FsAQAYLysvKzAxWWERIRFlIREhARwEAPwgA8D8QAUA+wAgBMAAAAAAAgAQAAAFsAVrABwAHwJUsIUrWLECAkNUWEASAR8eAh4dABweHAAdHwEeHAIUvgPiABcD4gAHA+IACgPiQBcIAhweAw8IHBYdAB9wAYABAgEBCA8CCAAvPxI5L13N0M0vLxESFzkQ7e3u7AEvLy8vLy8vEH2HxMQQh8TEMTAbQBsIDg8PDRAKHgkfUCEGFQ8TEBoRGhsbHBgdBiG4/8CyJTUhuP/AszBYNCG4/8CzKy40Ibj/wLIpNSG4/8CzICY0Ibj/wLMaHjQhuP/Ashc1Ibj/wLIVNSG4/8BAlxATNA0PCxAKHjkPSg9GEEkeTyFZD1cQVRRYHmoPZxBoHnYQgASHDooPhxCHEokeiB+bD5sQmRGbHrkPuRC9Grkeyw/KEMgdyh7bD9gQ6w/oEOge+Q/4EPkd+R4sCQ9LGwIfHgEBHx4CAB0eHhwJDgobCRYcFxsWCAIHGwgVERQbFXgeDxAgEB4cHCIREBQRcBEBERAPDg64AslAEQIeFAICHh8dpQAAcAGAAQIBuAG1QAwIEA8DFRYWCAgJCBy4AfpACQ8RARECpQ5AEbgCMLNPHgEeuALsQA4gQA5QDvAOAw6nIGuKGCsQ9l0ZGv1d7RgaEO0QXe0APzwQPBA8PzwQ9F08EP08hw4uKwV9EMSHXQ4uGCuHBX3EKxgAEO0BEMAAEO0BEMAAEO0BEMAAEO0BEMCHEH3EPAc8PAc8MTABcV0rKysrKysrKysBcl1ZG7ceDx0dCQ8fAbgH7UAMbB8fCQ8DBxcUAwkKuAPis2wWCQgAGD8zKxcyPxI5LysREjkvETkwMVlBIQcGFRQWFxUhNTY3NjcBMwEWFhcVITU2NjU0J0MLAQOp/fNcIjti/lVVGTM+Ad0jAdg5XVP96VE5KG7m7AHG1k8nHy8HJSUPGDCTBFz7mIhRBSUlBC4hLF8BDQIk/dwAAAAAAAEAAAABAACdztkpXw889QADCAAAAAAA3ItKFAAAAADci0oUAAAAAAWwBWsAAAAJAAIAAAAAAAAAAQAABWsAAABXBjkAAAAABswAAAAAAAAAAAAAAAAAAAAAAAQGOQEcAAAAAAIAAAAFxwAQAAAATABMAEwBsAAAAAEAAAAEACAAAgAAAAAAAgBkAQABAAEAC7gCVAAAAAEAAwAAAAAAAP8hAGQAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
const stream = new SeqStream({
hexstring: Buffer.from(fontB64, "base64").toString("hex"),
context.only("Find Glyph", () => {
it("Glyph found", () => {
const fontB64 = "dHJ1ZQAJAIAAAwAQT1MvMhdvWHYAAACcAAAAYGNtYXAAVQELAAAA/AAAADxnbHlmImoOiwAAATgAAANgaGVhZB3c3pEAAASYAAAANmhoZWEMjwY9AAAE0AAAACRobXR4DgABLAAABPQAAAAQbG9jYQH8AJgAAAUEAAAACm1heHANIwR3AAAFEAAAACBwb3N0/yQAZAAABTAAAAAgAAMDNQGQAAUACAWaBTMAAAElBZoFMwAAA6AAZgISAQUCAgYDBQQFAgME4AAu/8AAeFsAAAAJAAAAAFRNQyAAQAAg//wFjP5GATMHIQG7QAAB////AAADlAVMAAAAIAAVAAAAAQADAAEAAAAMAAQAMAAAAAgACAACAAAAIABBAKD//wAAACAAQQCg////4v/C/2IAAQAAAAAAAAAAAAIBHAAABRwFAAADAAcAbLCFK1ixAgG7Ar4ABgAHAr+yAAUEuAK+tAMACgcEuAK+tQEAGQgGBb8CvgACAAMBKQAJAWsBXgAYKxD2PP08ThD0PE39PAA/PP08EPw8/TwxMBuxAAS4B9ezbAABB7gH17FsAQAYLysvKzAxWWERIRFlIREhARwEAPwgA8D8QAUA+wAgBMAAAAAAAgAQAAAFsAVrABwAHwJUsIUrWLECAkNUWEASAR8eAh4dABweHAAdHwEeHAIUvgPiABcD4gAHA+IACgPiQBcIAhweAw8IHBYdAB9wAYABAgEBCA8CCAAvPxI5L13N0M0vLxESFzkQ7e3u7AEvLy8vLy8vEH2HxMQQh8TEMTAbQBsIDg8PDRAKHgkfUCEGFQ8TEBoRGhsbHBgdBiG4/8CyJTUhuP/AszBYNCG4/8CzKy40Ibj/wLIpNSG4/8CzICY0Ibj/wLMaHjQhuP/Ashc1Ibj/wLIVNSG4/8BAlxATNA0PCxAKHjkPSg9GEEkeTyFZD1cQVRRYHmoPZxBoHnYQgASHDooPhxCHEokeiB+bD5sQmRGbHrkPuRC9Grkeyw/KEMgdyh7bD9gQ6w/oEOge+Q/4EPkd+R4sCQ9LGwIfHgEBHx4CAB0eHhwJDgobCRYcFxsWCAIHGwgVERQbFXgeDxAgEB4cHCIREBQRcBEBERAPDg64AslAEQIeFAICHh8dpQAAcAGAAQIBuAG1QAwIEA8DFRYWCAgJCBy4AfpACQ8RARECpQ5AEbgCMLNPHgEeuALsQA4gQA5QDvAOAw6nIGuKGCsQ9l0ZGv1d7RgaEO0QXe0APzwQPBA8PzwQ9F08EP08hw4uKwV9EMSHXQ4uGCuHBX3EKxgAEO0BEMAAEO0BEMAAEO0BEMAAEO0BEMCHEH3EPAc8PAc8MTABcV0rKysrKysrKysBcl1ZG7ceDx0dCQ8fAbgH7UAMbB8fCQ8DBxcUAwkKuAPis2wWCQgAGD8zKxcyPxI5LysREjkvETkwMVlBIQcGFRQWFxUhNTY3NjcBMwEWFhcVITU2NjU0J0MLAQOp/fNcIjti/lVVGTM+Ad0jAdg5XVP96VE5KG7m7AHG1k8nHy8HJSUPGDCTBFz7mIhRBSUlBC4hLF8BDQIk/dwAAAAAAAEAAAABAACdztkpXw889QADCAAAAAAA3ItKFAAAAADci0oUAAAAAAWwBWsAAAAJAAIAAAAAAAAAAQAABWsAAABXBjkAAAAABswAAAAAAAAAAAAAAAAAAAAAAAQGOQEcAAAAAAIAAAAFxwAQAAAATABMAEwBsAAAAAEAAAAEACAAAgAAAAAAAgBkAQABAAEAC7gCVAAAAAEAAwAAAAAAAP8hAGQAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
const stream = new SeqStream({
hexstring: Buffer.from(fontB64, "base64").toString("hex"),
});
const font = fontjs.Font.fromStream(stream);
const glyph = font.findUnicodeGlyph(" ");
assert(glyph);
});

it("Glyph not found", () => {
const fontB64 = "dHJ1ZQAJAIAAAwAQT1MvMhdvWHYAAACcAAAAYGNtYXAAVQELAAAA/AAAADxnbHlmImoOiwAAATgAAANgaGVhZB3c3pEAAASYAAAANmhoZWEMjwY9AAAE0AAAACRobXR4DgABLAAABPQAAAAQbG9jYQH8AJgAAAUEAAAACm1heHANIwR3AAAFEAAAACBwb3N0/yQAZAAABTAAAAAgAAMDNQGQAAUACAWaBTMAAAElBZoFMwAAA6AAZgISAQUCAgYDBQQFAgME4AAu/8AAeFsAAAAJAAAAAFRNQyAAQAAg//wFjP5GATMHIQG7QAAB////AAADlAVMAAAAIAAVAAAAAQADAAEAAAAMAAQAMAAAAAgACAACAAAAIABBAKD//wAAACAAQQCg////4v/C/2IAAQAAAAAAAAAAAAIBHAAABRwFAAADAAcAbLCFK1ixAgG7Ar4ABgAHAr+yAAUEuAK+tAMACgcEuAK+tQEAGQgGBb8CvgACAAMBKQAJAWsBXgAYKxD2PP08ThD0PE39PAA/PP08EPw8/TwxMBuxAAS4B9ezbAABB7gH17FsAQAYLysvKzAxWWERIRFlIREhARwEAPwgA8D8QAUA+wAgBMAAAAAAAgAQAAAFsAVrABwAHwJUsIUrWLECAkNUWEASAR8eAh4dABweHAAdHwEeHAIUvgPiABcD4gAHA+IACgPiQBcIAhweAw8IHBYdAB9wAYABAgEBCA8CCAAvPxI5L13N0M0vLxESFzkQ7e3u7AEvLy8vLy8vEH2HxMQQh8TEMTAbQBsIDg8PDRAKHgkfUCEGFQ8TEBoRGhsbHBgdBiG4/8CyJTUhuP/AszBYNCG4/8CzKy40Ibj/wLIpNSG4/8CzICY0Ibj/wLMaHjQhuP/Ashc1Ibj/wLIVNSG4/8BAlxATNA0PCxAKHjkPSg9GEEkeTyFZD1cQVRRYHmoPZxBoHnYQgASHDooPhxCHEokeiB+bD5sQmRGbHrkPuRC9Grkeyw/KEMgdyh7bD9gQ6w/oEOge+Q/4EPkd+R4sCQ9LGwIfHgEBHx4CAB0eHhwJDgobCRYcFxsWCAIHGwgVERQbFXgeDxAgEB4cHCIREBQRcBEBERAPDg64AslAEQIeFAICHh8dpQAAcAGAAQIBuAG1QAwIEA8DFRYWCAgJCBy4AfpACQ8RARECpQ5AEbgCMLNPHgEeuALsQA4gQA5QDvAOAw6nIGuKGCsQ9l0ZGv1d7RgaEO0QXe0APzwQPBA8PzwQ9F08EP08hw4uKwV9EMSHXQ4uGCuHBX3EKxgAEO0BEMAAEO0BEMAAEO0BEMAAEO0BEMCHEH3EPAc8PAc8MTABcV0rKysrKysrKysBcl1ZG7ceDx0dCQ8fAbgH7UAMbB8fCQ8DBxcUAwkKuAPis2wWCQgAGD8zKxcyPxI5LysREjkvETkwMVlBIQcGFRQWFxUhNTY3NjcBMwEWFhcVITU2NjU0J0MLAQOp/fNcIjti/lVVGTM+Ad0jAdg5XVP96VE5KG7m7AHG1k8nHy8HJSUPGDCTBFz7mIhRBSUlBC4hLF8BDQIk/dwAAAAAAAEAAAABAACdztkpXw889QADCAAAAAAA3ItKFAAAAADci0oUAAAAAAWwBWsAAAAJAAIAAAAAAAAAAQAABWsAAABXBjkAAAAABswAAAAAAAAAAAAAAAAAAAAAAAQGOQEcAAAAAAIAAAAFxwAQAAAATABMAEwBsAAAAAEAAAAEACAAAgAAAAAAAgBkAQABAAEAC7gCVAAAAAEAAwAAAAAAAP8hAGQAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
const stream = new SeqStream({
hexstring: Buffer.from(fontB64, "base64").toString("hex"),
});
const font = fontjs.Font.fromStream(stream);
const glyph = font.findUnicodeGlyph("D");
assert.strictEqual(glyph, null);
});
const font = fontjs.Font.fromStream(stream);
const glyph = font.findUnicodeGlyph(" ");
assert(glyph);
});

});

0 comments on commit e33524f

Please sign in to comment.