From 5f32731f55c90866161a935d4a7a367736febe04 Mon Sep 17 00:00:00 2001
From: Alex Harvey <Alex.Harvey@team.telstra.com>
Date: Wed, 30 Mar 2016 02:32:37 +1100
Subject: [PATCH] Add a test.

Demonstrate some surprising behaviour to make it clearer that it's
nevertheless working as designed.
---
 spec/unit/puppet/util/ipcidr_spec.rb | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/spec/unit/puppet/util/ipcidr_spec.rb b/spec/unit/puppet/util/ipcidr_spec.rb
index 916f74a..df73ae5 100644
--- a/spec/unit/puppet/util/ipcidr_spec.rb
+++ b/spec/unit/puppet/util/ipcidr_spec.rb
@@ -25,6 +25,16 @@ describe 'Puppet::Util::IPCidr' do
     specify { subject.netmask.should == '255.255.255.0' }
   end
 
+  # https://tickets.puppetlabs.com/browse/MODULES-3215
+  describe 'ipv4 address range with invalid cidr' do
+    before { @ipcidr = Puppet::Util::IPCidr.new('96.126.112.20/24') }
+    subject { @ipcidr }
+    specify { subject.cidr.should == '96.126.112.0/24' }  # .20 is expected to 
+                                                          # be silently dropped.
+    specify { subject.prefixlen.should == 24 }
+    specify { subject.netmask.should == '255.255.255.0' }
+  end
+
   describe 'ipv4 open range with cidr' do
     before { @ipcidr = Puppet::Util::IPCidr.new('0.0.0.0/0') }
     subject { @ipcidr }
-- 
2.45.2