Index: t/ValuesAndExpressions/ProhibitInterpolationOfLiterals.run
===================================================================
--- t/ValuesAndExpressions/ProhibitInterpolationOfLiterals.run (revision 2590)
+++ t/ValuesAndExpressions/ProhibitInterpolationOfLiterals.run (working copy)
@@ -7,7 +7,7 @@
#-----------------------------------------------------------------------------
-## name Basic passing
+## name Basic passing (0)
## failures 0
## cut
@@ -16,8 +16,18 @@
#-----------------------------------------------------------------------------
-## name Code with all delimiters in configuration
+## name Basic passing (1)
## failures 0
+## parms { allow_if_string_contains_single_quote => 1 }
+## cut
+
+print 'this is literal';
+print q{this is literal};
+
+#-----------------------------------------------------------------------------
+
+## name Code with all delimiters in configuration (0)
+## failures 0
## parms {allow => 'qq( qq{ qq[ qq/'}
## cut
@@ -30,7 +40,21 @@
#-----------------------------------------------------------------------------
-## name Code with not all delimiters in configuration
+## name Code with all delimiters in configuration (1)
+## failures 0
+## parms {allow => 'qq( qq{ qq[ qq/', allow_if_string_contains_single_quote => 1}
+## cut
+
+$sql = qq(select foo from bar);
+$sql = qq{select foo from bar};
+$sql = qq[select foo from bar];
+$sql = qq/select foo from bar/;
+
+is( pcritique($policy, \$code, \%config), 0, $policy);
+
+#-----------------------------------------------------------------------------
+
+## name Code with not all delimiters in configuration (0)
## failures 2
## parms {allow => 'qq( qq{'}
## cut
@@ -42,8 +66,20 @@
#-----------------------------------------------------------------------------
-## name Configuration with only delimiters, no operators
+## name Code with not all delimiters in configuration (1)
## failures 2
+## parms {allow => 'qq( qq{', allow_if_string_contains_single_quote => 1}
+## cut
+
+$sql = qq(select foo from bar);
+$sql = qq{select foo from bar};
+$sql = qq[select foo from bar];
+$sql = qq/select foo from bar/;
+
+#-----------------------------------------------------------------------------
+
+## name Configuration with only delimiters, no operators (0)
+## failures 2
## parms {allow => '() {}'}
## cut
@@ -54,8 +90,20 @@
#-----------------------------------------------------------------------------
-## name Configuration with matching closing delimiters
+## name Configuration with only delimiters, no operators (1)
## failures 2
+## parms {allow => '() {}', allow_if_string_contains_single_quote => 1}
+## cut
+
+$sql = qq(select foo from bar);
+$sql = qq{select foo from bar};
+$sql = qq[select foo from bar];
+$sql = qq/select foo from bar/;
+
+#-----------------------------------------------------------------------------
+
+## name Configuration with matching closing delimiters (0)
+## failures 2
## parms {allow => 'qq() qq{}'}
## cut
@@ -66,10 +114,22 @@
#-----------------------------------------------------------------------------
-## name Disallow interpolationi f string contains single quote
+## name Configuration with matching closing delimiters (1)
## failures 2
+## parms {allow => 'qq() qq{}', allow_if_string_contains_single_quote => 1}
## cut
+$sql = qq(select foo from bar);
+$sql = qq{select foo from bar};
+$sql = qq[select foo from bar];
+$sql = qq/select foo from bar/;
+
+#-----------------------------------------------------------------------------
+
+## name Disallow interpolation if string contains single quote
+## failures 2
+## cut
+
$sql = "it's me";
$sql = "\'";