Fix undefined behaviour for pages with numbers as title (e.g 7)#52
Fix undefined behaviour for pages with numbers as title (e.g 7)#52phiph-s wants to merge 4 commits intodopecodez:masterfrom
Conversation
|
Accidentally added a version change to the pull request... My bad |
|
I saw in the Tests that you actually test against strings as IDs. If the behavior is wanted like this, I would at least consider adding parameters to the query that define whether the string should be treated as ID or title. |
|
Its a very interesting point @phiph-s - apologies for the late reply i was travelling last week. You are correct in saying that currently we do consider numbers as ids particularly. Your MR makes sense to me but i think we need some more test cases. I will work on the same in the coming weekend if you are busy with something else. Thanks for the MR @phiph-s |
|
I'm currently quite limited in time, but maybe I'm able to write some test cases. |
When requesting the page "23", it is expected to receive this page: https://en.wikipedia.org/wiki/23
Expected behavior:
wiki.page("23") -> https://en.wikipedia.org/wiki/23wiki.page(23) -> https://en.wikipedia.org/wiki/Assistive_technologyActual behavior:
wiki.page("23") -> https://en.wikipedia.org/wiki/Assistive_technology(which has ID 23)wiki.page(23) -> https://en.wikipedia.org/wiki/Assistive_technologySo there is no way to get the page for the number 23 or for example years like 1939, sine they will be treated as IDs.
It is checked whether an ID or a Title is given by
isNaN(title)in utils.ts, the String "7" will be handled like a page ID.Instead check the actual type of what the function receives:
return typeof title === 'string' || title instanceof String;New behavior:
wiki.page("23") -> https://en.wikipedia.org/wiki/23wiki.page(23) -> https://en.wikipedia.org/wiki/Assistive_technology-> Supply a number, get a page by ID, supply a string, get the page by title