Commit graph

31 commits

Author SHA1 Message Date
thiemowmde cd4ce78d31 Make use of actual @dataProviders in tests
Instead of manually crafted $this->testCase properties.

Also make use of the dedicated PHPUnit feature to mark as test as
passed. While assertTrue( true ) is a very common hack it can be
confusing.

Change-Id: Ic071bf561929c2a79537111bee18631865f91366
2024-08-31 11:49:04 +00:00
Umherirrender 419ce56d27 Add missing documentation to class properties
Add doc-typehints to class properties found by the PropertyDocumentation
sniff to improve the documentation and to remove the exclusion of the
sniff.
The activated sniff avoids that new code is missing doc-typehints or
real-typehints.

Change-Id: Id7fcfd086cdbb3f040091e1d1a81472e7a524091
2024-08-31 11:48:46 +00:00
Umherirrender 3e37c4e5a0 tests: Remove unused class properties from AllText
Change-Id: Id1864671a653777d6957593eddf65398eaad183b
2024-08-25 14:19:37 +02:00
thiemowmde 10e2e17bb1 Remove unused return values from MMLTestUtil
Just removing unused code that never did anything. Note this is only
in a test. As long as all tests still succeed this can't really cause
any problems, I believe.

Change-Id: I272803353eed9de0ecf98c55b75710df16da2c44
2024-08-12 08:50:22 +02:00
Moritz Schubotz (physikerwelt) f534146597
Implement hline support for matrix
In MathML outer table boarders are represented with the
notation attribute of an menclose element. The inner
boarders are represented by the rowlines attribute
of the mtable element. The rowline element accepts
a space seperated list of row boarders. In LaTeX
the bottom line is represented by a new matrix row
that only contains \hline.

This change discover \hline elements in matrix cells
and then determines if it is in the first or last line.
When it is in the last line, the line is removed to avoid
an empty <mtr /> in the output.

Bug: T366417
Change-Id: I196e0d14a183a63696363f9e3006cf65571dc56c
2024-06-03 19:15:43 +02:00
Moritz Schubotz (physikerwelt) 5fa3d6bfe5 Clean matrix arguments
Originally the parse tree was a binary tree, from that
time matrix element were put into that data structure.
This was partially undone, but not full which leads to some artifacts
in matrix cells.

One of the problem is that due to the binary parse
tree structure the postprocessing did not correctly
identfy \limits.

This change changes reduces nesting from matrix, and regards
matrix instances as two-dimensional TexArrays.

Bug: T362344
Change-Id: I66a31a09f204709a51d6b5c9ecefc083f7ee2d6d
2024-06-03 09:25:15 +00:00
jenkins-bot 024cdbb00f Merge "Make TexArray iterable" 2024-05-27 13:18:29 +00:00
Moritz Schubotz (physikerwelt) 9c13fd1ccd
Make TexArray iterable
TexArray is an array of tex nodes. To improve
readability and type hinting we make TexArray
iterable.

Change-Id: I5b9b2ca63400400bc399c08445ff911f8e20a0d1
2024-05-27 09:54:44 +02:00
Moritz Schubotz (physikerwelt) c0ac8ee0e7
Extend BaseParsing test coverage
Change-Id: I4e8ff663e1516bcdeb6133bb12391ad48b056367
2024-05-26 22:37:07 +02:00
Moritz Schubotz (physikerwelt) a102a4ed52
Remove curly
To reduce the complexity of the parse tree we remove the curly
element which is used for grouping in TeX. Instead, we use
use an attribute which defines if the group is put into curly
brackets or not. The functionality of the curly element
is transferred to the TexArray which was the only possible
child of the curly element before. To ease the transition,
we add a special constructor to TexArray.

We could not measure any performance implications of this change.

Bug: T333973
Change-Id: Idcb58694022831113bdc437576bb9f48658fff2f
2024-04-09 11:36:34 +02:00
Moritz Schubotz (physikerwelt) 5f4cfc47bc Update test references
The LaTeXML reference variant seems to be generated
with a slightly different version than before

Bug: T354057
Change-Id: I3d51dc06664120a1c7f9a933d7328210b7c6817f
2024-04-08 17:14:44 +00:00
Moritz Schubotz (physikerwelt) f3acb95ed4 Enable more tests
Change-Id: Ic260221963a83ddd9208f00e170609a5be537898
2024-04-06 11:20:03 +00:00
Moritz Schubotz (physikerwelt) 69e111c91f
Skip tests if testfiles are missing
Instead of failing tests, we skip tests if the reuqired files
are not there

Change-Id: If107bea4efb35d08597f6274ffee45f6e951bc38
2024-04-03 20:45:20 +02:00
Reedy 9ad81e9471 Fix casing of MediaWiki
Change-Id: Iaf9d68db0889620303ee01b9460dcfa9b9016c0f
2024-03-12 15:38:20 +00:00
Umherirrender 555ed8e29f build: Fix line indents
Change-Id: If3be1b7575a1570e425847f559821e7408e5ec24
2024-03-10 22:46:31 +01:00
Umherirrender 457b953dd0 build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0
Excluded Generic.WhiteSpace.ScopeIndent as
it impact many lines in switch/case syntax

