remove debianization from main repo
[jackpanel.git] / jackpanel / ConfigurationTest.vala
blob7d75d1848f108fc38eb57b6e14ef489744d886a7
1 /*
2 Copyright 2009 by Hans Baier
3 License: GPLv2+
4 */
6 using GLib;
8 namespace Jackpanel {
10 public class ConfigurationTest {
11 protected static Configuration config;
13 public static void set_up () {
14 config = new Configuration ();
15 config.set_test_mode ();
16 config.init ();
19 public static void empty_test () {
20 set_up ();
21 assert (!config.exists ());
22 config.sweep ();
23 assert (!config.exists ());
24 config.init ();
25 assert (!config.exists ());
26 config.sweep ();
27 assert (!config.exists ());
30 public static void parse_command_line () {
31 set_up ();
32 assert (!config.exists ());
33 string cmd = "/usr/bin/jackd -n my_name --bad-option1 -R -P79 -p 512 -t1000 -dalsa -r 48000 -p128 -n2 -D -C multi_capture -Pmulti_playback --bad-option2 -Xseq -i123 -o456";
34 config.from_command_line (cmd);
35 assert (config.exists ());
36 assert (config.server_command == "/usr/bin/jackd");
37 assert (config.realtime == true);
38 assert (config.realtime_priority == 79);
39 assert (config.driver == "alsa");
40 assert (config.sample_rate == 48000);
41 assert (config.buffer_size == 128);
42 assert (config.periods == 2);
43 assert (config.input_device == "multi_capture");
44 assert (config.output_device == "multi_playback");
45 assert (config.midi_driver == "seq");
47 string unparsed = config.to_command_line ();
48 string expected = "/usr/bin/jackd --name my_name --realtime --realtime-priority 79 --port-max 512 --timeout 1000 --bad-option1 --driver alsa --rate 48000 --period 128 --nperiods 2 --inchannels 123 --outchannels 456 --capture multi_capture --playback multi_playback --midi seq -D --bad-option2";
49 debug ("unparsed: '%s'", unparsed);
50 debug ("expected: '%s'", expected);
51 assert (unparsed == expected);
52 debug ("jack options: '%s'", config.jack_options);
53 debug ("driver options: '%s'", config.driver_options);
54 assert (config.jack_options == "--bad-option1");
55 assert (config.driver_options == "-D --bad-option2");
57 config.from_command_line (unparsed);
58 assert (config.exists ());
59 assert (config.server_command == "/usr/bin/jackd");
60 assert (config.realtime == true);
61 assert (config.realtime_priority == 79);
62 assert (config.driver == "alsa");
63 assert (config.sample_rate == 48000);
64 assert (config.buffer_size == 128);
65 assert (config.periods == 2);
66 assert (config.input_device == "multi_capture");
67 assert (config.output_device == "multi_playback");
68 assert (config.midi_driver == "seq");
69 unparsed = config.to_command_line ();
70 debug ("unparsing got: '%s'", unparsed);
71 debug ("expected: '%s'", expected);
72 assert (unparsed == expected);
75 public static void make_sure_int_props_are_unparsed_correctly () {
76 set_up ();
77 assert (!config.exists ());
78 string cmd = "/usr/bin/jackdddd --name my_name";
79 config.from_command_line (cmd);
80 assert (config.exists ());
81 assert (config.server_command == "/usr/bin/jackdddd");
82 assert (config.server_name == "my_name");
83 string unparsed = config.to_command_line ();
84 debug ("unparsed: '%s'", unparsed);
85 debug ("expected: '%s'", cmd);
86 assert (unparsed == cmd);
89 static int main (string[] args) {
90 Test.init (ref args);
91 Test.add_func ("/jackpanel/configuration/empty", empty_test);
92 Test.add_func ("/jackpanel/configuration/parse_command_line", parse_command_line);
93 Test.add_func ("/jackpanel/configuration/make_sure_int_props_are_unparsed_correctly", make_sure_int_props_are_unparsed_correctly);
94 Test.run ();
96 // clean up
97 Process.spawn_command_line_sync ("gconftool --shutdown");
98 string test_dir = Environment.get_home_dir () + "/.gconf" + config.root ();
99 Process.spawn_command_line_sync ("rm -rf " + test_dir);
100 return 0;
104 } //namespace Jackpanel