From 77e5e7bc4f8b04f2a1eb1d1cf92675fe861c824a Mon Sep 17 00:00:00 2001 From: svu Date: Sun, 25 Apr 2004 23:57:43 +0000 Subject: [PATCH] trying to test layouts as well --- tests/listCI2.xsl | 16 ++++++++++++ tests/testModels.pl | 64 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 tests/listCI2.xsl diff --git a/tests/listCI2.xsl b/tests/listCI2.xsl new file mode 100644 index 0000000..894096a --- /dev/null +++ b/tests/listCI2.xsl @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/tests/testModels.pl b/tests/testModels.pl index a0fd30b..7a7cdba 100644 --- a/tests/testModels.pl +++ b/tests/testModels.pl @@ -10,23 +10,32 @@ my $origXkbVariants; sub backupXkbSettings { + ( $origXkbRules, $origXkbModel, $origXkbLayouts, $origXkbVariants, $origXkbOptions ) = getXkbSettings(); +} + +sub getXkbSettings +{ + my ( $xkbRules, $xkbModel, $xkbLayouts, $xkbVariants, $xkbOptions ); + open (XPROP, "xprop -root |") or die "Could not start xprop"; PROP: while () { if (/_XKB_RULES_NAMES\(STRING\) = \"(.*)\", \"(.*)\", \"(.*)\", \"(.*)\", \"(.*)\"/) { - ( $origXkbRules, $origXkbModel, $origXkbLayouts, $origXkbVariants, $origXkbOptions ) = + ( $xkbRules, $xkbModel, $xkbLayouts, $xkbVariants, $xkbOptions ) = ( $1, $2, $3, $4, $5 ) ; last PROP; } } close XPROP; + + return ( $xkbRules, $xkbModel, $xkbLayouts, $xkbVariants, $xkbOptions ); } sub setXkbSettings { my ( $xkbRules, $xkbModel, $xkbLayouts, $xkbVariants, $xkbOptions ) = @_; - ( system ( "setxkbmap", + ( system ( "setxkbmap", "-synch", "-rules", $xkbRules, "-model", $xkbModel, "-layout", $xkbLayouts, @@ -39,6 +48,11 @@ sub restoreXkbSettings setXkbSettings( $origXkbRules, $origXkbModel, $origXkbLayouts, $origXkbVariants, $origXkbOptions ); } +sub defaultXkbSettings +{ + return ( "base", "pc105", "us", "", "" ); +} + sub dumpXkbSettings { my ( $xkbRules, $xkbModel, $xkbLayouts, $xkbVariants, $xkbOptions ) = @_; @@ -58,14 +72,53 @@ sub testLevel1 while () { chomp(); - if (/(\w+)/) + if (/(\S+)/) { my $paramValue=$1; print "--- setting $type: [$paramValue]\n"; - my @params = ( $origXkbRules, $origXkbModel, $origXkbLayouts, $origXkbVariants, $origXkbOptions ); + my @params = defaultXkbSettings(); @params[$idx] = $paramValue; dumpXkbSettings ( @params ); setXkbSettings ( @params ); + #print "--- dump:\n"; + #dumpXkbSettings( getXkbSettings() ); + } + } + close XSLTPROC; +} + +sub testLevel2 +{ + my ( $type, $subtype, $idx, $delim1, $delim2 ) = @_; + + open ( XSLTPROC, "xsltproc --stringparam type $type listCIs.xsl ../rules/base.xml.in |" ) or + die ( "Could not start xsltproc" ); + while () + { + chomp(); + if (/(\S+)/) + { + my $paramValue=$1; + print "--- scanning $type: [$paramValue]\n"; + + open ( XSLTPROC2, "xsltproc --stringparam type $subtype --stringparam parentId $paramValue listCI2.xsl ../rules/base.xml.in |" ) or + die ( "Could not start xsltproc" ); + while () + { + chomp(); + if (/(\S+)/) + { + my $paramValue2=$1; + print " --- $subtype: [$paramValue2]\n"; + my @params = defaultXkbSettings(); + @params[$idx] = "$paramValue$delim1$paramValue2$delim2"; + dumpXkbSettings ( @params ); + setXkbSettings ( @params ); + #print "--- dump:\n"; + #dumpXkbSettings( getXkbSettings() ); + } + } + close XSLTPROa2C; } } close XSLTPROC; @@ -75,6 +128,7 @@ backupXkbSettings(); dumpXkbSettings( $origXkbRules, $origXkbModel, $origXkbLayouts, $origXkbVariants, $origXkbOptions ); -testLevel1( "model", 1 ); +#testLevel1( "model", 1 ); +testLevel2( "layout", "variant", 2, "(", ")" ); restoreXkbSettings(); -- 2.32.0.93.g670b81a890