#!/pro/bin/perl use strict; use warnings; #use Test::More "no_plan"; use Test::More tests => 31; use Test::NoWarnings; BEGIN { use_ok ("VCS::SCCS"); } like (VCS::SCCS->version (), qr{^\d+\.\d+$}, "Module version"); my $sccs; my $testfile = "files/SCCS/s.tran.dta"; ok (1, "Parsing"); ok ($sccs = VCS::SCCS->new ($testfile), "Read and parse large SCCS file"); is (length ($sccs->body ()), 41, "body () scalar"); is (length ($sccs->body (0)), 41, "body (0) scalar"); is (length ($sccs->body ("")), 41, "body ('') scalar"); is (length ($sccs->body (2)), 41, "body (2) scalar"); is (length ($sccs->body ("1.1")), 25, "body ('1.1') scalar"); my @body; ok (@body = $sccs->body (), "body () list"); is (scalar @body, 2, ".. 2 lines"); ok (@body = $sccs->body ("1.1"), "body ('1.1') list"); is (scalar @body, 1, ".. 1 line"); is ($sccs->translate (2, "%E%"), "%E%", "translate '' %E% 2"); is ($sccs->translate (2, "%U%"), "%U%", "translate '' %U% 2"); is ($sccs->translate (1, "%U%"), "%U%", "translate '' %U% 1"); is ($sccs->translate (1, "%U%R%E%"), "%U%R%E%", "translate '' %U%R%E% 1"); $sccs->set_translate ("****"); is ($sccs->translate (2, "%E%"), "%E%", "translate '****' %E% 2"); is ($sccs->translate (2, "%U%"), "%U%", "translate '****' %U% 2"); is ($sccs->translate (1, "%U%"), "%U%", "translate '****' %U% 1"); is ($sccs->translate (1, "%U%R%E%"), "%U%R%E%", "translate '****' %U%R%E% 1"); $sccs->set_translate ("SCCS"); is ($sccs->translate (2, "%E%"), "07/12/01", "translate SCCS %E% 2"); is ($sccs->translate (2, "%U%"), "02:02:02", "translate SCCS %U% 2"); is ($sccs->translate (1, "%U%"), "01:01:01", "translate SCCS %U% 1"); is ($sccs->translate (2, "%E%R%U%"), "07/12/01R02:02:02", "translate SCCS %U%R%E% 2"); is (length ($sccs->body (2)), 59, "body (2) scalar"); $sccs->set_translate ("RCS"); #is ($sccs->translate (2, "%E%"), "%E%", "translate 'RCS' %E% 2"); #is ($sccs->translate (2, "%U%"), "%U%", "translate 'RCS' %U% 2"); #is ($sccs->translate (1, "%U%"), "%U%", "translate 'RCS' %U% 1"); #is ($sccs->translate (1, "%U%R%E%"), "%U%R%E%", "translate 'RCS' %U%R%E% 1"); my %tr = map { ( "%".$_."%" => "+$_+" ) } "E", "U", "W"; $sccs->set_translate (\%tr); is ($sccs->translate (2, "%E%"), "+E+", "translate {} %E% 2"); is ($sccs->translate (2, "%U%"), "+U+", "translate {} %U% 2"); is ($sccs->translate (1, "%U%"), "+U+", "translate {} %U% 1"); is ($sccs->translate (1, "%U%R%E%"), "+U+R+E+", "translate {} %U%R%E% 1");