Finished `test` profile [optimized + debuginfo] target(s) in 0.14s
Running unittests src\lib.rs (target\debug\deps\libmathcat-5237de3aaec24b4f.exe)
running 244 tests
test canonicalize::canonicalize_tests::addition_with_decimal_point_at_end_and_comma_decimal_separator ... ok
test canonicalize::canonicalize_tests::addition_decimal_pt ... ok
test canonicalize::canonicalize_tests::addition_with_decimal_point_at_end ... ok
test canonicalize::canonicalize_tests::canonical_one_element_mrow_around_mo ... ok
test canonicalize::canonicalize_tests::canonical_flat_to_times_and_plus ... ok
test braille::tests::ueb_highlight_24 ... ok
test braille::tests::test_UEB_start_mode ... ok
test canonicalize::canonicalize_tests::canonical_prefix_and_infix ... ok
test canonicalize::canonicalize_tests::canonical_one_element_mrow_around_mrow ... ok
test canonicalize::canonicalize_tests::canonical_prefix_implied_times_prefix ... ok
test canonicalize::canonicalize_tests::clean_semantics ... ok
test canonicalize::canonicalize_tests::canonical_same ... ok
test canonicalize::canonicalize_tests::clean_up_arc ... ok
test canonicalize::canonicalize_tests::clean_up_arc_nospace ... ok
test canonicalize::canonicalize_tests::clean_up_mi_operator ... ok
test canonicalize::canonicalize_tests::digit_block_comma ... ok
test canonicalize::canonicalize_tests::digit_block_decimal ... ok
test canonicalize::canonicalize_tests::digit_block_binary ... ok
test canonicalize::canonicalize_tests::digit_block_decimal_pt ... ok
test canonicalize::canonicalize_tests::digit_block_int ... ok
test canonicalize::canonicalize_tests::digit_block_int_dots ... ok
test canonicalize::canonicalize_tests::digit_block_non_ascii_int ... ok
test canonicalize::canonicalize_tests::do_not_remove_any_whitespace ... ok
test canonicalize::canonicalize_tests::do_not_remove_some_whitespace ... ok
test canonicalize::canonicalize_tests::double_vertical_bars ... ok
test canonicalize::canonicalize_tests::double_vertical_bars_mo ... ok
test canonicalize::canonicalize_tests::empty_mrow_with_intent ... ok
test canonicalize::canonicalize_tests::ellipsis ... ok
test canonicalize::canonicalize_tests::empty_content_after_cleanup ... ok
test canonicalize::canonicalize_tests::empty_content ... ok
test canonicalize::canonicalize_tests::empty_mrows_in_mmultiscripts_306 ... ok
test canonicalize::canonicalize_tests::fraction_decimal_pt ... ok
test canonicalize::canonicalize_tests::empty_content_fix_num_children ... ok
test canonicalize::canonicalize_tests::fraction_decimal_pt_no_split ... ok
test canonicalize::canonicalize_tests::illegal_mathml_element ... ok
test canonicalize::canonicalize_tests::function_call_vs_implied_times ... ok
test canonicalize::canonicalize_tests::function_with_multiple_args ... ok
test canonicalize::canonicalize_tests::function_with_single_arg ... ok
test canonicalize::canonicalize_tests::function_with_no_args ... ok
test canonicalize::canonicalize_tests::implied_plus ... ok
test canonicalize::canonicalize_tests::implied_comma ... ok
test canonicalize::canonicalize_tests::implied_plus_linear ... ok
test canonicalize::canonicalize_tests::lift_script ... ok
test canonicalize::canonicalize_tests::maybe_function ... ok
test canonicalize::canonicalize_tests::implied_plus_linear2 ... ok
test canonicalize::canonicalize_tests::merge_decimal_in_list_271 ... ok
test canonicalize::canonicalize_tests::merge_mi_with_script_bug_333_test ... ok
test canonicalize::canonicalize_tests::merge_mi_test ... ok
test canonicalize::canonicalize_tests::merge_mi_with_script_test ... ok
test canonicalize::canonicalize_tests::mrow_with_intent_and_single_child ... ok
test canonicalize::canonicalize_tests::mfenced_no_children ... ok
test canonicalize::canonicalize_tests::mfenced_no_attrs ... ok
test canonicalize::canonicalize_tests::mfenced_one_child ... ok
test canonicalize::canonicalize_tests::mn_with_negative_sign ... ok
test canonicalize::canonicalize_tests::mfenced_with_separators ... ok
test canonicalize::canonicalize_tests::mstyle_merge_bug_272 ... ok
test canonicalize::canonicalize_tests::mtext_whitespace_1 ... ok
test canonicalize::canonicalize_tests::mtext_whitespace_string ... ok
test canonicalize::canonicalize_tests::mtext_whitespace_2 ... ok
test canonicalize::canonicalize_tests::mtext_whitespace_string_before ... ok
test canonicalize::canonicalize_tests::munder_mspace_bug_296 ... ok
test canonicalize::canonicalize_tests::no_double_vertical_bars_mo ... ok
test canonicalize::canonicalize_tests::no_implied_comma ... ok
test canonicalize::canonicalize_tests::not_digit_block_271 ... ok
test canonicalize::canonicalize_tests::not_digit_block_decimal ... ok
test canonicalize::canonicalize_tests::no_merge_271 ... ok
test canonicalize::canonicalize_tests::not_digit_block_negative_numbers_euro ... ok
test canonicalize::canonicalize_tests::not_digit_block_ellipsis ... ok
test canonicalize::canonicalize_tests::not_digit_block_parens ... ok
test canonicalize::canonicalize_tests::not_digit_block_parens_mrow ... ok
test canonicalize::canonicalize_tests::not_roman_numeral ... ok
test canonicalize::canonicalize_tests::not_trig_negative_args ... ok
test canonicalize::canonicalize_tests::not_trig_args ... ok
test canonicalize::canonicalize_tests::number_with_comma_decimal_pt ... ok
test canonicalize::canonicalize_tests::number_with_decimal_pt ... ok
test canonicalize::canonicalize_tests::parent_bug_94 ... ok
test canonicalize::canonicalize_tests::plane1_common ... ok
test canonicalize::canonicalize_tests::plane1_font_styles ... ok
test canonicalize::canonicalize_tests::plane1_greek ... ok
test canonicalize::canonicalize_tests::pointless_nones_in_mmultiscripts ... ok
test canonicalize::canonicalize_tests::pre_and_postscript_only ... ok
test canonicalize::canonicalize_tests::plane1_greek_font_styles ... ok
test canonicalize::canonicalize_tests::prescript_only ... ok
test canonicalize::canonicalize_tests::primes_uncommon ... ok
test canonicalize::canonicalize_tests::pseudo_scripts ... ok
test canonicalize::canonicalize_tests::remove_mo_whitespace ... ok
test canonicalize::canonicalize_tests::tensor ... ignored
test canonicalize::canonicalize_tests::primes_common ... ok
test canonicalize::canonicalize_tests::roman_numeral ... ok
test canonicalize::canonicalize_tests::remove_all_extra_elements ... ok
test canonicalize::canonicalize_tests::remove_mtext_whitespace_3 ... ok
test canonicalize::canonicalize_tests::trig_args ... ok
test canonicalize::canonicalize_tests::vertical_bar_divides ... ignored
test canonicalize::canonicalize_tests::sequence_with_period ... ok
test canonicalize::canonicalize_tests::trig_function_composition ... ok
test canonicalize::canonicalize_tests::trig_trig ... ok
test canonicalize::canonicalize_tests::short_and_long_dash ... ok
test canonicalize::canonicalize_tests::trig_mo ... ok
test canonicalize::canonicalize_tests::vertical_bar_such_that ... ok
test canonicalize::canonicalize_tests::vertical_bars ... ok
test chemistry::chem_tests::add_script ... ok
test chemistry::chem_tests::add_script_bug_287 ... ok
test canonicalize::canonicalize_tests::trig_negative_args ... ok
test chemistry::chem_tests::aluminum_sulfate ... ok
test canonicalize::canonicalize_tests::vertical_bars_nested ... ok
test chemistry::chem_tests::chemtype_ammonia ... ok
test chemistry::chem_tests::combine_mi ... ok
test chemistry::chem_tests::carbon ... ok
test chemistry::chem_tests::dichlorine_hexoxide ... ok
test chemistry::chem_tests::ethanol_bonds ... ok
test chemistry::chem_tests::ethylene_with_colon_bond ... ok
test chemistry::chem_tests::ethylene_with_bond ... ok
test chemistry::chem_tests::ferric_chloride_aq ... ok
test chemistry::chem_tests::merge_bug_274 ... ok
test chemistry::chem_tests::ferric_chloride_aq_as_mi ... ok
test chemistry::chem_tests::merge_bug_303 ... ok
test chemistry::chem_tests::mhchem_ions_and_state ... ok
test chemistry::chem_tests::mhchem_ammonia ... ok
test chemistry::chem_tests::mhchem_isotopes ... ok
test chemistry::chem_tests::mhchem_short_ion ... ok
test chemistry::chem_tests::mhchem_so4 ... ok
test chemistry::chem_tests::mhchem_hcl_aq ... ok
test chemistry::chem_tests::mhchem_nested_sub ... ok
test chemistry::chem_tests::mhchem_u238 ... ok
test chemistry::chem_tests::mhchem_water ... ok
test chemistry::chem_tests::test_alphabetical_order ... ok
test chemistry::chem_tests::no_combine ... ok
test chemistry::chem_tests::test_electronegativity_order ... ok
test chemistry::chem_tests::test_double_bond ... ok
test chemistry::chem_tests::test_noble_element ... ok
test chemistry::chem_tests::test_is_structural ... ok
test chemistry::chem_tests::test_order ... ok
test chemistry::chem_tests::test_water_bond ... ignored
test chemistry::chem_tests::test_simple_double_bond ... ok
test chemistry::chem_tests::test_triple_bond ... ok
test definitions::tests::test_hashmap ... ok
test definitions::tests::test_set ... ok
test chemistry::chem_tests::salt ... ok
test chemistry::chem_tests::no_split_mi ... ok
test chemistry::chem_tests::split_mi ... ok
test definitions::tests::test_vec ... ok
test chemistry::chem_tests::sulfate ... ok
test infer_intent::tests::infer_binomial_intent_arg ... ok
test infer_intent::tests::infer_missing_second_arg ... ok
test chemistry::chem_tests::water ... ok
test infer_intent::tests::intent_double_indirect_head ... ok
test infer_intent::tests::infer_missing_second_arg_ignore ... ok
test infer_intent::tests::infer_binomial ... ok
test infer_intent::tests::intent_hints ... ok
test infer_intent::tests::intent_hints_and_type ... ok
test infer_intent::tests::intent_illegal_self_ref ... ok
test infer_intent::tests::intent_illegal_no_arg_ignore ... ok
test infer_intent::tests::intent_illegal_no_arg ... ok
test infer_intent::tests::intent_in_intent_first_arg ... ok
test infer_intent::tests::intent_in_intent_second_arg ... ok
test infer_intent::tests::intent_missing_open ... ok
test infer_intent::tests::intent_nest_no_arg_call ... ok
test infer_intent::tests::intent_no_comma ... ok
test infer_intent::tests::intent_multiple_properties ... ok
test infer_intent::tests::intent_no_arg ... ok
test infer_intent::tests::intent_template_at_toplevel ... ok
test infer_intent::tests::intent_with_nested_head ... ok
test infer_intent::tests::intent_with_literals ... ok
test infer_intent::tests::intent_with_nested_head_and_hints ... ok
test infer_intent::tests::intent_with_nested_indirect_head ... ok
test interface::tests::empty_html_in_mtext ... ok
test infer_intent::tests::intent_with_whitespace ... ok
test infer_intent::tests::intent_with_template_literals ... ok
test interface::tests::multiple_html_in_mtext ... ok
test interface::tests::nested_html_in_mtext ... ok
test interface::tests::no_trim_whitespace_nbsp ... ok
test infer_intent::tests::plane1_char_in_concept_name ... ok
test interface::tests::single_html_in_mtext ... ok
test interface::tests::replace_mglyph ... ok
test interface::tests::trim_same ... ok
test interface::tests::trim_differs ... ok
test interface::tests::trim_comment ... ok
test infer_intent::tests::silent_underscore ... ok
test infer_intent::tests::silent_underscore_function ... ok
test interface::tests::trim_whitespace ... ok
test interface::tests::can_recover_from_invalid_set_rules_dir ... ok
test interface::tests::test_entities ... ok
test navigate::tests::auto_zoom_out_fraction ... ok
test navigate::tests::auto_zoom_out_mrow ... ok
test navigate::tests::absolute_value ... ok
test navigate::tests::base_superscript ... ok
test navigate::tests::binomial_intent ... ok
test navigate::tests::cases_speech ... ok
test navigate::tests::chem_speech ... ok
test navigate::tests::matrix_speech ... ok
test navigate::tests::basic_language_test ... FAILED
test navigate::tests::determinant_speech ... ok
test navigate::tests::move_char_speech ... ok
test navigate::tests::move_cell ... ok
test navigate::tests::move_enhanced_times ... ok
test navigate::tests::move_cell_char_mode ... ok
test navigate::tests::move_msubsup_char ... ok
test navigate::tests::move_line_start_end ... ok
test navigate::tests::move_mmultiscripts_char ... ok
test navigate::tests::move_right_char ... ok
test navigate::tests::move_right_sup ... ok
test navigate::tests::move_to_start ... ok
test navigate::tests::move_start_end ... ok
test navigate::tests::placemarker ... ok
test navigate::tests::move_simple_no_times ... ok
test navigate::tests::test_init_navigate_move_right ... ok
test navigate::tests::read_and_describe_fraction ... ok
test navigate::tests::text_extremes_and_move_last_location ... ok
test navigate::tests::read_and_describe_mrow ... ok
test prefs::tests::find_regional_overrides ... ok
test prefs::tests::find_simple_style ... ok
test navigate::tests::where_am_i_all ... ok
test navigate::tests::zoom_in ... ok
test prefs::tests::find_style_no_sublanguage ... ok
test prefs::tests::find_style_other_language ... ok
test braille::tests::find_mathml_from_braille ... ok
test navigate::tests::zoom_in_all ... ok
test prefs::tests::test_language_change ... ok
test prefs::tests::separators ... ok
test prefs::tests::test_prefs ... ok
test prefs::tests::test_up_to_date ... ignored
test navigate::tests::zoom_out ... ok
test prefs::tests::test_some_changes ... ok
test prefs::tests::found_all_files ... ok
test prefs::tests::test_speech_style_change ... ok
test speech::tests::test_debug_no_debug ... ok
test speech::tests::test_debug_no_debug_with_quote ... ok
test speech::tests::test_debug_no_quoted_paren ... ok
test speech::tests::test_debug_quoted_paren ... ok
test speech::tests::test_debug_quoted_paren_before_paren ... ok
test speech::tests::test_read_statements_with_add ... ok
test speech::tests::test_read_statement ... FAILED
test speech::tests::test_read_statements_with_replace ... ok
test xpath_functions::tests::at_right_edge ... ok
test xpath_functions::tests::at_left_edge ... ok
test xpath_functions::tests::is_not_simple ... ok
test xpath_functions::tests::is_simple ... ok
test xpath_functions::tests::ordinal_large ... ok
test xpath_functions::tests::ordinal_one_digit ... ok
test xpath_functions::tests::ordinal_three_digit ... ok
test xpath_functions::tests::ordinal_two_digit ... ok
test navigate::tests::zoom_in_parens ... ok
test navigate::tests::zoom_out_all ... ok
test speech::tests::test_up_to_date ... ok
failures:
---- navigate::tests::basic_language_test stdout ----
thread 'navigate::tests::basic_language_test' panicked at src\navigate.rs:932:27:
Starting at 'math', 'ZoomInAll failed.
in file "\\\\?\\C:\\Users\\neils\\MathCAT\\Rules\\Languages\\es\\SimpleSpeak_Rules.yaml"
caused by: in file "\\\\?\\C:\\Users\\neils\\MathCAT\\Rules\\Languages\\es\\SimpleSpeak_Rules.yaml"
caused by: in file "\\\\?\\C:\\Users\\neils\\MathCAT\\Rules\\Languages\\es\\SharedRules\\general.yaml"
caused by: in file "\\\\?\\C:\\Users\\neils\\MathCAT\\Rules\\Languages\\es\\SharedRules\\general.yaml"
caused by: value for 'variables' in rule (unit: unit):
name: unit
tag: unit
match: "$Verbosity != 'Terse' and contains(@data-intent-property, ':unit')"
variables:
- MRowForCoefficient: "IfThenElse(parent::m:mrow, parent::m:mrow, IfThenElse(parent::m:msup, parent::parent::m:mrow, IfThenElse(parent::m:mfrac[preceding-sibling::*], parent::parent::m:mrow, IfThenElse(parent::m:msup::parent::m:mfrac[preceding-sibling::*], parent::parent::parent::m:mrow, false()) ) )"
- IsSingular: ["DEBUG($MRowForCoefficient) and count($MRowForCoefficient) = 3 and preceding-sibling::*[*[1]=''] and *[2][self::m:mn and . = 1])"]
- Prefix: "''"
- Word: "''"
replace:
- bookmark: "@id"
- test:
- if: "DefinitionValue(., 'Speech', 'SIUnits') != ''"
then:
- set_variables: [Word: "DefinitionValue(., 'Speech', 'SIUnits')"]
- else_if: "DefinitionValue(., 'Speech', 'UnitsWithoutPrefixes') != ''"
then:
- set_variables: [Word: "DefinitionValue(., 'Speech', 'UnitsWithoutPrefixes')"]
- else_if: "DefinitionValue(., 'Speech', 'EnglishUnits') != ''"
then:
- set_variables: [Word: "DefinitionValue(., 'Speech', 'EnglishUnits')"]
- else_if: "string-length(.) >= 3 and substring(., 1, 2) = 'da' and DefinitionValue(substring(., 3), 'Speech', 'SIUnits') != ''"
then:
- set_variables:
- Prefix: "DefinitionValue('da', 'Speech', 'SIPrefixes')"
- Word: "DefinitionValue(substring(., 3), 'Speech', 'SIUnits')"
- else_if: "string-length(.) >= 2 and DefinitionValue(substring(., 1, 1), 'Speech', 'SIPrefixes') != '' and DefinitionValue(substring(., 2), 'Speech', 'SIUnits') != ''"
then:
- set_variables:
- Prefix: "DefinitionValue(substring(., 1, 1), 'Speech', 'SIPrefixes')"
- Word: "DefinitionValue(substring(., 2), 'Speech', 'SIUnits')"
- else:
- set_variables: [Word: text()]
- with:
variables:
- Word: "IfThenElse(substring($Word, string-length($Word)-2, 3) = 'ián', concat(substring($Word, 1, string-length($Word)-2), ian), $Word)"
- LastChar: "substring($Word, string-length($Word), 1)"
- PluralEnding: "IfThenElse($LastChar = 'r' or $LastChar = 'l', 'es', IfThenElse(substring($Word, string-length($Word)-2, 3) = 'ian', 'es', 's' )) "
replace:
- test:
if: "$Prefix = ''"
then:
- test:
- if: $IsSingular
then: [x: $Word]
- else_if: "DefinitionValue($Word, 'Speech', 'PluralForms') != ''"
then: [x: "DefinitionValue($Word, 'Speech', 'PluralForms')"]
else: [x: "concat($Word, $PluralEnding)"]
else:
- x: $Prefix
- test:
- if: $IsSingular
then: [x: "concat('', $Word)"]
- else_if: "DefinitionValue($Word, 'Speech', 'PluralForms') != ''"
then: [x: "concat('', DefinitionValue($Word, 'Speech', 'PluralForms'))"]
else: [x: "concat('', $Word, $PluralEnding)"]
caused by: definition of 'variables'
caused by: Could not compile XPath for pattern:
IfThenElse(parent::m:mrow, parent::m:mrow, IfThenElse(parent::m:msup, parent::parent::m:mrow, IfThenElse(parent::m:mfrac[preceding-sibling::*], parent::parent::m:mrow, IfThenElse(parent::m:msup::parent::m:mfrac[preceding-sibling::*], parent::parent::parent::m:mrow, false()) ) )
caused by: ArgumentMissing
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- speech::tests::test_read_statement stdout ----
thread 'speech::tests::test_read_statement' panicked at src\speech.rs:2729:9:
assertion `left == right` failed:
replacement failure
left: "\"./*\""
right: "x: \"./*\""
failures:
navigate::tests::basic_language_test
speech::tests::test_read_statement
test result: FAILED. 238 passed; 2 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.94s
error: test failed, to rerun pass `--lib`