packages feed

network-ip 0.2.1 → 0.2.1.1

raw patch · 3 files changed

+43/−41 lines, 3 filesdep +type-hintdep −taggeddep ~data-textual

Dependencies added: type-hint

Dependencies removed: tagged

Dependency ranges changed: data-textual

Files

network-ip.cabal view
@@ -1,5 +1,5 @@ Name: network-ip-Version: 0.2.1+Version: 0.2.1.1 Category: Network Stability: experimental Synopsis: Internet Protocol data structures@@ -29,12 +29,12 @@     data-default-class,     data-endian  >= 0.0.1,     data-dword   >= 0.2,-    tagged       >= 0.2,+    type-hint    >= 0.1,     hashable     >= 1.1,     binary       >= 0.5,     cereal       >= 0.3,     text-printer >= 0.4,-    data-textual >= 0.2,+    data-textual >= 0.3,     parsers      >= 0.5   Hs-Source-Dirs: src   GHC-Options: -Wall@@ -56,4 +56,3 @@   Hs-Source-Dirs: tests   GHC-Options: -Wall   Main-Is: Tests.hs-
src/Network/IP/Addr.hs view
@@ -74,7 +74,6 @@  import Prelude hiding (print) import Data.Typeable (Typeable, Typeable1)-import Data.Proxy (Proxy(..)) import Data.Word import Data.Bits import Data.DoubleWord (BinaryWord(..), DoubleWord(..), Word128)@@ -95,6 +94,7 @@ import Text.Parser.Char (CharParsing) import qualified Text.Parser.Char as PC import Text.Printf (printf)+import Type.Hint import Control.Applicative import Control.Monad (void, when) import Foreign.Ptr (castPtr)
tests/Tests.hs view
@@ -143,38 +143,40 @@              , testProperty "ip4Range" $ \a →                  let r = ip4Range a in                    if | inNetwork a (net4Addr anyIP4 8)-                      → r == ThisHostIP4+                        → r == ThisHostIP4                       | inNetwork a (net4Addr (ip4FromOctets 10 0 0 0) 8) ||-                        inNetwork a (net4Addr (ip4FromOctets 172 16 0 0) 12) ||+                        inNetwork a+                          (net4Addr (ip4FromOctets 172 16 0 0) 12) ||                         inNetwork a (net4Addr (ip4FromOctets 192 168 0 0) 16)-                      → r == PrivateUseIP4+                        → r == PrivateUseIP4                       | inNetwork a (net4Addr (ip4FromOctets 100 64 0 0) 10)-                      → r == SharedSpaceIP4+                        → r == SharedSpaceIP4                       | inNetwork a (net4Addr (ip4FromOctets 127 0 0 0) 8)-                      → r == LoopbackIP4+                        → r == LoopbackIP4                       | inNetwork a (net4Addr (ip4FromOctets 169 254 0 0) 16)-                      → r == LinkLocalIP4+                        → r == LinkLocalIP4                       | inNetwork a (net4Addr (ip4FromOctets 192 0 0 0) 24)-                      → if inNetwork a (net4Addr (ip4FromOctets 192 0 0 0) 29)-                        then r == DSLiteIP4-                        else r == ReservedIP4+                        → if inNetwork a+                               (net4Addr (ip4FromOctets 192 0 0 0) 29)+                          then r == DSLiteIP4+                          else r == ReservedIP4                       | inNetwork a (net4Addr (ip4FromOctets 192 0 2 0) 24) ||                         inNetwork a                           (net4Addr (ip4FromOctets 198 51 100 0) 24) ||                         inNetwork a (net4Addr (ip4FromOctets 203 0 113 0) 24)-                      → r == DocumentationIP4+                        → r == DocumentationIP4                       | inNetwork a (net4Addr (ip4FromOctets 192 88 99 0) 24)-                      → r == IP6To4IP4+                        → r == IP6To4IP4                       | inNetwork a (net4Addr (ip4FromOctets 198 18 0 0) 15)-                      → r == BenchmarkingIP4+                        → r == BenchmarkingIP4                       | inNetwork a (net4Addr (ip4FromOctets 224 0 0 0) 4)-                      → r == MulticastIP4+                        → r == MulticastIP4                       | inNetwork a (net4Addr (ip4FromOctets 240 0 0 0) 4)-                      → if a == broadcastIP4-                        then r == BroadcastIP4-                        else r == FutureUseIP4+                        → if a == broadcastIP4+                          then r == BroadcastIP4+                          else r == FutureUseIP4                       | otherwise-                      → r == GeneralIP4+                        → r == GeneralIP4              ]          , testGroup "IP6"              [ testProperty "show -> read" $ \a →@@ -304,47 +306,48 @@              , testProperty "ip6Range" $ \a →                  let r = ip6Range a in                    if | a == anyIP6-                      → r == AnyIP6+                        → r == AnyIP6                       | a == loopbackIP6-                      → r == LoopbackIP6 +                        → r == LoopbackIP6                        | inNetwork a                           (net6Addr (ip6FromWords 0 0 0 0xFFFF 0 0 0 0) 96)-                      → r == IP4MappedIP6+                        → r == IP4MappedIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0x100 0 0 0 0 0 0 0) 64)-                      → r == DiscardIP6+                        → r == DiscardIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0x64 0xFF9B 0 0 0 0 0 0) 96)-                      → r == IP4EmbeddedIP6+                        → r == IP4EmbeddedIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0x2001 0 0 0 0 0 0 0) 23)-                      → if inNetwork a-                             (net6Addr (ip6FromWords 0x2001 0 0 0 0 0 0 0) 32)-                        then r == TeredoIP6-                        else-                          if inNetwork a+                        → if inNetwork a                                (net6Addr-                                  (ip6FromWords 0x2001 0x10 0 0 0 0 0 0) 28)-                          then r == OrchidIP6-                          else r == ReservedIP6+                                  (ip6FromWords 0x2001 0 0 0 0 0 0 0) 32)+                          then r == TeredoIP6+                          else+                            if inNetwork a+                                 (net6Addr+                                    (ip6FromWords 0x2001 0x10 0 0 0 0 0 0) 28)+                            then r == OrchidIP6+                            else r == ReservedIP6                       | inNetwork a                           (net6Addr                              (ip6FromWords 0x2001 0xDB8 0 0 0 0 0 0) 32)-                      → r == DocumentationIP6+                        → r == DocumentationIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0x2002 0 0 0 0 0 0 0) 16)-                      → r == IP6To4IP6+                        → r == IP6To4IP6                       | inNetwork a                           (net6Addr (ip6FromWords 0xFC00 0 0 0 0 0 0 0) 7)-                      → r == UniqueLocalIP6+                        → r == UniqueLocalIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0xFE80 0 0 0 0 0 0 0) 10)-                      → r == LinkLocalIP6+                        → r == LinkLocalIP6                       | inNetwork a                           (net6Addr (ip6FromWords 0xFF00 0 0 0 0 0 0 0) 8)-                      → r == MulticastIP6+                        → r == MulticastIP6                       | otherwise-                      → r == GeneralIP6+                        → r == GeneralIP6              ]          , testGroup "IP"              [ testProperty "show -> read" $ \a →