File: 10_keywords.t

package info (click to toggle)
libverilog-perl 3.482-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,728 kB
  • sloc: perl: 8,685; yacc: 3,387; cpp: 2,266; lex: 1,502; makefile: 8; fortran: 3
file content (46 lines) | stat: -rwxr-xr-x 1,960 bytes parent folder | download
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
#!/usr/bin/perl -w
# DESCRIPTION: Perl ExtUtils: Type 'make test' to test this package
#
# Copyright 2000-2024 by Wilson Snyder.  This program is free software;
# you can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.

use strict;
use Test::More;

BEGIN { plan tests => 27 }
BEGIN { require "./t/test_utils.pl"; }

use Verilog::Language;
ok(1);

ok (Verilog::Language::is_keyword("input"));
ok (!Verilog::Language::is_keyword("not_input"));
ok (Verilog::Language::is_compdirect("`define"));

is (Verilog::Language::language_standard(), '1800-2023');
is (Verilog::Language::language_standard('1800-2023'), '1800-2023');
is (Verilog::Language::language_standard('1800-2017'), '1800-2017');
is (Verilog::Language::language_standard('1800-2012'), '1800-2012');
is (Verilog::Language::language_standard('1800-2009'), '1800-2009');
ok (Verilog::Language::is_keyword("checker"));
is (Verilog::Language::language_standard('1800-2005'), '1800-2005');
ok (!Verilog::Language::is_keyword("checker"));
ok (Verilog::Language::is_keyword("do"));
is (Verilog::Language::language_standard('1364-2005'), '1364-2005');
ok (Verilog::Language::is_keyword("uwire"));
is (Verilog::Language::language_standard(2001), '1364-2001');
ok (!Verilog::Language::is_keyword("uwire"));
ok (Verilog::Language::is_keyword("generate"));
is (Verilog::Language::language_standard(1995), '1364-1995');
ok (!Verilog::Language::is_keyword("generate"));

is (Verilog::Language::language_maximum(), '1800-2023', 'language_maximum');

is (Verilog::Language::strip_comments("he/**/l/**/lo"), "hello");
is (Verilog::Language::strip_comments("he//xx/*\nllo"), "he\nllo");
is (Verilog::Language::strip_comments("he/*xx//..*/llo"), "hello");
is (Verilog::Language::strip_comments("he\"//llo\""), "he\"//llo\"");

ok ( Verilog::Language::is_gateprim("buf"));
ok (!Verilog::Language::is_gateprim("else"));