Also disable BraceNotOnOwnLine due to T347440

Change-Id: Ia0c8072da9b7bff6a4010d3fb70cb0e576cdf98a
2024-03-10 22:16:48 +01:00
Moritz Schubotz (physikerwelt) f5b83c720c
Pass font options in underOver
Following the same argument as for accents,
font options should also be passed in underOver
constructs.

* Pass options
* Add test
* In I6924d712db6852f99d7896b1f11cfbd22851d757
  curly learned to encapsulate its output in a
  mrow. Thus, the if-clause is no longer needed.

Bug: T352609
Change-Id: I6dd3303d9b5ef9ae32ad33c91a4cc1bbdad46109
2024-01-29 17:11:10 +01:00
Moritz Schubotz (physikerwelt) d270a9aa80
Pass font options in accents
Accents such as \widetilde did not pass
their font options to their child element.

* Pass options
* Add test
* In I6924d712db6852f99d7896b1f11cfbd22851d757
  curly learned to encapsulate its output in a
  mrow. Thus, the if-clause is no longer needed.

Bug: T352609
Change-Id: I81ecda09d017c73a4593ae36c630426229c7559f
2024-01-27 18:12:03 +01:00
Moritz Schubotz (physikerwelt) 57dbaeda39
Add over_operators group
instead of testing if an operator starts
with the letter \o we keep an explicit
dictonary of operators which should
be rendered using mover instead of
msub.

Bug: T352699
Change-Id: I916acf2f71d747a31a882fecfccac832436ea991
2024-01-24 16:49:29 +01:00
ni1313 fbe057dc55 Add test for \overarc
Manually add test for \overarc to TexUtil-Ref.json

Bug: T354057
Change-Id: I249c89f9f7a2f336268393f61d428fbc09ee82f2
2024-01-17 16:29:36 +00:00
jenkins-bot 3a2011c3b7 Merge "Fix missing argument passing in DQ and FQ" 2024-01-06 21:43:41 +00:00
Moritz Schubotz (physikerwelt) a512710cf0
Improve operator recognition heuristic
In TeX display math mode \sum_a^b is rendered as
munderover, however \alpha_a^b is redndered as
msubsup.

This changes improves the heuristics to differentiate
between munderover operators such as sum prod and
other macros such as alpha, beta ...

Bug: T352697
Change-Id: I5a993e379791edeb3623171265e5be2651ee1359
2024-01-03 00:17:47 +01:00
Moritz Schubotz (physikerwelt) d25acea9c7
Fix missing argument passing in DQ and FQ
When rendering subscripts font arguments such as upright
font were not passed to the child nodes.

This changes passes the parameters.

Bug: T353340
Change-Id: I487bb01afa0d64c809affc4b8a466337d71a1c76
2024-01-02 20:36:49 +01:00
Stegmujo 4b30c9701a Add Intent to WikiTexVC
* make intent annotations possible in TeX math items
* introduce a new command to annotate as well as node and translation
* Adds a parser expression grammar to validate intent attributes for
* it basically adds the previous, now abandoned changeset: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Math/+/949964

Bug: T327098

Change-Id: I21adfac4c3580e238f059721fdf0c1566cb4e857
2023-12-21 14:28:18 +00:00
Stegmujo c27bc62ee7
Add export function for RTED
* for evaluation
* formats to bracket format as used in RTED java application

Change-Id: Ia85b7fdac55a9acfbc48e266a189e733634752f9
2023-12-07 17:27:19 +01:00
Stegmujo 3d0dfe1e43
Fix mathcal in chrome
* map to unicode chars

Bug: T352536
Change-Id: Iab04043df5cc04484d348b0c896a50c94ef79c16
2023-12-01 21:08:31 +01:00
Stegmujo 001e11bd7a
Fix double-struck letters in chrome
* map to literals to corresponding unicode characters when a double-struck state is recognized

Bug: T352196
Change-Id: I9b9e1d87c10858789751cd14f23d2feea3b928dd
2023-12-01 15:16:41 +01:00
Stegmujo c8fe00bd59
Fix closing bracket size too big
* fixes a glitch that attributes are not merged in closing tags

Bug: T351907
Change-Id: I1cc52c7726b12e12aea6cb56849721ae14229245
2023-11-30 15:58:22 +01:00
Stegmujo 79a2bf7e9f
Activate all FullCoverage Tests
Bug: T327392
Change-Id: I3af0c3c3aec83b8e0666318bdacbc1b639f8cd99
2023-11-30 12:21:50 +01:00
Stegmujo 3f5ba225ed Fix issue with nolimits
* nolimits is now also translated

Bug: T351850
Change-Id: I57d4bb4db117be667a5104876bfbd84a72e6bc34
2023-11-30 09:21:10 +00:00
Stegmujo a82727f61f
Rename TexVC in PHP to WikiTexVC
Change-Id: Idd98205ea291640b01946374f15c807da7fc26e5
2023-11-24 16:41:30 +01:00