Commit Graph

92 Commits

Author SHA1 Message Date
The-Lum 2c666eb968 feat: add new JSON Object method (`deepMerge`)
Report of:
- minimal-json/PR 98

[Thanks to @pbi-qfs]
2024-05-05 20:53:27 +00:00
The-Lum 3dba008497 feat: add new JSON builtin function (`%json_merge`) 2024-05-05 09:21:07 +00:00
The-Lum dcfe17b73c feat: add new JSON builtin function (`%json_set`)
From this request:
- https://github.com/plantuml/plantuml/issues/328#issuecomment-2089276726
2024-05-03 17:06:30 +00:00
The-Lum 6c4eaebd8f fix: add `int` and `string` management on `%json_add`
That fixes:
- https://github.com/plantuml/plantuml/issues/328#issuecomment-2071079413

Here is a fix for `int` and `string`, in order to manage:

```puml
%json_add({"age" : 30}, name, 123) '=> {"age":30,"name":123}
```

```puml
%json_add({"age" : 30}, name, Sally) '=> {"age":30,"name":"Sally"}
```

[FYI @philCryoport]
Reagrds,
Th.
2024-04-24 19:52:11 +00:00
The-Lum 24239ff0bd feat: add new JSON builtin functions (`%str2json`, `%json_add` and `%json_remove`)
From those requests:
- https://forum.plantuml.net/15436/allow-update-json-object-or-array-value
- https://forum.plantuml.net/17474/modify-json-variables-in-preprocessor
- https://forum.plantuml.net/18418/request-%25set_json_keys-function-json-writing-capabilities
- #328
- #1733
2024-04-15 05:33:02 +00:00
The-Lum f3ee15f97b feat: add `%splitstrregex` builtin function
From this request:
- https://forum.plantuml.net/18827/%25splitstr-please-add-regex-support-as-second-argument

Ack. & Ref.:
- https://forum.plantuml.net/15374/delimited-string-split-into-an-array
- https://forum.plantuml.net/18827/%25splitstr-please-add-regex-support-as-second-argument
- https://www.javacodeexamples.com/java-stringtokenizer-using-regex-pattern/3570
2024-04-09 14:04:18 +00:00
Benjamin Davies 4b5bcd3bca
Fix compatibility with Java 8 2024-03-21 19:38:05 +13:00
Benjamin Davies 234cb3adea
Add tests for each new command 2024-03-21 17:55:42 +13:00
The-Lum f82f1a9a76 fix: math two-dimensional matrices and add test
Report of https://github.com/The-Lum/ASCIIMathTeXImg/commit/6f3bb01d
That fixes #1706

Regards,
Th.
2024-03-10 17:09:12 +00:00
Arnaud Roques f385bc0dba chore: use Collections.emptyList() instead of new ArrayList() 2024-02-24 12:03:21 +01:00
Arnaud Roques 3cc68235dd refactor: prepare preprocessor error improvement 2024-02-22 20:28:03 +01:00
Arnaud Roques a48dd52d9f refactor: prepare preprocessor error improvement (almost finished :-)
https://github.com/plantuml/plantuml/pull/1668
2024-02-22 20:06:59 +01:00
The-Lum fea505ab77 feat: add `%get_all_stdlib` builtin function 2024-02-22 15:11:26 +00:00
Arnaud Roques be69889e7f tests: fix stdlib test
https://github.com/plantuml/plantuml/pull/1692#issuecomment-1952831187
2024-02-21 22:23:31 +01:00
The-Lum 8fe9faec1b tests: add not working example about stdlib 2024-02-16 21:59:49 +00:00
Arnaud Roques ee43dd0b99 chore: fix some tests on Windows 2024-02-16 22:10:07 +01:00
The-Lum 53bcc028cf fix: typo on `GetAllThemeTest` filename 2024-02-14 06:19:34 +00:00
The-Lum ab09e2ef1f feat: add `%get_all_theme` builtin function 2024-02-14 06:14:19 +00:00
The-Lum e70f23b8fe refactor: Change `HelpTest` to `CommandHelpThemeTest` on a more accurate folder
To continue:
- #1655

Change `HelpTest.java` to `CommandHelpThemeTest.java`
Put on a more accurate folder:
- `net.sourceforge.plantuml.help`
2024-02-13 11:04:02 +00:00
The-Lum e11d974ce5 refactor: place `net.sourceforge.plantuml.test` on `test.utils`
Create `test` folder with:
- `example`
- `utils`

And put all `net.sourceforge.plantuml.test` on `test.utils`.
_[no other change]_
2024-02-12 19:13:02 +00:00
The-Lum 3bd3edb740 feat: `Random` function: add test and private declaration
Add:
- `RandomFunctionTest` test file
- private declaration for random lib.

Ref.:
- #1667

Improve:
- dbaf8ac2cd
- #1668
2024-02-03 14:06:49 +00:00
Arnaud Roques 428381ca44 Merge branch 'tmp2' 2023-12-11 18:36:41 +01:00
Arnaud Roques c20b3d9642 feat: work on chronology 2023-12-11 18:34:23 +01:00
The-Lum 5c7245623a test refactor: simplify test using `TimTestUtils`
For: `Chr` and `Ord`
2023-12-08 21:44:05 +00:00
The-Lum 3f836a44cc fix: allow (`int` corresponding of) unicode value for `Chr` builtin fct
That fixes partialy #1571.
2023-12-08 21:20:22 +00:00
The-Lum 1cb61d5609 fix: allow different type inside array for `GetJsonKey` builtin fct 2023-12-08 21:08:36 +00:00
The-Lum a570cea56f feat: Allow JSON Array on JSON preproc.
(affectation on plantuml variable, on foreach, ...)
2023-11-27 20:02:54 +00:00
The-Lum a34f13873c test: improve [unit] testing
Update and refresh this old PR:
- plantuml/plantuml#277

