@@ -1737,6 +1737,28 @@ func TestCompile_exposed_error(t *testing.T) {
1737
1737
)
1738
1738
}
1739
1739
1740
+ func TestCompile_multiline_error_in_the_middle (t * testing.T ) {
1741
+ _ , err := expr .Compile ("{\n \t a: 1,\n \t b: #,\n \t c: 3,\n }" )
1742
+ require .Error (t , err )
1743
+
1744
+ fileError , ok := err .(* file.Error )
1745
+ require .True (t , ok , "error should be of type *file.Error" )
1746
+ require .Equal (t , "unexpected token Operator(\" #\" ) (3:5)\n | b: #,\n | ....^" , fileError .Error ())
1747
+ require .Equal (t , 4 , fileError .Column )
1748
+ require .Equal (t , 3 , fileError .Line )
1749
+ }
1750
+
1751
+ func TestCompile_multiline_error_at_the_end (t * testing.T ) {
1752
+ _ , err := expr .Compile ("{\n \t a: 1,\n \t b: 2,\n \t c: 3,\n }#" )
1753
+ require .Error (t , err )
1754
+
1755
+ fileError , ok := err .(* file.Error )
1756
+ require .True (t , ok , "error should be of type *file.Error" )
1757
+ require .Equal (t , "unexpected token Operator(\" #\" ) (5:2)\n | }#\n | .^" , fileError .Error ())
1758
+ require .Equal (t , 1 , fileError .Column )
1759
+ require .Equal (t , 5 , fileError .Line )
1760
+ }
1761
+
1740
1762
func TestAsBool_exposed_error (t * testing.T ) {
1741
1763
_ , err := expr .Compile (`42` , expr .AsBool ())
1742
1764
require .Error (t , err )
0 commit comments