2 Copyright 2009 by Hans Baier
10 public class ConfigurationTest
{
11 protected static Configuration config
;
13 public static void set_up () {
14 config
= new
Configuration ();
15 config
.set_test_mode ();
19 public static void empty_test () {
21 assert (!config
.exists ());
23 assert (!config
.exists ());
25 assert (!config
.exists ());
27 assert (!config
.exists ());
30 public static void parse_command_line () {
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 () {
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
) {
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
);
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
);
104 } //namespace Jackpanel