X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fxforms%2Frecode.at;h=05f2ef64db57da4b03dd5908b510ecb9f52fae3b;hb=9c5440448a9999db5515937c85a3f37deb033efa;hp=aa50054e09a111f08a3f8941084c402271ae0d58;hpb=d737633d2bf0b60c2a46c6ade75773e5ccb16f2b;p=pspp diff --git a/tests/language/xforms/recode.at b/tests/language/xforms/recode.at index aa50054e09..05f2ef64db 100644 --- a/tests/language/xforms/recode.at +++ b/tests/language/xforms/recode.at @@ -1,3 +1,19 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([RECODE transformation]) m4_define([RECODE_SAMPLE_DATA], @@ -294,3 +310,56 @@ A,B,A1 3,4,1 ]) AT_CLEANUP + + + +AT_SETUP([RECODE increased string widths]) + +AT_DATA([recode.sps],[dnl +data list notable list /x (a1) y (a8) z *. +begin data. +a a 2 +a two 2 +b three 2 +c b 2 +end data. + +recode x y ("a" = "first") . + +list. +]) + +AT_CHECK([pspp -O format=csv recode.sps], [1], [dnl +"error: Cannot recode because the variable x would require a width of 5 bytes or greater, but it has a width of only 1 bytes." + +Table: Data List +x,y,z +a,a ,2.00 +a,two ,2.00 +b,three ,2.00 +c,b ,2.00 +]) + +AT_CLEANUP + + + +AT_SETUP([RECODE crash on invalid dest variable]) + +AT_DATA([recode.sps],[dnl +DATA LIST LIST NOTABLE/x (f1) s (a4) t (a10). +MISSING VALUES x(9)/s('xxx'). +BEGIN DATA. +0, '', '' +1, a, a +2, ab, ab +3, abc, abc +END DATA. + +RECODE x (1=9) INTO ". +EXECUTE. +]) + +AT_CHECK([pspp -O format=csv recode.sps], [1], [ignore]) + +AT_CLEANUP