Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
c58e7a71
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c58e7a71
编写于
7月 07, 2010
作者:
A
Aaron Patterson
提交者:
wycats
7月 07, 2010
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adding some behavioral tests for the sqlite adapter. [#5065 state:resolved]
Signed-off-by:
N
wycats
<
wycats@gmail.com
>
上级
81f398b8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
100 addition
and
0 deletion
+100
-0
activerecord/test/cases/adapters/sqlite/sqlite_adapter_test.rb
...erecord/test/cases/adapters/sqlite/sqlite_adapter_test.rb
+100
-0
未找到文件。
activerecord/test/cases/adapters/sqlite/sqlite_adapter_test.rb
0 → 100644
浏览文件 @
c58e7a71
require
"cases/helper"
module
ActiveRecord
module
ConnectionAdapters
class
SQLiteAdapterTest
<
ActiveRecord
::
TestCase
def
setup
@ctx
=
Base
.
sqlite3_connection
:database
=>
':memory:'
,
:adapter
=>
'sqlite3'
,
:timeout
=>
nil
@ctx
.
execute
<<-
eosql
CREATE TABLE items (
id integer PRIMARY KEY AUTOINCREMENT,
number integer
)
eosql
end
def
test_execute
@ctx
.
execute
"INSERT INTO items (number) VALUES (10)"
records
=
@ctx
.
execute
"SELECT * FROM items"
assert_equal
1
,
records
.
length
record
=
records
.
first
assert_equal
10
,
record
[
'number'
]
assert_equal
1
,
record
[
'id'
]
end
def
test_quote_string
assert_equal
"''"
,
@ctx
.
quote_string
(
"'"
)
end
def
test_insert_sql
2
.
times
do
|
i
|
rv
=
@ctx
.
insert_sql
"INSERT INTO items (number) VALUES (
#{
i
}
)"
assert_equal
(
i
+
1
,
rv
)
end
records
=
@ctx
.
execute
"SELECT * FROM items"
assert_equal
2
,
records
.
length
end
def
test_insert_sql_logged
sql
=
"INSERT INTO items (number) VALUES (10)"
name
=
"foo"
assert_logged
([[
sql
,
name
]])
do
@ctx
.
insert_sql
sql
,
name
end
end
def
test_insert_id_value_returned
sql
=
"INSERT INTO items (number) VALUES (10)"
idval
=
'vuvuzela'
id
=
@ctx
.
insert_sql
sql
,
nil
,
nil
,
idval
assert_equal
idval
,
id
end
def
test_select_rows
2
.
times
do
|
i
|
@ctx
.
create
"INSERT INTO items (number) VALUES (
#{
i
}
)"
end
rows
=
@ctx
.
select_rows
'select number, id from items'
assert_equal
[[
0
,
1
],
[
1
,
2
]],
rows
end
def
test_select_rows_logged
sql
=
"select * from items"
name
=
"foo"
assert_logged
([[
sql
,
name
]])
do
@ctx
.
select_rows
sql
,
name
end
end
def
test_transaction
count_sql
=
'select count(*) from items'
@ctx
.
begin_db_transaction
@ctx
.
create
"INSERT INTO items (number) VALUES (10)"
assert_equal
1
,
@ctx
.
select_rows
(
count_sql
).
first
.
first
@ctx
.
rollback_db_transaction
assert_equal
0
,
@ctx
.
select_rows
(
count_sql
).
first
.
first
end
def
assert_logged
logs
@ctx
.
extend
(
Module
.
new
{
attr_reader
:logged
def
log
sql
,
name
@logged
||=
[]
@logged
<<
[
sql
,
name
]
yield
end
})
yield
assert_equal
logs
,
@ctx
.
logged
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录