for (i = 0; i < n; i++)
table = table_vpaste (table, describe_variable (vl[i], flags));
-#if 0
- tab_hline (t, flags & ~DF_DICT_INDEX ? TAL_2 : TAL_1, 0, nc - 1, 1);
- if (flags)
- {
- tab_box (t, TAL_1, TAL_1, -1, -1, 0, 0, nc - 1, r - 1);
- tab_vline (t, TAL_1, 1, 0, r - 1);
- }
- if (flags & ~DF_DICT_INDEX)
- tab_vline (t, TAL_1, nc - 1, 0, r - 1);
-#endif
table_item_submit (table_item_create (table, NULL /* XXX */, NULL));
}
\f
return &t->table;
}
-/* Puts a description of variable V into table T starting at row
- R. The variable will be described in the format given by
- FLAGS. Returns the next row available for use in the
- table. */
static struct table *
-describe_variable (const struct variable *v, int flags)
+describe_variable_details (const struct variable *v, int flags)
{
struct table *table;
struct string s;
table, table_create_nested (describe_attributes (attrs, flags)));
}
- if (table == NULL)
- table = table_from_string (TAB_LEFT, "");
+ return table ? table : table_from_string (TAB_LEFT, "");
+}
+
+/* Puts a description of variable V into table T starting at row
+ R. The variable will be described in the format given by
+ FLAGS. Returns the next row available for use in the
+ table. */
+static struct table *
+describe_variable (const struct variable *v, int flags)
+{
+ struct table *table;
+ table = flags & ~DF_DICT_INDEX ? describe_variable_details (v, flags) : NULL;
table = table_hpaste (table_from_string (0, var_get_name (v)),
- table_stomp (table));
+ table ? table_stomp (table) : NULL);
if (flags & DF_DICT_INDEX)
{
char s[INT_BUFSIZE_BOUND (size_t)];
Display Width: 10",2
])
AT_CLEANUP
+
+AT_BANNER([DISPLAY])
+
+dnl DISPLAY DOCUMENTS is tested with commands for documents.
+
+AT_SETUP([DISPLAY FILE LABEL])
+AT_DATA([display.sps], [dnl
+DATA LIST LIST NOTABLE /x * name (a10) .
+
+DISPLAY FILE LABEL.
+
+FILE LABEL 'foo bar baz quux'.
+DISPLAY FILE LABEL.
+])
+AT_CHECK([pspp -O format=csv display.sps], [0], [dnl
+The active dataset does not have a file label.
+
+File label: foo bar baz quux
+])
+AT_CLEANUP
+
+dnl DISPLAY VECTORS is tested with commands for vectors.
+
+dnl DISPLAY ATTRIBUTES and @ATTRIBUTES are tested with commands for attributes.
+
+AT_SETUP([DISPLAY SCRATCH])
+AT_DATA([sysfile-info.sps], [dnl
+DATA LIST LIST NOTABLE /x * name (a10) .
+DISPLAY SCRATCH.
+COMPUTE #x=0.
+DISPLAY SCRATCH.
+])
+AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+sysfile-info.sps:2: warning: DISPLAY: No variables to display.
+
+Variable
+#x
+])
+AT_CLEANUP
+
+AT_SETUP([DISPLAY INDEX])
+AT_DATA([sysfile-info.sps], [dnl
+DATA LIST LIST NOTABLE /x * name (a10) .
+DISPLAY INDEX.
+])
+AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+Variable,Position
+x,1
+name,2
+])
+AT_CLEANUP
+
+AT_SETUP([DISPLAY NAMES])
+AT_DATA([sysfile-info.sps], [dnl
+DATA LIST LIST NOTABLE /x * name (a10) .
+DISPLAY NAMES.
+])
+AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+Variable
+x
+name
+])
+AT_CLEANUP
+
+AT_SETUP([DISPLAY LABELS])
+AT_DATA([sysfile-info.sps], [dnl
+DATA LIST LIST NOTABLE /x * name (a10) .
+VARIABLE LABEL x 'variable one' name 'variable two'.
+VALUE LABEL x 1 'asdf' 2 'jkl;'.
+DISPLAY LABELS.
+])
+AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+Variable,Label,Position
+x,variable one,1
+name,variable two,2
+])
+AT_CLEANUP
+
+dnl DISPLAY VARIABLES Is tested in multiple places.