on master help sign in
Fix copy & paste test error & tighten readTag / readStyle
b419d51gmorpheme
src/Text/Libyaml.hs+4−9
@@ -259,23 +259,18 @@ foreign import ccall unsafe "get_mapping_start_tag"
259foreign import ccall unsafe "get_alias_anchor"
259foreign import ccall unsafe "get_alias_anchor"
260 c_get_alias_anchor :: EventRaw -> IO CString
260 c_get_alias_anchor :: EventRaw -> IO CString
261
261
262−readAnchor :: (EventRaw -> IO CString) -> (EventRaw -> IO Anchor)
262+readAnchor :: (EventRaw -> IO CString) -> EventRaw -> IO Anchor
263readAnchor getAnchor er = do
263readAnchor getAnchor er = do
264 yanchor <- getAnchor er
264 yanchor <- getAnchor er
265 if yanchor == nullPtr
265 if yanchor == nullPtr
266 then return Nothing
266 then return Nothing
267 else Just <$> peekCString yanchor
267 else Just <$> peekCString yanchor
268
268
269−readStyle :: (Enum a) => (EventRaw -> IO CInt) -> (EventRaw -> IO a)
269+readStyle :: (Enum a) => (EventRaw -> IO CInt) -> EventRaw -> IO a
270−readStyle getStyle er = do
270+readStyle getStyle er = toEnum . fromEnum <$> getStyle er
271− ystyle <- getStyle er
272− return $ toEnum $ fromEnum ystyle
273
271
274readTag :: (EventRaw -> IO (Ptr CUChar)) -> EventRaw -> IO Tag
272readTag :: (EventRaw -> IO (Ptr CUChar)) -> EventRaw -> IO Tag
275−readTag getTag er = do
276− ytag <- getTag er
277− let ytag' = castPtr ytag
278− bsToTag <$> packCString ytag'
273+readTag getTag er = bsToTag <$> (getTag er >>= packCString . castPtr)
279
274
280getEvent :: EventRaw -> IO (Maybe Event)
275getEvent :: EventRaw -> IO (Maybe Event)
281getEvent er = do
276getEvent er = do
test/Data/YamlSpec.hs+1−1
@@ -285,7 +285,7 @@ caseCountEmptySequenceTags :: Assertion
285caseCountEmptySequenceTags =
285caseCountEmptySequenceTags =
286 caseHelper yamlString isCustomTaggedSequence 1
286 caseHelper yamlString isCustomTaggedSequence 1
287 where
287 where
288− yamlString = "foo: !\n k: v\n k2: v2"
288+ yamlString = "foo: ! [x, y, z]"
289 isCustomTaggedSequence (Y.EventSequenceStart (Y.UriTag "!") _ _) = True
289 isCustomTaggedSequence (Y.EventSequenceStart (Y.UriTag "!") _ _) = True
290 isCustomTaggedSequence _ = False
290 isCustomTaggedSequence _ = False
291
291