Commit graph

329 commits

Author SHA1 Message Date
jenkins-bot 3a2011c3b7 Merge "Fix missing argument passing in DQ and FQ" 2024-01-06 21:43:41 +00:00
jenkins-bot 6ca717d31d Merge "Improve operator recognition heuristic" 2024-01-06 21:24:06 +00:00
Umherirrender b97ef597e0 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: I8fad94b215664fb77acf8cd8140232271d2c2837
2024-01-06 16:30:26 +01: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
Stegmujo 9abb258422
Fix genFrac bracket sizes
* genFrac renderMML function with bracket can produce false stretching
  on Chrome
* fixed for the cases with brackets (dbinom, tbinom, binom)

Bug: T350735
Change-Id: I0939de86963fa9c226346ce15e7edf7fc4e83c68
2023-11-20 16:32:44 +01:00
Stegmujo a4c3a365af Make distinction of bracket sizes
* \bigl( \Bigl( \biggl( \Biggl(

Bug: T350738
Change-Id: I557e6ff78255d0de28df1d6f6b6e78b76f9d8388
2023-11-17 15:54:10 +00:00
Stegmujo 7b03a170db
Fix liminf and limsup spacing
* and injlim projlim spacing

Bug: T350491
Change-Id: I7e4491fbdd461a4583f5418ba1924c647bb2df94
2023-11-03 18:37:27 +01:00
Stegmujo ac1d7a9a7b
Fix calls to trim null
Bug: T348936
Change-Id: I6e3fca041fb81975b175977b9a18d69fbf58620b
2023-11-03 17:02:22 +01:00
jenkins-bot 606f4347d1 Merge "Append invisible apply character" 2023-10-31 19:22:01 +00:00
Stegmujo 2c81f052c7
Append invisible apply character
* to named functions and named operators
* You can consider using that invisible apply character (U+2061) after other function names with known arguments (such as \sin, \cos...). Some accessibility tools take advantage of it, I am told, but it may also be used to provide correct spacing from the MathML operator dictionary. In Chrome <mi>sin</mi><mi>a</mi> will show up with no added spacing as sina, which is not ideal.

* namedFct with any succeeding macros/characters have an apply function

Bug : T350021

Change-Id: I7ee5fdd580fb018bc108a32500c17914dd5dc05f
2023-10-31 16:33:15 +01:00
jenkins-bot 83835f19e7 Merge "Add a possibility for creating a test wikipage for chemical formulas" 2023-10-30 16:22:48 +00:00
Moritz Schubotz (physikerwelt) bd474256a6 Remove functional dead code about PNG images
* PNG images are no longer displayed as of
  I595926027433182cc0396570bc3f1ce0cd2cafb3
* Remove functional dead code about PNG images
* Replace some type hints with type delcarations

Bug: T311620
Change-Id: I283c23e327ef908cfb4c827599fdcdb16252b08c
2023-10-30 10:46:08 +00:00
jenkins-bot 9ba97826f4 Merge "Fix incorrect child count of some element" 2023-10-27 14:00:30 +00:00
Stegmujo 9e9ba0241a Fix incorrect child count of some element
- munder: if only one child munder is not added as wrapping mml tag
- msup: renders an empty mi if there is no content for the superscript

This prevents some warnings in firefox browser dev-console.

Bug: T349825
Change-Id: Ia5efc1f33e3368e71527153d56160eee4ba3a46d
2023-10-27 13:17:55 +00:00
jenkins-bot 413b21d3be Merge "Remove too many rows in smallmatrix" 2023-10-27 10:53:49 +00:00
Stegmujo a53a5d58c8
Remove too many rows in smallmatrix
* From Feedback: The {smallmatrix} example has its fences wrapped in too many mrows I think, so it renders without stretching them in both Firefox and Chrome. Ideally you should be able to emit the <mo>(</mo> followed directly by an <mtable>, and trailed by <mo>)</mo>, and only wrap those 3 into a parent <mrow>.
* removes mrows and adds OPEN / CLOSE attributes
* tests MMLFullcoverage 194 to ~196 which cover the bigXYZ macros look
  ok

Bug: T348971
Change-Id: Ie444e5bb3e3f87fac915d2692b69e976d721582e
2023-10-27 11:19:06 +02:00
Stegmujo 8112c65a5d
Remove mstyle around spacing elements
* From Feedback: There is a curious use of <mstyle> around spacing elements, as in <mstyle scriptlevel="0"><mspace width="-0.167em"></mspace></mstyle>. I am not sure that wrapper element is needed? The mspace ought to be successful standalone.
* this is in the 'bmod' case

Bug: T349822
Change-Id: I9229ad73891d5000679761d3d4b2028d4a51ddf1
2023-10-27 10:35:59 +02:00
jenkins-bot 30c156a0a8 Merge "Make dataProvider in EnWikiFormulaeTest static" 2023-10-22 13:24:30 +00:00
jenkins-bot 9706ed33ba Merge "Make dataProvider in PopupTest static" 2023-10-22 05:02:42 +00:00
Moritz Schubotz (physikerwelt) de2913d960
Make dataProvider in EnWikiFormulaeTest static
Bug: T337160
Change-Id: I71205d564a3063e834a3cd0fc0075a3a6b7a19d2
2023-10-22 06:59:38 +02:00
Moritz Schubotz (physikerwelt) 7965a91ae5 Make dataProvider in PopupTest static
Bug: T337160
Change-Id: I1c5384d319d9e34397ed4d94b4d9888d46722b91
2023-10-21 21:06:06 +00:00
Moritz Schubotz (physikerwelt) 70ea8e0c88 Make dataProvider in MathWikibaseConnectorTest static
Bug: T337160
Change-Id: Idf24afec194b3bdf01dfcde0b9cac48faae2bb4d
2023-10-21 21:05:42 +00:00
Stegmujo 4750c45e06 Add a possibility for creating a test wikipage for chemical formulas
Bug: T329620
Change-Id: I5ca17dceb53bbf8ff148922088b2ba235d69e09a
2023-10-19 17:28:13 +00:00
Stegmujo 24bcd11e5b Fix ce statements and displaystyle for chem rendering on wikipages
* rollback some previous changes for ce env in Parserhookhandler
* some minor fixes for feedback in previous commit
* set tex mode for mhchem preprocessor, since MediaWiki Hooks add
  explicit ce tags: i.e. frormula coming to TexVC look like
  "{\displaystyle \ce{ C6H5-CHO }}"

Bug: T348975
Change-Id: Id06852b030f9ea77f016289d4f9e2258d5a9f0d4
2023-10-17 14:37:25 +00:00
Stegmujo 9360ca94c4
Fix table alignment to left
* currently, \begin{align} generates <mtable columnalign="right" but it should be <mtable columnalign="left"

Bug: T348791
Change-Id: Ic0df45aba4fdb6ffbdc790b5e4bc56e7daeca802
2023-10-13 15:08:34 +02:00
Stegmujo 1aae7cde53
Deactivate stretchy attribute in left and right
Bug: T348793
Change-Id: I5c7c1fd02c4fb42eb8478b744fea3dd06463401e
2023-10-13 13:58:57 +02:00
Stegmujo 00f47e8866 Fix issues in MMLmhchemTest with braces and macro longrightleftharpoons
* updating the braces since mkern, mskip etc are Fun1 functions in TexVC
* updating TexVC support flag in test
* added macro longrightleftharpoons to rendered cases
* nearly all tests render correct in HTML now

Bug: T329620
Change-Id: I78da466c88d41f794e81f7222c9a67c3f4d482d2
2023-10-12 15:55:43 +00:00
Stegmujo b26a8805c1
Add rendering to MathmL visual results to MathMLTest
* fix maintenance script in parametrization for generating correct
  reference MathML
* update MathML references for MMLmhchemTest
* and update the reference formulas, which not display MathML correctly
* tests which have math enviroment switch (which is currently not defined) are currently skipped

Bug: T329620
Change-Id: I09f2c393880daa8fef3e2763821df59048c3c98c
2023-10-12 14:36:57 +02:00
Stegmujo 846edd1611 Add intbar and intBar to MathML rendering
* added some tests
* removing intbar from skipped tests in MMLGenTexUtilTest

Bug: T348318
Bug: T137787
Change-Id: If0dd9beb36d52bc5305fdb66438f1ad2ca092aaf
2023-10-10 10:19:45 +00:00
Moritz Schubotz (physikerwelt) 272f39ca2d
Fix integral command namings
* Remove \strokeint which was probably a typo and should be \strokedint
* Add \intBar command

Not done:
* Implement rendering of \intBar and \intbar, it would make sense to wait for
the mathoid reference rending here, which is just around the corner

Bug: T137787
Bug: T348373
Change-Id: I19d24fc23f59dda87c7c39a265f17efddb9fee8f
2023-10-09 15:02:46 +02:00
Stegmujo f4c91856bc
Refine skipped indices in MMLGenerationTexUtilTest
* adapts skipped indices to represent all supported cmds and macros

Bug: T340024
Change-Id: Ib01f02c3b73dac80ee9878c22549740d728bdf57
2023-10-06 14:02:43 +02:00
jenkins-bot d5c48b8260 Merge "Render MathML for atop and choose" 2023-10-05 16:20:25 +00:00
Stegmujo bbe6c3df8b Render MathML for atop and choose
Bug: T340024
Change-Id: I19f471645b569db49a64e5dd4c82cfdbac7dbe77
2023-10-05 14:39:04 +00:00
Stegmujo d3c636883a
Render MathML for some letters used in mhchem
* \Alpha  \Beta  \Chi  \Epsilon  \Eta  \Iota  \Kappa  \Mu  \Nu  \Omicron  \Rho  \Tau  \Zeta
* \ca

Bug: T340024
Change-Id: I0d9d8314644927ccae0794ae8459a3f3893fc24a
2023-10-05 16:08:13 +02:00
Stegmujo 7dfb557b92
Render MathML for harpoons and arrows for mhchem
* macros: longRightleftharpoons, longLeftrightharpoons,
  longleftrightarrows
* added tests for these

Bug: T340024
Change-Id: Ib8487f242766cef63f7cf8564f2033d9f332e0a8
2023-10-04 18:47:14 +02:00
Stegmujo 0c493bbbed Render MathML for tripledash for mhchem
* rendering textemdash for tripledash with unicode +2014

Bug: T340024
Change-Id: I2c68858063d7fe4e1d673522f6a2d58107fa3f7e
2023-10-04 13:04:17 +00:00
Stegmujo 372bf72acd Render MathML for mathchoice for mhchem
* defaults mathchoice to displaystyle
* adds several tests and introduces new Fun4 element for mathchoice in
  grammar

Bug: T340024
Change-Id: I37c8fd35303e3b8a00faad18a3a131a716c7bb47
2023-10-04 11:23:02 +00:00
jenkins-bot a801869ebb Merge "Add mhchem-tex macros to MMLGenerationTexUtilTest" 2023-10-04 11:05:14 +00:00
Stegmujo 759e6166f6
Add mhchem-tex macros to MMLGenerationTexUtilTest
* adds the recently implemented cases for mhchem specific tex to check full macro coverage
* fix a minor issue with tripledash

Change-Id: Id3033fab7b3c3432bed6e11f7b50f7ff8e3906ea
2023-10-04 10:57:12 +02:00
jenkins-bot f15dd203ab Merge "Fix tilde spacing" 2023-09-29 11:48:36 +00:00
Stegmujo 414295cdc5
Fix tilde spacing
* tilde is rendered as non escaped mspace

Bug: T315978
Change-Id: I33a751eb5ae62a45c7bc3941ff49f30fa436b00c
2023-09-29 12:19:28 +02:00
jenkins-bot 5dd7d8cba3 Merge "Fix alignments" 2023-09-28 17:13:32 +00:00
Stegmujo 6c43c7563c Fix escape spacing
* In test "\text{if}~n\ \text{is even} "

Bug: T315978
Change-Id: I839b7e912bc95abff1f589467c848fc8b2fb0fe6
2023-09-28 15:54:19 +00:00
Stegmujo 07f7942ac5 Fix alignments
*  "\ln c, \lg d = \log e, \log_{10} f" : c d etc should have be more extra space
* "\Pr j, \hom l, \lVert z \rVert, \arg z ": same as above, specifically for \hom
* fixes expected result in LocalCheckerTest

Bug: T315978
Change-Id: I842b45b2d20dc267d828dca2040a3500ce06f45d
2023-09-28 15:48:18 +00:00
thiemowmde b4290c1634 Make use of upstream assertStatusGood/Error and such
These small convenience methods produce much better debug output.

Change-Id: I80d6f406c1605ed68eca8ec576ff98e7251da518
2023-09-28 15:15:43 +00:00
Stegmujo 093ecf7c0f
Fix bigcap and bigcup scripts not placed correctly
* All recognized macros are in category nullary macros, so this adds a
  rule
* In test "\bigcap_{i=_1}^n E_i"
* In test "\bigcup_{i=_1}^n E_i"

Bug: T315978
Change-Id: I09287879c1448e404473891985457349a62554a7
2023-09-27 14:17:53 +02:00
Stegmujo b3545c1994
Fix negation (not) for operatorname
* Test example in MathNativeTests: " "\not\operatorname{R}"
* fixed forwarding state in Fun1nb

Bug: T315978
Change-Id: Ia651b14ba16f39cc8cbc6b42e0598d959bf72989
2023-09-27 10:39:27 +02:00
Stegmujo ede31d01ed Fix k=1 should appear under sum in displaystyle
* In test MathNativeTests: "\sum_{k=1}^N k^2"
* also verify that textstyle variant works correctly

Bug: T315978
Change-Id: I8f6cd5ef1e4539616439542184cb7d9dc5cf2363
2023-09-26 16:07:20 +00:00
Stegmujo f85fda42da Fix MMLGenerationParserTest creating HTML file
* also fixes a warning in phan that there is a tainted parameter in args in BaseParsing
* this is to pass CI

Bug: T343636
Bug: T347320
Change-Id: I91328bf26e208bd4e0e939c4628def2f40e2f0b6
2023-09-26 15:26:30 +00:00
Stegmujo 5536b3f74a Fix underbrace
* In test MathNativeTests: "\underbrace{ a+b+\cdots+z }_{26}"
* Underbrace statement appear to right side

Bug: T315978
Change-Id: I3b1e1290ac07e7aa70ab5931d513984f011d3075
2023-09-21 14:57:40 +00:00
Stegmujo 586d15b046 Fix Pilcrow size
* Pilcrow was very big, see test on MatTestNative page:
* " \amalg \P \S \% \dagger \ddagger \ldots \cdots "
* and add specific testcase

Bug : T315978

Change-Id: I3074f3782ef821e7f9813b79a570bbd51ead28db
2023-09-21 10:28:31 +00:00
Stegmujo 83db0738b3 Fix rendering of "<" and ">" in MathML
Bug: T346731

Change-Id: I1f163dad73481664a336f09bc5608aad6d0b5761
2023-09-19 10:32:09 +00:00
Stegmujo b28d3da95a
Render MathML for smash command from texified mhchem
Bug: T340024
Change-Id: Id9ca073b51656dce2f48cef6c94a2281fe269418
2023-09-19 10:27:28 +02:00
Stegmujo ead9760e1f Render MathML for cmds: raise,lower,rlap,llap from texified mhchem
Bug: T340024

Change-Id: I9b3981c97b8158685ccc774f8435f7f1b36a42f2
2023-09-17 09:54:32 +00:00
Stegmujo cedca8b14e
Render MathML for mskip and mkern from texified mhchem
Bug: T340024

Change-Id: I2f9e0bbb98f33d6269009248861e4573dc9e6911
2023-09-17 10:16:39 +02:00
Stegmujo 6514c9d24e
Implement mhchemParser in PHP
* mhchemParser v4.2.2 in Typescript was used as blueprint for this:
* https://github.com/mhchem/mhchemParser
* The mhchemParserPHP component tests can be run locally on a machine with PHP without MediaWiki-Environment with the MMLmhchemTestLocal.php
* For the tests it is probably only necessary to review the json files (Mhchemv4mml.json, Mhchemv4tex.json).
* src/TexVC/MHChem/MhchemParser.php contains the basic functionality, Patterns, StateMachines, Texify functions are located in dedicated classes
* added extracted mhchem commands which have intermediately have been introduced to the
  texVC(PHP) grammar

Change-Id: I8cc3d04937b93339e352adc95c85a8a178b8825f
Bug: T329620
2023-09-16 09:40:14 +02:00
Lucas Werkmeister 6712685a9b Use EntityId::getSerialization() instead of serialize()
Bug: T345856
Change-Id: I3684677bff3587a1d5199a33752d46146b9e2e3e
2023-09-07 16:49:02 +02:00
jenkins-bot 008759c331 Merge "Remove references to VisualEditorFullRestbaseURL" 2023-08-25 11:21:39 +00:00
Umherirrender 530b9c695a Use namespaced TitleFactory
Bug: T321681
Change-Id: I6392fe93fc1ff244c1035a6da7f83b8f849c0a5a
2023-08-19 14:41:58 +02:00
jenkins-bot 207af66a10 Merge "Replace some moved Title class uses, now MediaWiki\Title\Title" 2023-08-19 06:14:08 +00:00
gerritbot fd1e7e2a67 Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I1c875fcf7456ea03420b316f58fcd18aa748301f
2023-08-19 04:17:34 +00:00
James D. Forrester f08789049b Use namespaced IDatabase class
Bug: T344536
Change-Id: Ia5fdf3242f9510e4f21670f3746d9364ae2935c6
2023-08-19 12:03:02 +08:00
Amir Sarabadani 88a24c402b Fix phpcs error
Change-Id: If047aa9a5cf26def9d1d9935294646f80ef92ffc
2023-08-19 04:51:28 +02:00
Bartosz Dziewoński 8c05a71beb Remove references to VisualEditorFullRestbaseURL
The VisualEditorFullRestbaseURL config variable is no longer used by
VisualEditor and is no longer set in Wikimedia production
configuration.

Bug: T344458
Change-Id: Ifd0b9f919f7a9bdceb8761125588fe72e8d1e50c
2023-08-18 20:17:48 +02:00
Umherirrender fb29f08e74 Use HookHandlers for core hooks
The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.

Bug: T263364
Change-Id: Id8d9d0dcc6bb6ab60c5df3074803d132393415e9
2023-08-16 01:12:17 +00:00
Daimona Eaytoy ffa687bc64 Avoid DB access in non-Database tests
Bug: T155147
Change-Id: I25b627b85179fe0e72386351e53de322c7a9c850
2023-08-05 15:07:40 +00:00
jenkins-bot 2458e0d578 Merge "Avoid using TestUser in non-database tests" 2023-07-18 23:50:37 +00:00
jenkins-bot 7dfddfed75 Merge "Add remaining mhchemtexified macros:" 2023-07-18 20:49:51 +00:00
Moritz Schubotz (physikerwelt) ef145e7b50
Add remaining mhchemtexified macros:
\mkern -> \mkern #1 (fun_ar1)
    \mskip -> \mskip #1 (fun_ar1)
    \smash -> \smash[#1]{#2} (fun_ar1opt)
    \mathchoice -> \\mathchoice #1 #2 #3 #4 (fun_ar4)
    \rlap -> \rlap #1 (fun_ar1)
    \llap -> \llap #1 (fun_ar1)
    \raise -> \raise #2 #2 (fun_ar2)
    \lower -> \lower #1 #2 (fun_ar2)

Bug: T340023
Change-Id: I61f0bdae53a53d5d301645dc9aa099d3377bff1c
2023-07-18 21:08:36 +02:00
Moritz Schubotz (physikerwelt) 88482a5e60
Extend test coverage for TexUtil to 100%
Change-Id: I74226a31f0fd5fb45066215d1075e6f42223f03c
2023-07-18 12:55:52 +02:00
Moritz Schubotz (physikerwelt) 26cfc111f9 Add usemhchemtexified option for mhchem texified output
Add a config option to enable passing special macros needed to
handle the output from the mhchem texify process.

Bug: T340023
Change-Id: I3553931c252184b54e7a13938e030825e5d45e59
2023-07-18 09:34:35 +00:00
jenkins-bot f6832d0235 Merge "Eliminate duplicate file" 2023-07-18 09:17:03 +00:00
Daimona Eaytoy 34d8441bc8 Avoid using TestUser in non-database tests
It needs a database connection to create the user, which is unnecessary
here.

Depends-On: I80723b886b2b5a5d75cbb73571e1b19ea4a09af5
Change-Id: I260b8ca433733b7754616e6e24778935597981a5
2023-07-17 23:36:23 +02:00
jenkins-bot 7af0761091 Merge "Add tex node with 4 arguments" 2023-07-17 12:39:14 +00:00
Moritz Schubotz (physikerwelt) 2d76cc24ac
Eliminate duplicate file
texutil.json exists twice with identical contents in
test and main sections.

Delete the redundant copy in the test section and access
the main file in tests.

Change-Id: Ie1eba9ed599d6826f1efe2d37bf8370f8e9dd036
2023-07-16 10:04:51 +02:00
Daimona Eaytoy a5c334fdbc Mock ExtensionRegistry in MathTest
The test doesn't need to depend on what extensions are
available/installed. Also pass the test config more explicitly to
ServiceOptions.

Needed-by: I0a04c82250582fed7a66c1e10868d9b4f3823a28
Change-Id: Id2587fe7d31fcd652c26e5dd0a8cfcae3161efcc
2023-07-15 19:11:18 +02:00
Moritz Schubotz (physikerwelt) 5677e7992c
Add tex node with 4 arguments
For the mathchoice command we need a syntax tree element that can
store 4 arguments.

Bug: T340023
Change-Id: Ieddd10e54240a4def6bed30cd299d804e8a121f9
2023-07-14 17:31:04 +02:00
Umherirrender 94ec268cb8 tests: Use correct expect message function in MathWikibaseConnectorTest
expectException needs expectExceptionMessage to be useful

Change-Id: Ic0b9d2e9ab05e958d86082886f1cef3f213919ad
2023-07-10 20:41:57 +02:00
Moritz Schubotz (physikerwelt) 16d1fdacf4
Add WAN Cache for native MathML rendering
* Cache results for checked tex and MathML string in one cache.
* Remove access to parsetree
* Introduce run method to speed up service wiring

Note that the indirection table used in previous versions was
abandoned here. texvc does only little unification's of the
input string so that it is not expected that the overall savings
in space and compute time warrant the additional table.

Change-Id: Ib9ce3d2ab02bd9a2a0f9926db6b937435b7e5458
2023-06-19 23:04:08 +02:00
Moritz Schubotz (physikerwelt) fc425b977c
Add MathML interface to LocalChecker
In preparation for caching we store the MathML fragment returned by
local checker. The rational is that the string serialization of the
parse tree is better chachable as the parsetree.

Change-Id: Ice2ef1f4f7b83ed187507d4d067f446603d0d6a5
2023-06-19 17:39:49 +02:00
Daimona Eaytoy d06bd18532 Replace deprecated MWException
Introduce new classes for checked exceptions, and use SPL exceptions
for the unchecked ones.

Bug: T328220
Change-Id: Ic44463e910911afe6395c38fd2f59b9bfa02a4f0
2023-06-09 13:00:46 +02:00
Moritz Schubotz (physikerwelt) 7c7b3324be Remove additional v1 suffix when computing internalRestbaseURL
Remove additional /v1 when computing internalRestbaseURL from
virtualRestConfig as this will be added in getUrl in MathRestbaseInterface.

internalRestbaseURL was introduced in I2fbc441955a1fe417f264f31f3729ce0715f7f16.

Bug: T334842
Bug: T338381
Change-Id: If2719fb9106e1414ce8814a2fbafa5dcedb84e39
2023-06-08 01:10:30 +00:00
jenkins-bot 03b185078b Merge "Create HookRunner class and the hook handler interfaces" 2023-06-07 09:39:56 +00:00
Ed Sanders bf9d8cef1d Always use the strict equality flag when using in_array
Change-Id: I555be3a62ee545304ea1ff7fdcffa3c4fbd25ab1
2023-06-06 13:35:12 +01:00
Umherirrender 28c5a67697 Create HookRunner class and the hook handler interfaces
Bug: T263353
Change-Id: I7ee943a262eba7d2f00fd05925676cc2351b7be9
2023-06-05 22:47:33 +02:00
Umherirrender a967557107 tests: Call TestCase::createMock with $this
createMock is not a static function (like atLeastOnce)
It is easier to spot that this needs a TestCase when using $this

Change-Id: I6b738e31f43fd7ee2ecd608d0bb853a3ebac3121
2023-05-31 23:00:27 +00:00
jenkins-bot a4911d2283 Merge "Introduce MathInternalRestbaseURL setting." 2023-05-31 06:28:39 +00:00
daniel 43dd9c7f63 Introduce MathInternalRestbaseURL setting.
This new MathInternalRestbaseURL setting allows the internal URL of
Mathoid to be configured directly, instead of relying on
VirtualRestConfig.

This patch moves the fallback logic for the internal and external API
URL into an extension registration callback. This way, we can keep the
application logic simple, and we can issue config warnings that will
cause the updater to fail, forcing wiki owners to update their config.

Bug: T334842
Change-Id: I2fbc441955a1fe417f264f31f3729ce0715f7f16
2023-05-30 09:48:03 +00:00
rrana-wmf c601e1d6f2 Add test case for MathRestbaseInterface.php
Add test case for getType() method.

This will improve the code coverage for this method from 0 to 100%.

Add test case for getTex() method.

This will improve the code coverage for this method from 0 to 100%.

Add test case for evaluateRestbaseCheckResponse() method.

This will improve the code coverage for this method from 0 to 100%.
And covers getIdentifiers(), getWarnings(), setErrorMessage(),
methods from 0 to 100%.

Change-Id: I6bdb6919126e5488838d4fba53eb2f74c89ee63d
2023-05-22 09:36:29 +00:00
Umherirrender 7a8d5b9dc4 tests: Make some PHPUnit data providers static
Initally used a new sniff with autofix (T333745)

Bug: T332865
Change-Id: I73d2903fed7523826b71fc452a846dc4c6e85802
2023-05-21 11:00:48 +02:00
rrana-wmf 5926f42b52 Use MultiHttpClient instead of VirtualRESTService.
This fixes the problems with If208753edfdb301 which was reverted
and adds a new test.

Bug: T335347
Co-Authored-By: <rrana-ctr@wikimedia.org>
Change-Id: I7ddb7b294cbccc4dab42e286fc270f438385bee5
2023-05-20 16:57:46 +00:00