File: GtkSourceLanguageManager.t

package info (click to toggle)
libgtk2-sourceview2-perl 0.10-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 236 kB
  • ctags: 28
  • sloc: perl: 1,066; ansic: 58; makefile: 4
file content (99 lines) | stat: -rw-r--r-- 2,086 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/perl

use strict;
use warnings;

use Gtk2::TestHelper tests => 17;

use FindBin;
use lib "$FindBin::Bin";
use my_helper;

use Glib qw(TRUE FALSE);
use Gtk2::SourceView2;

exit tests();


sub tests {
	test_constructors();
	test_properties();
	return 0;
}


sub test_constructors {
	my $lm;
	
	$lm = Gtk2::SourceView2::LanguageManager->new();
	isa_ok($lm, 'Gtk2::SourceView2::LanguageManager');

	$lm = Gtk2::SourceView2::LanguageManager->get_default();
	isa_ok($lm, 'Gtk2::SourceView2::LanguageManager');
}


sub test_properties {
	my $lm = Gtk2::SourceView2::LanguageManager->get_default();

	ok(scalar($lm->get_language_ids), "get_language_ids");

	# Get language
	my $language = $lm->get_language('perl');
	isa_ok($language, 'Gtk2::SourceView2::Language');
	is($language->get_id, 'perl', "Got perl");

	$language = $lm->get_language('emo-perl');
	is($language, undef, "No such language emo-perl");


	# Guess language
	$language = $lm->guess_language("$FindBin::Bin/my_helper.pm", undef);
	isa_ok($language, 'Gtk2::SourceView2::Language');
	is($language->get_id, 'perl', "Got perl");

	$language = $lm->guess_language("sample.c");
	isa_ok($language, 'Gtk2::SourceView2::Language');
	is($language->get_id, 'c', "Got C");

	$language = $lm->guess_language(undef, 'text/x-c');
	isa_ok($language, 'Gtk2::SourceView2::Language');
	is($language->get_id, 'c', "Got c");

	
	# Take a new LanguageManager an destroy it's search path
	$lm = Gtk2::SourceView2::LanguageManager->new();
	my @path = $lm->get_search_path;
	ok(scalar(@path) > 0, "original search path has values");

	# Clear the search path
	$lm->set_search_path();
	is_deeply(
		[ $lm->get_search_path ],
		[ ],
		"set_search_path() clear"
	);

	$lm->set_search_path('a');
	is_deeply(
		[ $lm->get_search_path ],
		[ 'a' ],
		"set_search_path(a)"
	);

	$lm->set_search_path('a', 'b');
	is_deeply(
		[ $lm->get_search_path ],
		[ 'a', 'b' ],
		"set_search_path(a, b)"
	);


	# Reset the search path
	$lm->set_search_path(undef);
	is_deeply(
		[ $lm->get_search_path ],
		[ @path ],
		"set_search_path(undef) reset"
	);
}