From 9a28ba16510169b61d2dd0568ff6217682e23f7c Mon Sep 17 00:00:00 2001 From: Ryan Flynn Date: Thu, 21 Mar 2013 21:42:57 -0400 Subject: [PATCH] correct 'Other' double-use --- src/sqlite3_lib.erl | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/sqlite3_lib.erl b/src/sqlite3_lib.erl index bb6b796..3e4655d 100644 --- a/src/sqlite3_lib.erl +++ b/src/sqlite3_lib.erl @@ -304,11 +304,11 @@ sql_number(NumberStr) -> case string:to_integer(NumberStr) of {Int, []} -> Int; - Other -> + _ -> case string:to_float(NumberStr) of {Float, []} -> Float; - Other -> + _ -> {error, not_a_number} end end. @@ -408,6 +408,17 @@ quote_test() -> ?assertFlat("'abc'", value_to_sql("abc")), ?assertFlat("'a''b''''c'", value_to_sql("a'b''c")). +number_test() -> + ?assertEqual(sql_number(""), {error, not_a_number}), + ?assertEqual(sql_number("a"), {error, not_a_number}), + ?assertEqual(sql_number(" 1"), {error, not_a_number}), + ?assertEqual(sql_number("1 "), {error, not_a_number}), + ?assertEqual(sql_number(" 1 "), {error, not_a_number}), + ?assertEqual(sql_number("0"), 0), + ?assertEqual(sql_number("0.0"), 0.0), + ?assertEqual(sql_number("-0.0"), 0.0), + ?assertEqual(sql_number("+0.0"), 0.0). + create_table_sql_test() -> ?assertFlat( "CREATE TABLE user (id INTEGER PRIMARY KEY, name TEXT, CHECK ('am'='am'));",