spec/models/data_grid_spec.rb in marty-1.1.1 vs spec/models/data_grid_spec.rb in marty-1.1.2
- old
+ new
@@ -695,9 +695,42 @@
"state" => "RI" }, nil, false,
true)
expect(res["data"]).to eq (expected_data)
expect(res["metadata"]).to eq (expected_metadata)
end
+
+ it "should handle all characters in grid inputs" do
+ dg = Marty::DataGrid.lookup(pt, 'G1')
+ 5000.times do
+ st = 30.times.map{rand(224)+32}.pack('U*')
+ res = dg.lookup_grid_distinct_entry(pt, { "ltv" => 10,
+ "fico" => 690,
+ "state" => st }, nil,
+ false, true)
+ end
+ end
+ it "should handle all quote chars in grid inputs" do
+ dg = Marty::DataGrid.lookup(pt, 'G1')
+ # single, double, backslash, grave, acute, unicode quotes: left single,
+ # right single, left double, right double
+ quotes = ["'", '"', '\\', '`', "\u00b4", "\u2018", "\u2019",
+ "\u201C", "\u201D"]
+ 100.times do
+ st = 30.times.map{quotes[rand(9)]}.join
+ res = dg.lookup_grid_distinct_entry(pt, { "ltv" => 10,
+ "fico" => 690,
+ "state" => st }, nil,
+ false, true)
+ end
+ end
+ it "should handle quote chars in object name" do
+ dg = Marty::DataGrid.lookup(pt, 'G1')
+ st = Gemini::State.new(name: "'\\")
+ res = dg.lookup_grid_distinct_entry(pt, { "ltv" => 10,
+ "fico" => 690,
+ "state" => st }, nil,
+ false, true)
+ end
end
describe "exports" do
it 'should export lenient grids correctly' do
dg = dg_from_import("Gf", Gf)