Commit Graph

158 Commits

Author SHA1 Message Date
Adam James
4c2bc9801b Add script function to replace entries in multi-value variables 2021-04-09 08:50:49 +02:00
Bob Swift
d0335e71a8 Clean up sorted() parameter. Change name to $unique() 2021-03-28 11:47:44 -06:00
Bob Swift
6604d38c60 Add function to remove duplicate entries from multi-value variable 2021-03-27 11:35:07 -06:00
Philipp Wolfer
c0e6243a13 PICARD-1926: Adjust test cases for new config structure 2020-12-25 12:37:15 +01:00
Philipp Wolfer
048651fa41 Refactor script module into package 2020-07-19 21:30:56 +02:00
Laurent Monin
a308c39343 preprocessor -> postprocessor
Suggested by @phw
2020-05-13 11:05:11 +02:00
Laurent Monin
7ec406f8bd Display module for script functions registered outside picard 2020-05-13 11:05:10 +02:00
Laurent Monin
06c2618232 Improve script function documentation formatting, using dl/dt/dd html tags
Make color of the first line configurable (demo mode)
2020-05-13 11:05:10 +02:00
Laurent Monin
66632e9761 Sort script functions documentation 2020-05-13 11:05:10 +02:00
Laurent Monin
d52bfd83b1 Make markdown module optional, fix tests accordingly 2020-05-13 11:05:09 +02:00
Laurent Monin
b284c841c4 Also test FunctionRegistryItem() 2020-05-13 11:05:09 +02:00
Laurent Monin
7d0e185a85 Fix up script function documentation tests
- ensure registry is empty
- use actual html code as returned by markdown
- split code among different test methods
2020-05-13 11:05:09 +02:00
Laurent Monin
7508cbf743 Reduce code redundancy, add helpers assertStartswith() and assertEndswith() 2020-05-13 11:05:09 +02:00
Laurent Monin
310bed488a Add script_function_documentation_all() to dump all script functions documentation 2020-05-13 11:05:09 +02:00
Laurent Monin
a7680bf75e script_function_documentation(): returns function doc in wanted format, add tests 2020-05-13 11:05:09 +02:00
Philipp Wolfer
fb83a8e76b Enable flake8 E265: Block comment should start with '# '
Most changes involve replacing non-breaking space with a simple space after the #.
2020-05-13 11:03:13 +02:00
Philipp Wolfer
909ea667b8 Check code style of tests with flake8 2020-05-13 11:03:13 +02:00
Philipp Wolfer
a3bb51993f PICARD-1813: Fixed calling $title with empty value 2020-05-09 10:46:57 +02:00
Bob Swift
2b07885c69 Add missing formatting code. Update test for missing code. 2020-03-06 14:18:57 -07:00
Bob Swift
46937bab8b Combine StackItem classes into one. Standardize exception prefix text. 2020-03-06 10:18:07 -07:00
Bob Swift
d5de2dc159 Use StackItem and FunctionStackItem with script exception calls 2020-03-05 15:35:16 -07:00
Bob Swift
61d9196b92 Fix function line, column in ScriptRuntimeError. Add tests. 2020-03-04 16:14:45 -07:00
Bob Swift
462ba2d74b Remove unnecessary "except..." code. 2020-03-03 15:17:14 -07:00
Bob Swift
1ccaebb28f Fix line, position order and add line number to test. 2020-03-03 15:07:33 -07:00
Bob Swift
64a379aeb2 Use thread-safe function stack. Add platform-specific tests. 2020-03-03 15:07:32 -07:00
Bob Swift
030fd17251 Add function_stack to parser. Revise ScriptRuntimeError args. 2020-03-03 15:06:07 -07:00
Bob Swift
5a8df90074 Added ScriptRuntimeError. Remove unnecessary non-Win tests. 2020-03-03 15:05:42 -07:00
Bob Swift
1c1f2998f4 Trap ValueError exception in $datetime function and add tests 2020-03-03 15:04:19 -07:00
Bob Swift
60d9827fa6 PICARD-1781: Have $find return '' rather than '-1' on not found 2020-03-03 17:19:02 +00:00
Bob Swift
becd3e0d7a Add IndexError check to $firstwords function 2020-02-28 07:47:38 +00:00
Philipp Wolfer
c1c9cf6bf6 PICARD-1774: Fix MultiValue returning [] on empty value
This also fixes issues with some functions:
- $lenmulti with empty value must return 0
- $foreach and $map must loop zero times on empty value
2020-02-27 08:25:01 +00:00
Bob Swift
05ea186c29 Fix negative length handling in $num 2020-02-26 22:25:44 +00:00
Bob Swift
1bd45a0c59 Add ZeroDivisionError handling in $mod function 2020-02-26 22:22:47 +00:00
Laurent Monin
6b5e852a60 Run fix-header on *.py 2020-02-24 10:25:09 +01:00
Bob Swift
170b8e0aa7 Add $sortmulti, $reversemulti and associated tests 2020-02-22 19:24:13 +00:00
Laurent Monin
6365295ee4 Add tests for MultiValue
100% coverage on the class
2020-02-21 21:04:24 +01:00
Laurent Monin
6f9b171d1c Test script_function decorator
Changes were made to ensure ScriptParser registry is resetted on each test
2020-02-20 21:54:06 +01:00
Laurent Monin
ccf6edfbd9 Complete multi functions tests 2020-02-20 21:06:09 +01:00
Laurent Monin
037a487710 $title: test all cases, and drop test for empty text which cannot happen 2020-02-20 21:06:09 +01:00
Laurent Monin
37631e8ad7 $rsearch: test unmatched regex 2020-02-20 21:06:09 +01:00
Laurent Monin
5b1cfc5470 $div: test non-numeric parameter 2020-02-20 21:06:09 +01:00
Laurent Monin
665a3e9885 $div: Test and handle division by zero error 2020-02-20 21:06:09 +01:00
Laurent Monin
55ad8a3924 Test various unknown functions and unexpected script errors 2020-02-20 21:06:09 +01:00
Laurent Monin
0da4ab5d74 Tidy up script tests
Remove useless whitespaces
Fix typo in comment
test_optional_kwonly_parameters(): self is unused -> static method
Use raw string notation
2020-02-20 20:53:02 +01:00
Bob Swift
7762f9b929 Add $datetime() function and associated tests 2020-02-07 00:49:35 +01:00
Bob Swift
3903007a79 Add $slice() function and associated tests 2020-02-03 14:58:16 -07:00
Bob Swift
761c49124a Add $join() function and associated tests 2020-02-03 12:24:26 -07:00
Laurent Monin
52b80593ac Unify new and old script function names
Before introduction of new functions, we had a pattern: "name" script function was defined by "func_name"
Recent patches changed this, introducing inconsistencies.
Also we have inmulti and lenmulti, so stick to this scheme for getmulti and others.

func_find_str -> func_find
find_str -> find
func_reverse_str -> func_reverse
reverse_str -> reverse
func_get_multi -> func_getmulti
func_foreach_multi -> func_foreach
func_while_loop -> func_while
func_map_multi -> func_map
2020-02-01 18:07:38 +01:00
Philipp Wolfer
3d2a5cf250 PICARD-1719: Fix $unset must not mark tags for deletion.
This regressed in Picard 2.2.0 with commit 503b520 and $unset behaves the same as $delete.
2020-01-31 18:09:07 +01:00
Bob Swift
0bea47fcdf Add tests on missing inputs. 2020-01-31 08:20:58 -07:00