{- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. -} {-# LANGUAGE OverloadedStrings #-} module Graphics.Fountainhead.MetricsSpec ( spec ) where import Graphics.Fountainhead.Metrics import Test.Hspec (Spec, describe, it, shouldBe) import qualified Data.ByteString as ByteString spec :: Spec spec = describe "collectMetrics" $ it "collects information from the name table" $ do let fontPath = "./fonts/OpenSans-Bold.ttf" expected = FontDescriptor { fontName = "OpenSansāˆ’Bold" , flags = [] -- 4 , ascender = 1068 , descender = -292 , fontBBox = FontBBox (-548) (-271) 1201 1047 , italicAngle = 0 , capHeight = 714 , stemV = 105 , missingWidth = 600 } openSansBoldItalic <- ByteString.readFile fontPath collectMetrics fontPath openSansBoldItalic `shouldBe` Right expected