Well how about them apples?! Add temporary overload-madness escape hatch
[dbsrgits/SQL-Abstract.git] / t / 23_is_X_value.t
index 8f37f0b..b06501e 100644 (file)
@@ -6,6 +6,8 @@ use Test::Exception;
 use Scalar::Util 'refaddr';
 use Storable 'nfreeze';
 
+BEGIN { $ENV{SQLA_ISVALUE_IGNORE_AUTOGENERATED_STRINGIFICATION} = 0 }
+
 use SQL::Abstract qw(is_plain_value is_literal_value);
 
 # fallback setting is inheriting starting p5 50853fa9 (run up to 5.17.0)
@@ -14,6 +16,22 @@ use constant STRINGIFIER_CAN_RETURN_IVS => ( ($] < 5.008) ? 0 : 1 );
 
 {
   package # hideee
+    SQLATest::SillyBool;
+
+  use overload
+    # *DELIBERATELY* unspecified
+    #fallback => 1,
+    bool => sub { ${$_[0]} },
+  ;
+
+  package # hideee
+    SQLATest::SillyBool::Subclass;
+
+  our @ISA = 'SQLATest::SillyBool';
+}
+
+{
+  package # hideee
     SQLATest::SillyInt;
 
   use overload
@@ -103,6 +121,8 @@ use constant STRINGIFIER_CAN_RETURN_IVS => ( ($] < 5.008) ? 0 : 1 );
 }
 
 for my $case (
+  { class => 'SQLATest::SillyBool',           can_math => 0, should_str => 1 },
+  { class => 'SQLATest::SillyBool::Subclass', can_math => 0, should_str => 1 },
   { class => 'SQLATest::SillyInt',            can_math => 0, should_str => 1 },
   { class => 'SQLATest::SillyInt::Subclass',  can_math => 0, should_str => 1 },
   { class => 'SQLATest::SillierInt',          can_math => 0, should_str => 0 },