Add on test dependencies:
- [x] [`io.github.glytching:junit-extensions`](https://github.com/glytching/junit-extensions)
- [x] [`Mockito`](https://github.com/mockito/mockito)
  - `org.mockito:mockito-core`
  - `org.mockito:mockito-junit-jupiter`

Add a first test on:
- `test/utils/LineLocationImplTest.java`
2023-10-02 19:15:20 +00:00
The-Lum f91e0db9eb test: first commit for some unit tests of `tim/stdlib` functions
- `AlwaysFalse`
  - `AlwaysTrue`
  - `Dec2hex`
  - `Feature`
  - `GetJsonKey`
  - `GetJsonType`
  - `Hex2dec`
  - `Lower`
  - `Size`
  - `Upper`
  - TBC...
2023-09-17 19:18:35 +00:00
The-Lum 957726fda0 test: create `_TemplateStdlibTest` to help test of `tim/stdlib` 2023-09-16 08:26:32 +00:00
The-Lum ec260ff0c9 test: add assert help function to test `tim/stdlib` 2023-09-16 08:18:20 +00:00
The-Lum 3090643256 test: create `JunitUtils` to help test with Junit
- [x]  create `JunitUtils`to help test with Junit
  - create `StringJsonConverter` class to use with `@ConvertWith`
2023-09-15 20:54:33 +00:00
Arnaud Roques 4b58055b9f mod: Handle @start/@end syntax error better
https://github.com/plantuml/plantuml/pull/1522
2023-08-28 19:14:15 +02:00
The-Lum 5149c49858 fix: change `No @startuml/@enduml found` message to `No valid @start/@end found, please check the version` for more readability
- [x] Rename `noStartumlFound` function to `noValidStartFound`
- [x] Rename `No @startuml/@enduml found` message to `No valid @start/@end found, please check the version`

Notes:
- Impact also the PicoWebserver;
- _For future enhancement perhaps use `resource` or list of message instead of repeating a message in many different places..._
2023-08-28 15:30:27 +00:00
The-Lum 90198c40d8 refactor: change formatting of `should_readFirstDiagram_decode_correctly_different_line_endings` for more readability 2023-08-28 15:01:45 +00:00
The-Lum 0c7f026f6c test: add new tests on `@start/@end` with a failing test to fix
- Add passing tests
- Add fail test _(to uncomment)_
2023-08-28 14:52:45 +00:00
Arnaud Roques 38c5765a99 fix: minor issues
https://github.com/plantuml/plantuml/issues/1515
https://forum.plantuml.net/18157/last-label-on-last-elseif-branch-does-not-get-rendered
2023-08-24 19:01:41 +02:00
The-Lum 63da3270a6 test: add tests for the builtin function `%chr`
_[TODO: fix `%chr` to allow Unicode chars, the corresponding tests are here.]_
2023-07-27 15:41:03 +00:00
The-Lum c6cfd3cec6 refactor: use CSV Source for Math and UrlBuilder tests
For better readability and maintainability, use `@CsvSource` for:
- Math tests
- UrlBuilder tests

_[FYI: `testGetUrl42` and `testGetUrl50` seems to be identical!, I suppress one]_
2023-07-27 15:25:42 +00:00
The-Lum 8742e77f3c fix: `ord` builtin function: allow Unicode values, add test
By this indication:
- https://github.com/plantuml/plantuml/pull/1487#issuecomment-1648082049

Fix `ord` builtin function:
- allow Unicode values
- add tests
2023-07-26 11:27:56 +00:00
soloturn 75443a5d28 java-20 deprecates new URL(), use new URI()
cite from the ticket towards openjdk:
The URL class does not itself encode or decode any URL components
according to the escaping mechanism defined in RFC2396. It is the
responsibility of the caller to encode any fields, ...

In Java SE 1.4 a new class, java.net.URI, has been added to mitigate
some of the shortcoming of java.net.URL. Conversion methods to create
an URL from an URI were also added.

references:
* https://inside.java/2023/02/15/quality-heads-up/
* https://bugs.openjdk.org/browse/JDK-8294241
2023-07-08 22:58:42 +02:00
Arnaud Roques 6475c392fc chore: add tests for testCanWeReadThisEnvironmentVariable 2023-06-13 20:20:32 +02:00
Arnaud Roques ff6e71e626 fix: only allow to read some environment variables 2023-06-13 12:55:32 +02:00
Arnaud Roques 4a246c7cb9 fix: wip
https://forum.plantuml.net/17926/sprite-transparent-only-jar-defined-sprites-are-working
https://github.com/plantuml/plantuml/issues/1448
https://forum.plantuml.net/17932/nwdiag-possible-misbehavior
2023-06-11 20:44:08 +02:00
Arnaud Roques aedaeec598 chore: update test for pipemap 2023-05-22 19:09:32 +02:00
Arnaud Roques 9c62daa35d Fix UGraphic hierarchy 2023-03-12 12:41:34 +01:00
Arnaud Roques 75835ce2a0 Packages move and bugfix 2023-02-22 19:43:48 +01:00
Arnaud Roques 4888ac976d Start major packages refactoring 2023-02-02 18:59:43 +01:00
Arnaud Roques a5d39f6dda Version 1.2023.0 2023-01-09 20:13:37 +01:00
Arnaud Roques 58469686e6 Revert StringUtils to original package 2022-12-17 12:10:05 +01:00