From b816f1966f53e824de1d16905fca0cc282041824 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 24 Dec 2025 14:26:32 -0800 Subject: [PATCH] work --- rust/pspp/src/output/pivot.rs | 8 +++++++- rust/pspp/src/spv/read/legacy_xml.rs | 12 +++++++++++- rust/pspp/src/spv/read/tests.rs | 6 ++++++ rust/pspp/src/spv/testdata/legacy8.expected | 4 ++++ rust/pspp/src/spv/testdata/legacy8.spv | Bin 0 -> 3794 bytes 5 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 rust/pspp/src/spv/testdata/legacy8.expected create mode 100644 rust/pspp/src/spv/testdata/legacy8.spv diff --git a/rust/pspp/src/output/pivot.rs b/rust/pspp/src/output/pivot.rs index 679ae347e1..9b099e71d3 100644 --- a/rust/pspp/src/output/pivot.rs +++ b/rust/pspp/src/output/pivot.rs @@ -626,8 +626,14 @@ impl Dimension { /// Returns this dimension with [Dimension::hide_all_labels] set to true. pub fn with_all_labels_hidden(self) -> Self { + self.with_hide_all_labels(true) + } + + /// Returns this dimension with [Dimension::hide_all_labels] set to + /// `hide_all_labels`. + pub fn with_hide_all_labels(self, hide_all_labels: bool) -> Self { Self { - hide_all_labels: true, + hide_all_labels, ..self } } diff --git a/rust/pspp/src/spv/read/legacy_xml.rs b/rust/pspp/src/spv/read/legacy_xml.rs index 5b4a5473f7..428da5aebf 100644 --- a/rust/pspp/src/spv/read/legacy_xml.rs +++ b/rust/pspp/src/spv/read/legacy_xml.rs @@ -433,6 +433,15 @@ impl Visualization { } } + let hide_all_labels = if let Some(axis) = axes.get(&base_level) + && let Some(style) = axis.major_ticks.style.get(styles) + && style.visible == Some(false) + { + true + } else { + false + }; + let variables = variables .into_iter() .map(|(series, _level)| *series) @@ -522,7 +531,8 @@ impl Visualization { ) .with_multiple(cats.into_iter().map(|cb| cb.category)) .with_show_label(show_label), - ); + ) + .with_hide_all_labels(hide_all_labels); for variable in &variables { variable.dimension_index.set(Some(dims.len())); diff --git a/rust/pspp/src/spv/read/tests.rs b/rust/pspp/src/spv/read/tests.rs index bf12298010..cf51c110d1 100644 --- a/rust/pspp/src/spv/read/tests.rs +++ b/rust/pspp/src/spv/read/tests.rs @@ -49,6 +49,12 @@ fn legacy7() { test_raw_spvfile("legacy7"); } +/// Checks for `Dimension::hide_all_labels`. +#[test] +fn legacy8() { + test_raw_spvfile("legacy8"); +} + fn test_raw_spvfile(name: &str) { let input_filename = Path::new("src/spv/testdata") .join(name) diff --git a/rust/pspp/src/spv/testdata/legacy8.expected b/rust/pspp/src/spv/testdata/legacy8.expected new file mode 100644 index 0000000000..af8a9f6219 --- /dev/null +++ b/rust/pspp/src/spv/testdata/legacy8.expected @@ -0,0 +1,4 @@ + Warnings +╭──────────────────────────────────────────────╮ +│The Independent Samples table is not produced.│ +╰──────────────────────────────────────────────╯ diff --git a/rust/pspp/src/spv/testdata/legacy8.spv b/rust/pspp/src/spv/testdata/legacy8.spv new file mode 100644 index 0000000000000000000000000000000000000000..f8daabf41bea373a67dd1e31982754e01399f999 GIT binary patch literal 3794 zcma))KCPeQj{VfARR#r z0trztp$j6?3@q#)tNYEav(L<(x$oR_&zyPYo%5T=Q0Ec}2tYwW0T}YhvjY4kaR3QG z^53$Pkpasn$SKGv%7Ep;U}lse#nmZPzLjgF%h&n5Wl*Sf-BIl*}AEndoUXB-m8F0-;z6GGXYW{fFUW(!m+G-3G;^Hy zZ3^49@a;k`nT67y-z;nmrDjQN?a(e)oo>vsTY?E0DU3dmb&uLFVM?Q${Bqr*Bg>*d zls{0{U3}otWx7jgl7EfHCJ#J1SUW~z$3o=@F1|ziNywj3Y*^k#$M>3~KbHZgL3|}~ zHbF)VMf8343@IvoS=9CZYXVdgYH8&lQW>d3*}a5fR_hbB9Dx5k@BCtAEzCPkHZAXj z9TQnI^5JgK=f4_kSE;?-bx)@cP#gQ{ORoL5UAuE(&B&x9)2Z*6o!ci$sQLIS;W`lE zl`qh}+~WPaLbH8o(cIt92tMHCC!%GS#9K;u$dV(^Dq7#@uv%#uG{-1^kuKzH@{?pE z>rd5JPME8YA-d|V5JwrS1C(X~YT%?IBJ72-@&m*Zttl&$J$rZ9}51I zxOZ1LpaPyhoRb94@mTd7*^$Gb=5fX&FYdr>77g+~2Z|o)GTkyKK5Tqss*J2QDQqZA zRF5Dr1r{;6l08ma+1a6M znkLt(zqmq<7jUrpgf(YzGw8TqX55k+FfYn^n5rr{k=FicP$c( z(t%=;IzEArhLStiHYyz?D^_ca9mVl)-y6Xp`>wxLIH@T7U|c07 zYpWy$#W9fAFt=*>WHHNe>QvjOs5bbsF0H2!70l$ZuG0KKTnDr_X1?rn#9EH zt2nJgprJZ-zSE*!^QqVR!PJi(uKW5kl;|BEk;BM&JJb0L#`Pw7>EoxSsJpP9spGJZ zW_HOMmbyQ(6Cd4~A41wS$a0f?1^LxCnJ&1=dY1%c`u2`Yi_s~()AIR1y2ht?@V5U} z4!6*|j#Nue5c?FzWhIYqoMXqC74*GT=T@8qB_$AG?e8LT%N>d*Lo@Y6UkZ+(HLEXw)FRAez>HfZ!-5 z<2B!hCvTu~NcO>M;(oeB|A!TGfdNZCzR5tUxPXeh=a*N-o-InpNY!{TPi|pNdz(2T zlpc`XM&!uZC|HtWaUK;9p9KxEWIHzHJi9voCAPOLm3^Dkj1=_I0pAI9Gtl45*f3&A z4cz1pDDm+a_C9INlnmKTVDfmzulkDTNc)R%vuzq1hvTbthX7r4rAONifvqm&taFI= zW#k)?t8I+0a9DG;n1$MO;_qzfPK;Av zkp=qcX==}v<7YK99R2e@Ca<26!}51Qmb)obDluP6g0+SiJ9Z`>EY9!cGnr#XWOwh; zjt}3J`AF#7?XVVq7jXZt!>lMvAEOd!=sW&8K!ujD6xbtOl!>jh1`P#j? z1<)u1!-dvCG!MfmKo?|HYg|Lc?*&9h#o1FAFE)xPm*NLwR6jjfsKrlhv{^q60jztC z4nf!mAk8vFx|#{DD?M(K%>9UPqOMxTOT<9{sopw^P`!mfwsqA7{#Y5hw%Cl}dhn|2 z-iuU~hVoW8eQnXCyx|Gi%reqdrG>3W?kCn%95pjUTa4GijXf_P8bA9=-P?^W-t{NE zXHp-{7F^DNM6mOZ0B?UkAAdh{cb7mH-(NJl zAlCS8Pw&r)45t{oj8Uxv_nX{dmq1PHInTWKe=v(JZm*foj%evR&NhlIxEJ@F4(e01 zvkQ zzVmgs?jwn8hSNNY6yNN}iEk)Hcbxj>XKgp^d~izHf`LzaxoFIp6GS$ZBBQD^3OvN( zy6Fu#__NpfI(NqD&x){Aqqxx-#(Mv_1NfqqM3&}C9Z#^(>R!!(dQL(n`KaluZp{Ns z6;>EoS31W9S7kN7{iM{)JjC0j!osgV`SAfBIIxf;(a=-6}$ zZ-h(ddylRPo;q7IGsJpJzYC5W?KOFZUv|!2X;<>+!oFMY( zvK3qvHCu;X)sRBIt29nFjt?h*)GTTA+T8>e^)q>^RWvw@IWxXdOlh;cBQYufa$eKB zqZal`Kgt=JcNta}Eam$O0W)z=&Hnr-TqKKcG%z+l*_L7$5 z-cXB{bl9iqM8mx(Hj#=j4t|DCRccQ(O>BSy%UR28cW@C;;(e)TO^JAc(#N)xub(Hz znWpsFb=#!X<1Ci?tZ#;1FI7<&Y{hE`3YOTNQ8*Pn$Lc5=F0dXV03@QlFcSsdz?)-J zYcJnDZ5bb@NLIEyS|A2j_}ZjbIQSqbT{KnVBh-v zYCoN%-Q%VL(t$Nt*l!FbpxRxG=lzQXv+@i}EqGCu^0NEJb|2Teyd%&-sOXkSXqjm2oeUWhK499b}1`tkX?>}FwhVy-in$e zZu~CctUuhLFf=k{G6=hp?`qMOXgaG5EkTEffI;a3w>2E%h=8S6GP1HjXGRoV$79zh z%5(YUb2|7m?pVVtnKwObf}cRH#aE;@xD{S2zM*Ur)}7&Pex)|k!bx!h4vrO!ebMTdiXcmmI)flHQv=*A6OU)GBU5yyQUp+~Hn5zYFXs_cB?mD3LAU z&Et^h*v3n}QuysD0agaxakI~;=Y;kNV#e22#nFZd-)N-d`ZGn@g3;{cuAwK^as=(q zwdEA+bI=GhswXcMNa6->VA$T($8WNlq#ff1a?98931S&raP!d>e2$g@)>J{5YKp-8 zCEsvA7eIbJGL&HRriN6Ms>$r5M@P7pfbYr!RNl6xL2`GOcj;L#of@&#_2wA$a;ST@QB>oU>f zs5BQ|jeIrl=w7a}F-bDX5yx8~T$pd2!)T~yF&zRWPl8a|OQewY*BKn$pfH)PFhUW!Aopg^tsj0h^t0KGu56*Zl*W<;Vjs!