1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-25 02:57:19 +00:00
Commit Graph

212 Commits

Author SHA1 Message Date
Mario Pietsch
3aa5198c3e Update tests (#4392)
add 3 new tiddlers, add 1 "enlist" test, fix all tests that failed, because 3 new tiddlers where added. stopped ESLint to complain about global vars, fix some mixed-tab-space indent typos.
2019-12-19 13:38:09 +00:00
Marica Odagaki
613f0b2559 Upgrade to Jasmine 3 (#4226)
* process.exit() only exist in a node.js environment

* updateInterval has been removed from upstream

From upstream commit:
b6eb9a4d5e

* Update Jasmine to 3.4.0

* Reuse the evalInContext helper

* Fix expected parse result to match the actual result

* 'describe' cannot be nested inside 'it' blocks

Jasmine started to explicitly raise an error in these cases since:
https://github.com/jasmine/jasmine/pull/1411

* Be consistent about how to refer to library files

* Update link to Jasmine's official website
2019-11-12 21:42:38 +00:00
Cameron Fischer
fb12807a33 Reverting changes to stringifyList (#4249)
I (Flibbles) changed it so that lists generated by stringifyList
would always be compatible with a filter parser, but since lists
are not, and never will be, a subset of filters, there isn't a
point.

More importantly, wrapping negative numbers like "-7" in brackets
would mess up some math stuff.
2019-09-09 14:56:40 +01:00
Cameron Fischer
67066fe86e Improve handling for titles starting with +-~= (#4084) (#4087)
* $tw.utils.stringifyList will wrap tiddlers starting with `+-~=` in brackets.
2019-08-24 12:35:03 +02:00
Jeremy Ruston
17711657b6 Add then and else operators
Fixes #4147
2019-08-02 14:27:58 +01:00
Jeremy Ruston
3afaa9de9a Add support for anchored searches 2019-07-31 21:36:12 +01:00
Jeremy Ruston
5faae2547d Add "match" operator for string comparison
Fixes #4130
2019-07-31 09:11:12 +01:00
Jeremy Ruston
269fa5313f Fix for index ordering issue
Fixes #4082

This version removes selective updating of the tag index, instead completely clearing the index on each update. I'm investigating restoring that optimisation.
2019-07-28 16:39:34 +01:00
Jeremy Ruston
cbd07465f3 Fix test rig shadow tiddler behaviour
The test rig previously used a simplified implementation of shadow tiddlers which broke with the new indexing engine. There was also a problem that made that even if indexers were disabled they were still initialised.

This PR fixes both problems, in preparation for fixing #4082
2019-07-16 16:53:37 +01:00
Jeremy Ruston
c8d6f3b681 Fix tests for changes to split operator
We now retain any blank strings
2019-06-21 10:36:53 +01:00
Jeremy Ruston
630a0ecf9e Remove test for concat operator 2019-06-13 16:55:55 +01:00
Jeremy Ruston
dd7837d164 Fix issue with allafter operator
Fixes #3962
2019-06-11 09:38:14 +01:00
Jeremy Ruston
a8f70b08a8
Add indexes to the wiki store to improve performance (#3951)
* First pass at modular wiki indexes

An exploratory experiment

* Fix tests

* Faster checking for existence of index methods

We don't really need to check the type

* Use the index for the has operator

* Fix typo

* Move iterator index methods into indexer modules

Now boot.js doesn't know the core indexers

* Fix up the other iterator index functions

* Fix crash with missing index branch

* Limit the field indexer to values less than 128 characters

* Fallback to the old manual scan if the index method returns null
* Sadly, we can no longe re-use the field indexer to accelerate the `has` operator, because the index now omits tiddlers that have field values longer than the limit

Still need to make the index configuration exposed somehow

* Rearrange tests so that we can test with and without indexers

We also need to expose the list of enabled indexers as a config option

* Test the field indexer with different length fields

So that we test the indexed and non-indexed codepaths
2019-05-24 21:07:37 +01:00
Jermolene
9d7d3fefa0 Split operator: Remove empty strings when splitting
See the discussion on 9b2d527; thanks @kookma
2019-02-08 15:59:07 +00:00
Jermolene
adb07ccba0 Add a test for all filter with blank operand
Actually quite a useful way to get all of the tiddlers that were passed into the filter.
2019-02-07 17:59:12 +00:00
Jermolene
158f96a207 Fix split operator testcase 2019-02-07 12:48:23 +00:00
Jermolene
dc29acd656 Fixed bug with split operator 2019-02-07 12:45:07 +00:00
Jermolene
9b2d52716a Add new string operators: length, join, split, concat etc. 2019-02-07 11:18:53 +00:00
Jermolene
0ea00b59b0 Add numeric maths filter operators
There are other ways we could add maths to TW5 (including @EvanBalster's awesome https://github.com/EvanBalster/TiddlyWikiFormula) but the approach here has the merit of simplicity because it reuses the existing filter evaluation mechanism. That means that it's not ordinary "2+2" maths, it's a unique list processing language...

Docs to come

Fixes #254
2019-02-06 14:19:55 +00:00
Jermolene
c97c3cea74 CI: Fix intentionally broken test 2019-01-04 20:11:02 +00:00
Jermolene
52d328ee1b CI: Temporarily make one of the tests fail to make sure that failed tests work 2019-01-04 17:58:16 +00:00
Rob Hoelz
d8b291bc04 Fix search method for search tokens spread across fields (#3641)
* Fix search method for search tokens spread across fields

Addresses GH #3636, which reports that if you're searching for "test
body", and "test" only appears in the title field, and "body" only appears
in the text field, 5.1.18's search method won't yield that tiddler as a
result, which appears to be a regression from the 5.1.17 behavior

* Add test for searching for multiple tokens across fields

Verifies GH #3636:

> If I create a tiddler in the empty edition with the title "Test tiddler" and content "Body content", searching the wiki for "test body" yields no results under either "title matches" or "all matches". Searching for either word individually turns up "Test tiddler", and repeating this in an empty wiki I created from the 5.1.17 tag causes "Test tiddler" to show up under "all matches".
2018-12-17 11:19:48 +00:00
Jeremy Ruston
09330968cc
New "else" prefix for filters (#3558)
* Experimental "else" prefix for filters

See #3557

* Docs updates for "else" filter runs
2018-11-20 13:29:44 +00:00
Jeremy Ruston
6dcdc2049a
Enhance search operator (#3502)
* Enhance search operator

* Add support for searching all fields

and also searching all fields except nominated fields.

* Docs tweaks

Thanks @pmario

* Error message improvements

* Improve error message formatting
2018-10-30 17:39:18 +00:00
Cameron Fischer
d8007386cf Fix issues with ordering of tagged items (#3301)
* Added better handling for sortByList manual placements

If manual placement specifications show up in an inconvenient order,
sortByList, will go to the trouble of processing them in that order.

* Added tests to confirm solution to (#3296)

...That custom tag ordering will not choke when tiddlers get sorted after their dependencies have been placed around them

* Corrected list-after bug when referencing external titles

* Using more error-proof $tw.utils.hop in sortByList

* minor indentation correction in test-tags.js
2018-10-07 12:15:33 +01:00
Jermolene
9735e13dea Fix broken test 2018-07-03 12:09:59 +01:00
Jermolene
aa417fe899 Add new "lookup" filter 2017-09-07 15:48:00 +01:00
Jermolene
f3cab3753e Don't set draggable property for links 2017-03-28 13:05:00 +01:00
Jermolene
1f860bd04e Fix problem with dragging links 2017-03-23 17:52:15 +00:00
Tobias Beer
6085936475 Introduce "field" suffix for "has" filter operator (#2066)
* has:field — tested & documented

allows to test whether a field exists

* fixed inverted condition

* added from version to docs
2017-02-22 12:13:59 +00:00
Mario Pietsch
b43b89f44a fix for 2634 problems with week calculation 2016-11-29 17:31:54 +01:00
Jermolene
b759d82f4c @pmario's fix for #2635
This got reverted due to my git inabilities
2016-11-28 13:43:43 +00:00
Mario Pietsch
766bc7acee Fix for #2634 problem with week calculations (#2635) 2016-11-27 17:33:19 +00:00
Tobias Beer
ef3e44eb48 rename suffix each:list to each_list-item
based on #1422, improves readability of the filter expression

tests passed
2015-11-13 11:07:24 +01:00
Tobias Beer
f684a6beb0 fixed helper function and added tests
tests: ok
2015-10-08 14:07:00 +02:00
Jermolene
48d452c535 Update test for recent parser changes 2015-07-06 11:23:30 +01:00
Jermolene
00f35fe41a Don't HTML encode single quotes
They don’t get automatically decoded when the browser reads the
resulting HTML. So, instead, we’ll solve
1e9e1a1fdc by switching to double quotes
for attribute values.
2015-03-21 14:17:42 +00:00
Jermolene
b69dff861d Fix tests for c33a17a475 2015-03-11 21:58:45 +00:00
Jermolene
396efedc3f Update tests for 1e9e1a1fdc 2015-02-20 16:19:06 +00:00
Tobias Beer
b40da093af added tests to tagging for changes in #1378
using a single test-filters.js is (becoming) a pain... I'd rather have a
single test file per filter / module / function
2015-01-27 18:20:03 +01:00
Jermolene
9e167dc468 Adjust tests for system tiddler linking (#1103) 2015-01-11 16:44:51 +00:00
Jermolene
0778ea6756 Some tests and style updates for #1229
@tobibeer I simplified the handling of matched strings a little.
2014-12-15 17:50:24 +00:00
Jermolene
1f82ebc7c3 Fix problem with parsing text references 2014-11-21 18:16:22 +00:00
Jermolene
d31f61255e A failing test for a bug with text reference parsing
I’ll fix this later.

Raised by @danielo515
2014-11-21 17:05:20 +00:00
Jermolene
d9bdc89dfd Update test for transclusion recursion detection 2014-09-27 17:30:13 +01:00
Jermolene
f4fff7a330 Add new "regexp" filter operator
Fixes #762
2014-09-09 15:57:41 +01:00
Jermolene
89fd5379dd Change "tw-*" variables to "tv-*" 2014-08-28 22:28:02 +01:00
Jermolene
4a1c530da7 Rename "tw-tiddlylink-*" classes to "tc-tiddlylink-*"
Part of #764
2014-08-28 18:13:46 +01:00
Jermolene
2526bfb078 Disable wikilinking when preceded with dash or underscore
“HelloThere” in “My-HelloThere” shouldn’t be wikified.

Part of #337
2014-08-08 16:20:15 +01:00
Jermolene
f8548cc8f2 Stop classifyinh "÷" (\u00f7) as an upper case letter
Part of #337
2014-08-08 16:12:23 +01:00
Jermolene
9c8564d5b0 Stop classifying "×" (\u00d7) as a lower case letter
Part of #337
2014-08-08 16:09:56 +01:00
Jermolene
d7390dbbe1 Remove support for underscore and dash in wikilinks
Starting to fix #337
2014-08-08 11:13:41 +01:00
Jermolene
be040ea8a2 Add support for variable filter operands
Fixes #583
2014-07-25 15:26:44 +01:00
Jermolene
680fe41ed7 Add isEqual() method to tiddlers 2014-06-23 08:09:59 +01:00
Jermolene
d5094463f4 Temporarily revoke sorting tests
localeCompare seems to behave differently in the browser and under
Node.js, making it hard to get the tests consistent
2014-05-16 14:46:55 +01:00
Jermolene
c9c1b0fbb4 Get rid of the tweakParseTreeNode() hack
It’s an embarrassing hangover from a refactoring of the parsing
mechanism last year.
2014-05-14 08:51:08 +01:00
Jermolene
e83759e86d Add "before" and "after" filter operators
Fixes #357 by adding new “before” and “after” filter operators.
2014-05-12 15:16:44 +01:00
Jermolene
76e8640c31 Fix problem with parsing lists contain non-breaking spaces
Some of the time we need to treat non-breaking spaces as though they
are not spaces (regexps treat them as spaces by default).
2014-05-06 18:10:27 +01:00
Jermolene
f5bd99fa73 Fix tests for 385c7e207c 2014-04-27 21:58:41 +01:00
Jermolene
d08a2d109f Fix html parser tests 2014-04-17 14:43:24 +01:00
Jermolene
6ed38389b0 Update test for previous commit
Test should have been updated with
dad60cda05
2014-04-15 08:28:47 +01:00
Jermolene
6f1e8ee3a1 Missed adjustments of wikitext tests
The commit 4d91a7762e broke the test
2014-04-09 11:54:03 +01:00
Jermolene
b7f674c51a First pass at refactoring filter execution
This is the beginning of addressing #523.
2014-04-03 20:49:16 +01:00
Jermolene
06500e5f71 New error message text for recursive transclusion error 2014-03-17 11:54:41 +00:00
Jermolene
9de17aa206 Make shadowTiddlers, pluginTiddlers and pluginInfo be private to the Wiki object constructor 2014-03-17 10:50:18 +00:00
Jermolene
0d18f3cc5d Add support for ordering tags by the 'list-before' and 'list-after' fields
See the discussion here:

https://groups.google.com/d/topic/tiddlywikidev/AXDJEjcAphs/discussion
2014-03-12 14:19:26 +00:00
Jermolene
9ded88105b Update test of tagging filter to reflect 0d7c4ae6c7 2014-03-11 15:53:41 +00:00
Jermolene
12e153ecff Update wikitext tests to reflect title attribute 2014-03-10 18:41:26 +00:00
Jermolene
06a0d21734 Use double linebreaks to indicate content of a widget or html element should be parsed in block mode
Fixes #82.

The old behaviour was to parse the content of a widget or html element
in block mode if the opening tag was followed by a line break. The new
behaviour requires two line breaks.

This makes it possible to include linebreaks more liberally within
wikitext, although care must still be taken to only use double line
breaks when the block mode behaviour is desired.

The code change here is very simple, just a single line change in
html.js. Most of the other changes are to convert various single line
breaks into double line breaks.
2014-02-20 21:42:31 +00:00
Simon Baird
6ed8a7624d Also fix timezone related eachday test failure
In some timezones, (eg GMT+6) the modified timestamps for the
'TiddlerOne' and 'Tiddler Three' test tiddlers were actually on
the same day. This was causing the 'eachday' filter test to fail.

Similar to the fix in commit 8487221, this just adjusts the
timestamp to ensure the test passes in any timezone.
2014-01-31 00:56:25 +10:00
Simon Baird
8487221654 Fix timezone related sameday filter test failure
In certain timezones, 201304151312 UTC is not actually the same day
as 201304152219 any 201304151756. This was causing the test for the
'sameday' filter operator to fail. (I'm in GMT+10).

This is a quick-fix. I've just adjusted the timestamps to be close
together so they will be same day no matter what timezone you're in.
2014-01-30 18:24:05 +10:00
Jermolene
02d3861d7d Tests for the new filter operators 2014-01-25 17:44:14 +00:00
Jermolene
8d37219545 Add some tests 2014-01-24 19:15:34 +00:00
Jermolene
2c790d982f Switch to using $tw.fakeDocument for the fakedom document object
So that we can free us `$tw.document` to be the actual DOM document
2014-01-15 14:57:35 +00:00
Jermolene
b3ad61ce20 Add a failing test for @Skeeve's upcoming #307 2013-12-30 11:45:18 +00:00
Jermolene
6a8feb216a Add parser rule for hard linebreaks 2013-12-14 17:05:57 +00:00
Jermolene
f380d4b27d Change macro attributes to not wikify their content
One consequence of wikifying macro attributes before use was that we
couldn’t have tiddler titles with wikitext syntax in, which was
definitely a problem.
2013-11-22 20:02:44 +00:00
Jermolene
3b35d7dfe4 Fixed problem with greedy regexp for macrocalls
It was preventing this from working:

```
<<macro>><<bacrp>><<sdf>><<qweqwe>>
```
2013-11-17 21:53:12 +00:00
Jermolene
939ad11eae Rename the 'setvariable' widget to 'set'
Sleeker.
2013-11-15 18:31:39 +00:00
Jermolene
874bd7b2b8 Tweaks tests
This was the only place we were using the `variables` option to the
widget constructor.
2013-11-13 21:26:13 +00:00
Jeremy Ruston
cc0011abd3 Get rid of the "new_" prefix we had on some methods
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
b7cb1d3391 Change new_widget to widget
I was avoiding doing this until after the merge.
2013-11-08 08:47:00 +00:00
Jeremy Ruston
0b1f0a5fab Refactor the list widget to get rid of some hacks
As promised.
2013-11-02 10:12:55 +00:00
Jeremy Ruston
2bc06fd255 Removed feral console.log 2013-11-01 16:03:37 +00:00
Jeremy Ruston
88dd798f2b Test for transcluding tiddler title containing spaces 2013-10-31 12:37:47 +00:00
Jeremy Ruston
9e3618bdcf Rename the 'title' attributes of various widgets to 'tiddler'
The change is to avoid confusion with the HTML 'title' attribute. The
name 'tiddler' better emphasises the purpose of the attribute, too.
2013-10-30 13:36:44 +00:00
Jeremy Ruston
b4da65d1c9 Update fakedom to no longer add a newline after opening tags
The newline was being rendered within `<code>` elements.
2013-10-29 14:52:12 +00:00
Jeremy Ruston
bf48e6f8a1 Rename tiddlerTitle variable to currentTiddler 2013-10-28 23:40:45 +00:00
Jeremy Ruston
20f03de712 The big purge of the old widget mechanism
Getting rid of the old widget mechanism files finally gives us a payoff
for all the refactoring. Still a bit of tidying up to do, and we need
to re-introduce the animation mechanisms.
2013-10-27 22:55:36 +00:00
Jeremy Ruston
e2b8249a1b Fix problem with findNextSibling() 2013-10-21 22:27:12 +01:00
Jeremy Ruston
3f151ba70e Add support for macro modules
Now JavaScript macros can be defined in "macro" modules
2013-10-17 16:57:07 +01:00
Jeremy Ruston
b0503cf709 Fixes to make SVG and MathML elements work properly 2013-10-13 20:14:31 +01:00
Jeremy Ruston
ed35d91be6 Initial Commit
Carried over from the abortive pull request #169
2013-10-12 17:05:13 +01:00
David Johnston
154d5f316b Added test for !limit (not limit)
Added test for !limit (not limit) to ensure bug change works
2013-10-01 11:27:26 +01:00
David Johnston
904a079432 Variable name corrected. 2013-09-22 21:17:46 +01:00
David Johnston
8127662f77 Tests added for the Next and Previous Filters. 2013-09-22 10:02:40 +01:00
Jeremy Ruston
f0d459c5c5 Fix expected test results for eachday filter operator
The tiddler "a fourth tiddler" doesn't have a modified date, and so
shouldn't appear
2013-09-21 10:07:49 +01:00
Jeremy Ruston
4fb6836481 Add an untagged filter operator and sidebar tab 2013-09-14 16:28:46 +01:00
Jeremy Ruston
a9a2ae2223 Add sorting by tiddler lists
The tag and tagging filters now sort their results by the list field of
the tag, if present
2013-08-08 17:39:34 +01:00
Jeremy Ruston
83ea953a1d Switch the story list over to using the new list field 2013-08-07 17:54:27 +01:00
Jeremy Ruston
87fa4db89b Update tests for the new list field
First step is to add a tiddler with a list field
2013-08-07 16:06:46 +01:00
Jeremy Ruston
ce488e8a3b Separate the wikitext parser tests into their own file 2013-07-03 16:01:01 +01:00
Jeremy Ruston
d93e6b1229 Always default to a href='#title' format for tiddler links
The link format will be overridden when we're creating links within
static HTML representations
2013-06-27 09:03:59 +01:00
Jeremy Ruston
12b471b8fb Extend the HTML rendering mechanism to support attributes specified as macro invocations 2013-06-18 15:37:19 +01:00
Jeremy Ruston
18f8b7266e Refactor the HTML element parser
The purpose is to allow attributes to be specified as macro
invocations. For example `<div myattr=<<mymacro param1 param3>>>`. The
parser needed sprucing up in order to copy with the nesting of angle
brackets. The refactoring has been done with an eye on using the same
technique in the filter expression parser (which is pretty messy at the
moment -- it throws exceptions for syntax errors, which is bad). Later
I'm hoping to extend the technique to create a more flexible table
parser.
2013-06-15 15:12:05 +01:00
Jeremy Ruston
3fb1c2a2e4 Some tests for the HTML tag parser
Getting ready for some improvements
2013-06-10 21:07:42 +01:00
Jeremy Ruston
bf4216f3ac Don't count references to shadow tiddlers as missing tiddlers 2013-05-31 17:53:11 +01:00
Jeremy Ruston
5d43040663 Tests for the new filter operators 2013-05-27 17:59:47 +01:00
Jeremy Ruston
0cf5dc699e Refactor the filter mechanism
Long overdue rewrite to make it simpler, and break the filter operators
out into individual modules.
2013-05-25 17:26:22 +01:00
Jeremy Ruston
44a7810619 Improve test spec descriptions 2013-04-26 10:53:31 +01:00
Jeremy Ruston
5f25bcb846 Starting proper tests 2013-04-25 17:40:30 +01:00
Jeremy Ruston
94c7a4fc39 Add a test edition and associated script 2013-04-25 09:06:41 +01:00