leksah 0.14.0.0 → 0.14.0.1
raw patch · 3 files changed
+35/−21 lines, 3 filesdep +network-uridep ~leksahdep ~networkdep ~text
Dependencies added: network-uri
Dependency ranges changed: leksah, network, text
Files
- leksah.cabal +15/−6
- tests/IDE/TextEditor/Tests.hs +12/−8
- tests/Tests.hs +8/−7
leksah.cabal view
@@ -1,5 +1,5 @@ name: leksah-version: 0.14.0.0+version: 0.14.0.1 cabal-version: >=1.10 build-type: Simple license: GPL@@ -198,6 +198,10 @@ Description: Experimental localization support Default: False +flag network-uri+ description: Get Network.URI from the network-uri package+ default: True+ library if os(windows) build-depends: Win32 >=2.2.0.0 && <2.4@@ -241,6 +245,11 @@ cpp-options: -DLOCALIZATION build-depends: hgettext, setlocale + if flag(network-uri)+ build-depends: network-uri >=2.6 && <2.7, network >= 2.6 && <2.7+ else+ build-depends: network >=2.2 && <2.6+ hs-source-dirs: src default-language: Haskell98 @@ -251,7 +260,7 @@ parsec >=2.1.0.1 && <3.2, pretty >=1.0.1.0 && <1.2, regex-tdfa >=1.1 && <1.3, regex-tdfa-text, regex-base ==0.93.*, utf8-string >=0.3.1.1 && <0.4, array >=0.2.0.0 && <0.6, time >=0.1 && <1.5, ltk >= 0.14.0.0 && <0.15, binary-shared >= 0.8 && <0.9, deepseq >= 1.1.0.0 && <1.4,- hslogger >= 1.0.7 && <1.3, leksah-server >=0.14.0.0 && <0.15, network >= 2.2 && <3.0,+ hslogger >= 1.0.7 && <1.3, leksah-server >=0.14.0.0 && <0.15, ghc >=6.10.1 && <7.9, strict >= 0.3.2 && <0.4, conduit >= 1.0.8 && <1.2, text >= 0.11.1.5 && < 1.2, gio >=0.13.0.0 && <0.14, transformers >=0.2.2.0 && <0.5, executable-path >=0.0.3 && <0.1,@@ -303,7 +312,7 @@ ghc-options: -threaded hs-source-dirs: main- build-depends: leksah == 0.14.0.0, base >= 4.0.0.0 && <=4.8, gtk3 -any+ build-depends: leksah == 0.14.0.1, base >= 4.0.0.0 && <=4.8, gtk3 -any if os(linux) && flag(loc) cpp-options: -DLOCALIZATION build-depends: hgettext, setlocale@@ -322,7 +331,7 @@ if !flag(webkit) buildable: False else- build-depends: leksah ==0.14.0.0, base >=4.0.0.0 && <=4.8,+ build-depends: leksah ==0.14.0.1, base >=4.0.0.0 && <=4.8, jsaddle -any, ghcjs-dom -any if flag(gtk3) build-depends: gtk3 >=0.13.0.0 && <0.14, gtksourceview3 >=0.13.0.0 && <0.14,@@ -339,9 +348,9 @@ test-suite tests build-depends: base >=4.0.0.0 && <4.8, Cabal >=1.10.2.0 && <1.22,- QuickCheck >=2.4.2 && <2.8, leksah ==0.14.0.0,+ QuickCheck >=2.4.2 && <2.8, leksah ==0.14.0.1, containers, ltk, leksah-server, hslogger,- transformers, glib, monad-loops+ transformers, glib, monad-loops, text if flag(gtk3) build-depends: gtk3 >=0.13.0.0 && <0.14, gtksourceview3 >=0.13.0.0 && <0.14, webkitgtk3 -any cpp-options: -DMIN_VERSION_gtk=MIN_VERSION_gtk3
tests/IDE/TextEditor/Tests.hs view
@@ -52,6 +52,9 @@ import Test.QuickCheck (Property) import Control.Monad.Loops (allM) import System.IO (stderr, stdout, hFlush)+import Data.Text (Text)+import Data.Monoid ((<>))+import qualified Data.Text as T (unpack, pack) testEditors :: IO Bool testEditors = do@@ -67,13 +70,13 @@ result <- newEmptyMVar Yi.start defaultYiConfig $ \yiControl -> do uiManager <- uiManagerNew- dataDir <- getDataDir+ dataDir <- getDataDir candyPath <- getConfigFilePathForLoad (case sourceCandy defaultPrefs of- (_,name) -> name ++ leksahCandyFileExtension) Nothing dataDir+ (_,name) -> T.unpack name <> leksahCandyFileExtension) Nothing dataDir candySt <- parseCandy candyPath -- keystrokes- keysPath <- getConfigFilePathForLoad (keymapName defaultPrefs ++ leksahKeymapFileExtension) Nothing dataDir+ keysPath <- getConfigFilePathForLoad (T.unpack (keymapName defaultPrefs) <> leksahKeymapFileExtension) Nothing dataDir keyMap <- parseKeymap keysPath let accelActions = setKeymap (keyMap :: KeymapI) mkActions specialKeys <- buildSpecialKeys keyMap accelActions@@ -124,6 +127,7 @@ , vcsData = (Map.empty, Nothing) , logLaunches = Map.empty , autoCommand = return ()+ , autoURI = Nothing } ideR <- newIORef ide (`reflectIDE` ideR) f >>= putMVar result@@ -149,19 +153,19 @@ debugM "leksah" $ show editor testIDE $ test (newBuffer :: Maybe FilePath -> Text -> IDEM (EditorBuffer editor)) -prop_test :: Text -> Property+prop_test :: String -> Property prop_test s = monadicIO $ do let input = filter (not . flip elem "\NUL\r") s result <- run $ allEditors (\buf -> do (win:_) <- getWindows- buffer <- buf Nothing ""- view <- newView buffer (Just "monospace")+ buffer <- buf Nothing (T.pack "")+ view <- newView buffer (Just $ T.pack "monospace") sw <- getScrolledWindow view liftIO $ containerAdd win sw- setText buffer input+ setText buffer (T.pack input) first <- getStartIter buffer last <- getEndIter buffer out <- getText buffer first last True- return $ input == out)+ return $ T.pack input == out) assert result
tests/Tests.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TemplateHaskell, OverloadedStrings #-} ----------------------------------------------------------------------------- -- -- Module : Tests@@ -29,19 +29,20 @@ import Control.Concurrent (yield, takeMVar, putMVar, newEmptyMVar, threadDelay, forkIO) import System.Glib.MainLoop (priorityHigh)+import Data.Monoid ((<>)) testString = " Could not find module `Graphics.UI.Gtk':\n" - ++ " It is a member of the hidden package `gtk-0.11.0'.\n" - ++ " Perhaps you need to add `gtk' to the build-depends in your .cabal file.\n" - ++ " Use -v to see a list of the files searched for." + <> " It is a member of the hidden package `gtk-0.11.0'.\n" + <> " Perhaps you need to add `gtk' to the build-depends in your .cabal file.\n" + <> " Use -v to see a list of the files searched for." prop_parseHiddenModule = parseHiddenModule testString == Just HiddenModuleResult {hiddenModule = "Graphics.UI.Gtk", missingPackage = PackageIdentifier {pkgName = PackageName "gtk", pkgVersion = Version {versionBranch = [0,11,0], versionTags = []}}} -- At some point the : was removed from this message... testString2 = " Could not find module `Data.Attoparsec.Lazy'\n"- ++ " It is a member of the hidden package `attoparsec-0.10.2.0'.\n"- ++ " Perhaps you need to add `attoparsec' to the build-depends in your .cabal file.\n"- ++ " Use -v to see a list of the files searched for.\n"+ <> " It is a member of the hidden package `attoparsec-0.10.2.0'.\n"+ <> " Perhaps you need to add `attoparsec' to the build-depends in your .cabal file.\n"+ <> " Use -v to see a list of the files searched for.\n" prop_parseHiddenModule2 = parseHiddenModule testString2 == Just HiddenModuleResult {hiddenModule = "Data.Attoparsec.Lazy", missingPackage = PackageIdentifier {pkgName = PackageName "attoparsec", pkgVersion = Version {versionBranch = [0,10,2,0], versionTags = []}}}