Skip to content

Commit 674031c

Browse files
committed
Add test case for relANNIS not 3.3 but with a visibility column
1 parent 651d14b commit 674031c

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

graphannis/src/annis/db/relannis.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -489,8 +489,10 @@ where
489489
for result in resolver_tab_csv.records() {
490490
let line = result?;
491491

492-
let order_col = if is_annis_33 || line.len() == 9 { 7 } else { 6 };
493-
let mapping_col = if is_annis_33 || line.len() == 9 { 8 } else { 7 };
492+
let has_visibility_column = is_annis_33 || line.len() == 9;
493+
494+
let order_col = if has_visibility_column { 7 } else { 6 };
495+
let mapping_col = if has_visibility_column { 8 } else { 7 };
494496

495497
let layer = get_field(&line, 2, "namespace", &resolver_tab_path)?.map(|l| l.to_string());
496498
let element =
@@ -502,10 +504,10 @@ where
502504
let vis_type = get_field_not_null(&line, 4, "vis_type", &resolver_tab_path)?;
503505
let display_name = get_field_not_null(&line, 5, "display_name", &resolver_tab_path)?;
504506

505-
let visibility = if line.len() < 7 {
506-
"hidden".into()
507-
} else {
507+
let visibility = if has_visibility_column {
508508
get_field_not_null(&line, 6, "visibility", &resolver_tab_path)?
509+
} else {
510+
"hidden".into()
509511
};
510512

511513
let order = get_field(&line, order_col, "order", &resolver_tab_path)?

graphannis/src/annis/db/relannis/tests.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,31 @@ fn trim_resolver_mappings() {
114114
);
115115
}
116116

117+
#[test]
118+
fn missing_visibility_column_in_resolver() {
119+
let parent = create_temporary_corpus_dir_file(
120+
r#"somecorpus NULL syntax node tree syntax (tree) 1 test: true; anothertest:false
121+
somecorpus NULL NULL NULL discourse document (text) 2 NULL"#,
122+
"resolver_vis_map.tab",
123+
);
124+
let mut config = CorpusConfiguration::default();
125+
load_resolver_vis_map(parent.path(), &mut config, false, &|_| {}).unwrap();
126+
127+
assert_eq!(8, config.visualizers.len());
128+
129+
let syntax_vis = &config.visualizers[1];
130+
assert_eq!("syntax (tree)", syntax_vis.display_name);
131+
assert_eq!(VisualizerVisibility::Hidden, syntax_vis.visibility);
132+
assert_eq!(2, syntax_vis.mappings.len());
133+
assert_eq!("true", syntax_vis.mappings.get("test").unwrap());
134+
assert_eq!("false", syntax_vis.mappings.get("anothertest").unwrap());
135+
136+
let doc_vis = &config.visualizers[2];
137+
assert_eq!("document (text)", doc_vis.display_name);
138+
assert_eq!(VisualizerVisibility::Hidden, doc_vis.visibility);
139+
assert_eq!(0, doc_vis.mappings.len());
140+
}
141+
117142
#[test]
118143
fn parse_virtual_tokenization_mapping() {
119144
let parent = create_temporary_corpus_dir_file(

0 commit comments

Comments
 (0)