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
|
use strict;
use Test;
use Win32;
my @tests = (
# $id, $major, $minor, $pt, $build, $tag
[ "WinWin32s", 0 ],
[ "Win95", 1, 4, 0 ],
[ "Win95", 1, 4, 0, 0, 67109814, "(a)" ],
[ "Win95", 1, 4, 0, 0, 67306684, "(b1)" ],
[ "Win95", 1, 4, 0, 0, 67109975, "(b2)" ],
[ "Win98", 1, 4, 10 ],
[ "Win98", 1, 4, 10, 0, 67766446, "(2nd ed)" ],
[ "WinMe", 1, 4, 90 ],
[ "WinNT3.51", 2, 3, 51 ],
[ "WinNT4", 2, 4, 0 ],
[ "Win2000", 2, 5, 0 ],
[ "WinXP/.Net", 2, 5, 1 ],
[ "Win2003", 2, 5, 2 ],
[ "WinVista", 2, 6, 0, 1 ],
[ "Win2008", 2, 6, 0, 2 ],
[ "Win7", 2, 6, 1 ],
);
plan tests => 2*scalar(@tests) + 1;
# Test internal implementation function
for my $test (@tests) {
my($expect, $id, $major, $minor, $pt, $build, $tag) = @$test;
my($os, $desc) = Win32::_GetOSName("", $major, $minor, $build||0, $id, $pt);
ok($os, $expect);
ok($desc, $tag||"");
}
# Does Win32::GetOSName() return the correct value for the current OS?
my(undef, $major, $minor, $build, $id, undef, undef, undef, $pt)
= Win32::GetOSVersion();
my($os, $desc) = Win32::_GetOSName("", $major, $minor, $build, $id, $pt);
ok(scalar Win32::GetOSName(), $os);
|