yesod-core 1.0.1.2 → 1.0.1.3
raw patch · 3 files changed
+14/−2 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Yesod.Core: class RenderRoute a => Yesod a where approot = ApprootRelative errorHandler = defaultErrorHandler defaultLayout w = do { p <- widgetToPageContent w; mmsg <- getMessage; hamletToRepHtml (\ _render_avr2 -> do { id ((preEscapedText . pack) "<!DOCTYPE html>\ \<html><head><style type="text/css">#synopsis details:not([open]) > ul { visibility: hidden; }</style><title>"); id (toHtml (pageTitle p)); id ((preEscapedText . pack) "</title>"); pageHead p _render_avr2; id ((preEscapedText . pack) "</head><body>"); maybeH mmsg (\ msg_avr3 -> do { id ((preEscapedText . pack) "<p class=\"message\">"); id (toHtml msg_avr3); id ((preEscapedText . pack) "</p>") }) Nothing; pageBody p _render_avr2; id ((preEscapedText . pack) "</body></html>") }) } urlRenderOverride _ _ = Nothing isAuthorized _ _ = return Authorized isWriteRequest _ = do { wai <- waiRequest; return $ requestMethod wai `notElem` ["GET", "HEAD", "OPTIONS", "TRACE"] } authRoute _ = Nothing cleanPath _ s = if corrected == s then Right s else Left corrected where corrected = filter (not . null) s joinPath _ ar pieces' qs' = fromText ar `mappend` encodePath pieces qs where pieces = if null pieces' then [""] else pieces' qs = map (encodeUtf8 *** go) qs' go "" = Nothing go x = Just $ encodeUtf8 x addStaticContent _ _ _ = return Nothing cookiePath _ = "/" cookieDomain _ = Nothing maximumContentLength _ _ = 2 * 1024 * 1024 messageLogger a loc level msg = if level < logLevel a then return () else formatLogMessage loc level msg >>= putStrLn logLevel _ = LevelInfo gzipSettings _ = def jsLoader _ = BottomOfBody makeSessionBackend _ = do { key <- getKey defaultKeyFile; return $ Just $ clientSessionBackend key 120 }
+ Yesod.Core: class RenderRoute a => Yesod a where approot = ApprootRelative errorHandler = defaultErrorHandler defaultLayout w = do { p <- widgetToPageContent w; mmsg <- getMessage; hamletToRepHtml (\ _render_awa5 -> do { id ((preEscapedText . pack) "<!DOCTYPE html>\ \<html><head><style type="text/css">#synopsis details:not([open]) > ul { visibility: hidden; }</style><title>"); id (toHtml (pageTitle p)); id ((preEscapedText . pack) "</title>"); pageHead p _render_awa5; id ((preEscapedText . pack) "</head><body>"); maybeH mmsg (\ msg_awa6 -> do { id ((preEscapedText . pack) "<p class=\"message\">"); id (toHtml msg_awa6); id ((preEscapedText . pack) "</p>") }) Nothing; pageBody p _render_awa5; id ((preEscapedText . pack) "</body></html>") }) } urlRenderOverride _ _ = Nothing isAuthorized _ _ = return Authorized isWriteRequest _ = do { wai <- waiRequest; return $ requestMethod wai `notElem` ["GET", "HEAD", "OPTIONS", "TRACE"] } authRoute _ = Nothing cleanPath _ s = if corrected == s then Right s else Left corrected where corrected = filter (not . null) s joinPath _ ar pieces' qs' = fromText ar `mappend` encodePath pieces qs where pieces = if null pieces' then [""] else pieces' qs = map (encodeUtf8 *** go) qs' go "" = Nothing go x = Just $ encodeUtf8 x addStaticContent _ _ _ = return Nothing cookiePath _ = "/" cookieDomain _ = Nothing maximumContentLength _ _ = 2 * 1024 * 1024 messageLogger a loc level msg = if level < logLevel a then return () else formatLogMessage loc level msg >>= putStrLn logLevel _ = LevelInfo gzipSettings _ = def jsLoader _ = BottomOfBody makeSessionBackend _ = do { key <- getKey defaultKeyFile; return $ Just $ clientSessionBackend key 120 }
Files
- Yesod/Widget.hs +1/−1
- test/YesodCoreTest/Widget.hs +12/−0
- yesod-core.cabal +1/−1
Yesod/Widget.hs view
@@ -152,7 +152,7 @@ instance render ~ RY master => ToWidgetHead sub master (render -> Css) where toWidgetHead = toWidget instance render ~ RY master => ToWidgetHead sub master (render -> Javascript) where- toWidgetHead = toWidget+ toWidgetHead j = toWidgetHead $ \r -> H.script $ preEscapedLazyText $ renderJavascriptUrl r j instance ToWidgetHead sub master Html where toWidgetHead = toWidgetHead . const
test/YesodCoreTest/Widget.hs view
@@ -26,6 +26,7 @@ /whamlet WhamletR GET /towidget TowidgetR GET /auto AutoR GET+/jshead JSHeadR GET |] instance Yesod Y where@@ -77,12 +78,16 @@ where someHtml = [shamlet|somehtml|] +getJSHeadR :: Handler RepHtml+getJSHeadR = defaultLayout $ toWidgetHead [julius|alert("hello");|]+ widgetTest :: Spec widgetTest = describe "Test.Widget" [ it "addJuliusBody" case_addJuliusBody , it "whamlet" case_whamlet , it "two letter lang codes" case_two_letter_lang , it "automatically applies toWidget" case_auto+ , it "toWidgetHead puts JS in head" case_jshead ] runner :: Session () -> IO ()@@ -116,3 +121,10 @@ , requestHeaders = [("Accept-Language", "es")] } assertBody "<!DOCTYPE html>\n<html><head><title></title></head><body>somehtml</body></html>" res++case_jshead :: IO ()+case_jshead = runner $ do+ res <- request defaultRequest+ { pathInfo = ["jshead"]+ }+ assertBody "<!DOCTYPE html>\n<html><head><title></title><script>alert(\"hello\");</script></head><body></body></html>" res
yesod-core.cabal view
@@ -1,5 +1,5 @@ name: yesod-core-version: 1.0.1.2+version: 1.0.1.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>