yesod-core 1.6.25.1 → 1.6.26.0
raw patch · 5 files changed
+48/−3 lines, 5 filesdep ~wai-extra
Dependency ranges changed: wai-extra
Files
- ChangeLog.md +4/−0
- src/Yesod/Core/Class/Yesod.hs +1/−1
- test/YesodCoreTest.hs +2/−0
- test/YesodCoreTest/JsAttributes.hs +37/−0
- yesod-core.cabal +4/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for yesod-core +## 1.6.26.0++* Always apply jsAttributes to julius script blocks of body [#1836](https://github.com/yesodweb/yesod/pull/1836)+ ## 1.6.25.1 * Export the options that were created in 1.6.25.0 [#1825](https://github.com/yesodweb/yesod/pull/1825)
src/Yesod/Core/Class/Yesod.hs view
@@ -595,7 +595,7 @@ $maybe s <- jsLoc <script src="#{s}" *{jsAttrs}> $nothing- <script>^{jelper j}+ <script *{jsAttrs}>^{jelper j} |] headAll = [hamlet|
test/YesodCoreTest.hs view
@@ -17,6 +17,7 @@ import YesodCoreTest.Breadcrumb import qualified YesodCoreTest.WaiSubsite as WaiSubsite import qualified YesodCoreTest.Redirect as Redirect+import qualified YesodCoreTest.JsAttributes as JsAttributes import qualified YesodCoreTest.JsLoader as JsLoader import qualified YesodCoreTest.RequestBodySize as RequestBodySize import qualified YesodCoreTest.Json as Json@@ -51,6 +52,7 @@ parameterizedSiteTest WaiSubsite.specs Redirect.specs+ JsAttributes.specs JsLoader.specs RequestBodySize.specs Json.specs
+ test/YesodCoreTest/JsAttributes.hs view
@@ -0,0 +1,37 @@+{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE FlexibleInstances #-}+module YesodCoreTest.JsAttributes+ ( specs+ -- To avoid unused warning+ , Widget+ , resourcesApp+ ) where++import Test.Hspec++import Yesod.Core+import Network.Wai.Test++data App = App+mkYesod "App" [parseRoutes|+/ HeadR GET+|]+instance Yesod App where+ jsAttributes _ = [("attr0", "a")]++getHeadR :: Handler Html+getHeadR = defaultLayout $ do+ addScriptRemote "load.js"+ toWidget [julius|/*body*/|]+ toWidgetHead [julius|/*head*/|]++specs :: Spec+specs = describe "Test.JsAttributes" $ do+ it "script in body gets attributes" $ runner App $ do+ res <- request defaultRequest+ assertBody "<!DOCTYPE html>\n<html><head><title></title><script>/*head*/</script></head><body><script src=\"load.js\"></script><script attr0=\"a\">/*body*/</script></body></html>" res++runner :: YesodDispatch master => master -> Session () -> IO ()+runner app f = toWaiApp app >>= runSession f+
yesod-core.cabal view
@@ -1,5 +1,5 @@ name: yesod-core-version: 1.6.25.1+version: 1.6.26.0 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>@@ -38,7 +38,7 @@ , conduit >= 1.3 , conduit-extra , containers >= 0.2- , cookie >= 0.4.3 && < 0.5+ , cookie >= 0.4.3 && < 0.6 , deepseq >= 1.3 , entropy , fast-logger >= 2.2@@ -142,6 +142,7 @@ other-modules: YesodCoreTest YesodCoreTest.Auth+ YesodCoreTest.Breadcrumb YesodCoreTest.Cache YesodCoreTest.CleanPath YesodCoreTest.Header@@ -150,6 +151,7 @@ YesodCoreTest.ErrorHandling.CustomApp YesodCoreTest.Exceptions YesodCoreTest.InternalRequest+ YesodCoreTest.JsAttributes YesodCoreTest.JsLoader YesodCoreTest.JsLoaderSites.Bottom YesodCoreTest.Json