~midori/midori/trunk

« back to all changes in this revision

Viewing changes to tests/database.vala

  • Committer: Christian Dywan
  • Date: 2015-03-15 16:24:41 UTC
  • mto: This revision was merged to the branch mainline in revision 6888.
  • Revision ID: christian@twotoasts.de-20150315162441-6t9jamdhqold3zi1
Throw error for wrong paramter in Statement.bind

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 Copyright (C) 2015 Christian Dywan <christian@twotoasts.de>
 
3
 
 
4
 This library is free software; you can redistribute it and/or
 
5
 modify it under the terms of the GNU Lesser General Public
 
6
 License as published by the Free Software Foundation; either
 
7
 version 2.1 of the License, or (at your option) any later version.
 
8
 
 
9
 See the file COPYING for the full license text.
 
10
*/
 
11
 
 
12
class DatabaseTest : Midori.Test.Job {
 
13
    public static void test () { new DatabaseTest ().run_sync (); }
 
14
    public override async void run (Cancellable cancellable) throws GLib.Error {
 
15
        var database = new Midori.Database ();
 
16
        database.exec ("CREATE TABLE cats (cat text, favorite text)");
 
17
        database.exec ("INSERT INTO cats (cat, favorite) VALUES ('Henry', 'pillow')");
 
18
        var statement = database.prepare ("SELECT cat FROM cats WHERE favorite = :toy");
 
19
        /* Missing : should throw an error */
 
20
        try {
 
21
            statement.bind ("toy", typeof (string), "pillow");
 
22
        } catch (Midori.DatabaseError error) {
 
23
            Katze.assert_str_equal (statement.query, error.message,
 
24
                "No such parameter 'toy' in statement: " + statement.query);
 
25
        }
 
26
        statement.bind (":toy", typeof (string), "pillow");
 
27
    }
 
28
}
 
29
 
 
30
void main (string[] args) {
 
31
    Midori.Test.init (ref args);
 
32
    Midori.App.setup (ref args, null);
 
33
    Midori.Paths.init (Midori.RuntimeMode.NORMAL, null);
 
34
    Test.add_func ("/database/bind", DatabaseTest.test);
 
35
    Test.run ();
 
36
}
 
37