Difference between revisions of "Template:Links to/testcases"

From blackwiki
Jump to navigation Jump to search
imported>Cpiral
(→‎top: finish external-links-style table and recording observations (mw:extension:linksearch is deprecated))
imported>Cpiral
(→‎top: theory shows 10 ways to match ways URL-styled internall links could be made. That's a lot to ask users. Insource has no OR.)
Line 1: Line 1:
{{Testcases notice <!--|toc=on-->}}
+
{{ Testcases notice <!--|toc=on-->}}
  
 
Each test says "On behalf of the parent page (namespace:basename, Template:Linksto),  
 
Each test says "On behalf of the parent page (namespace:basename, Template:Linksto),  
Line 9: Line 9:
 
Required links, or patterns that simulate links, linksto on this page to work:  
 
Required links, or patterns that simulate links, linksto on this page to work:  
 
:*[[../sandbox]]  simulates linksto mechanism for wikilinks
 
:*[[../sandbox]]  simulates linksto mechanism for wikilinks
:*<kbd>{<nowiki/>{Section link|Template:Linksto|Purposes}}</kbd> (for testing purposes:)
+
:*<kbd>{<nowiki/>{ Section link|Template:Linksto|See also }}</kbd>  
:*{{section link|Template:Linksto/doc|Purpose}}  
+
:*{{ section link | Template:Linksto/doc | See also }}  
:*[[../doc#Purpose]] (linksto only finds wikilinks, nothing else)
+
:*[[ ../doc#See also ]] (linksto only finds wikilinks, nothing else)
:*[[../]] (linksto only finds wikilinks, nothing else)
+
:*[[ ../ ]] (linksto only finds wikilinks, nothing else)
 
#Section link Template:Linksto Question [../|sublinks]]?   
 
#Section link Template:Linksto Question [../|sublinks]]?   
 
#Section link Template:Linksto Question "''tick''" marks?  
 
#Section link Template:Linksto Question "''tick''" marks?  
Line 23: Line 23:
 
#Section link Template:Linksto THis "has"/all the_issues
 
#Section link Template:Linksto THis "has"/all the_issues
  
{|class=wikitable
+
{| class=wikitable
|+ Patterns of external-style links to [[../doc#Purpose]].
+
|+ URL-styled links to [[../doc#See also]]
! Unfolding text patterns. Use to make regex.
+
! What they write.
! Notes
+
! How we match.
  
 
|-
 
|-
|{{canonicalurl:Template:Linksto/doc#Purpose}}<br/>
+
| {{ canonicalurl: template:linksto/doc#See also }} <br/>
{<nowiki/>{canonicalurl:Template:Linksto/doc#Purpose}}
+
{<nowiki/>{ canonicalurl: Template:Linksto/doc#See also }}
| Works without [square brackets]
+
| insource:"canonicalurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/
 +
insource:"canonicalurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/
  
 
|-
 
|-
|[{{canonicalurl:Template:Linksto/doc#Purpose}}] <br/>
+
| [{{ fullurl: template:linksto/doc#See also }}] <br/>
[{<nowiki/>{canonicalurl:Template:Linksto/doc#Purpose}}]
+
&#91;{{ fullurl: Template:linksto/doc#See also }}] <br/>
| Canonicalurl works with or without square brackets.
+
&#91;{<nowiki/>{ fullurl: Template:linksto/doc#See also }}]  
 +
| insource:"https fullurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/
 +
insource:"fullurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}]"/
  
 
|-
 
|-
| [{{fullurl:Template:linksto/doc#Purpose}}]<br/>
+
| [//en.wikipedia.org/wiki/template:linksto/doc#See_also] <br/>
&#91;{<nowiki/>{fullurl:Template:linksto/doc#Purpose}}] &rarr;<br/>
+
[<nowiki/>/<nowiki/>/en.wikipedia.org/wiki/template:<mark>l</mark>inksto/doc#See_also]
&#91;{{fullurl:Template:linksto/doc#Purpose}}]
+
| insource:"https {{SERVER}} wiki {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/ <br/>
| {{fullurl:Template:linksto/doc#Purpose}} <br/>
+
insource:"https {{ SERVER }}{{ localurl: {{{2}}} }} {{{1}}}" insource:/"#{{{1}}}"/ <br/>
Does not work without square brackets
+
insource:"{{SERVER}} wiki {{{2}}} {{{1}}}" insource:/"#{{{1}}}]"/ <br/>
 +
insource:"{{ SERVER }}{{ localurl: {{{2}}} }} {{{1}}}" insource:/"#{{{1}}}]"/
  
 
|-
 
|-
|[https://en.wikipedia.org/wiki/template:linksto/doc#Purpose]<br/>
+
| https:{{SERVER}}{{localurl:template:linksto/doc}}#{{anchorencode:See also}} <br/>
[<nowiki/>https:/<nowiki/>/en.wikipedia.org/wiki/template:linksto/doc#Purpose]
+
https:{<nowiki/>{SERVER}}{<nowiki/>{localurl:template:linksto/doc}}#{<nowiki/>{anchorencode:See also}}
| Hand typed, with lower-case first letter of namespace and pagename
+
| insource:"server localurl {{{2}}} anchorencode {{{1}}}" insource:/"#{{{1}}}]"/ <br/>
 
+
insource:"https server localurl {{{2}}} anchorencode {{{1}}}" insource:/"#{{{1}}}"/  
|-
 
| [//en.wikipedia.org/wiki/template:linksto/doc#Purpose]<br/>
 
[/<nowiki/>/en.wikipedia.org/wiki/template:linksto/doc#Purpose]
 
| Hand typed, with lower-case first letter of namespace and pagename
 
 
 
|-
 
| [{{fullurl:{{urlencode:Template:linksto/doc#Purpose}}}}] <br/>
 
&#91;{<nowiki/>{fullurl:{<nowiki/>{urlencode:Template:linksto/doc#Purpose}}}}] &rarr; <br/>
 
&#91;{{fullurl:{{urlencode:Template:linksto/doc#Purpose}}}}]
 
| Urlencode could be placed elsewhere.
 
 
 
|-
 
| [{{fullurl:Template:linksto{{urlencode:/doc#Purpose}}}}] <br/>
 
[{<nowiki/>{fullurl:Template:linksto{<nowiki/>{urlencode:/doc#Purpose}}}}] <br/>
 
[<nowiki/>{{fullurl:Template:linksto{{urlencode:/doc#Purpose}}}}]
 
| Urlencode placed to start with the slash / char
 
  
 
|}
 
|}
  
 
Regex pattern matching observations for the external-style links:
 
Regex pattern matching observations for the external-style links:
* <code>{{Urlencode</code> can go in various places and still work.
+
* {{ sl|template:insource:Urlencode|<code>Urlencode</code> is used}} for parameters in URL queries, not internal URL-styled links.
* <code>{{Localurl</code> and <code>{{anchorencode</code> are not in question: they will not work with the number # sign.
+
* <code>{{ Localurl</code> and <code>{{ anchorencode</code> are used in tandem with SERVER.
* <code>{{Fullurl:fullpagename|param</code> with parameters is not in question, I mean... look at it: {{fullurl:fullpagename|param}}
+
* <code>https:{{fullurl</code> or <code>https:{{SERVER</code> could be used instead of <code>[{{fullurl</code> or <code>[{{SERVER</code>
* <code>{{canonicalurl</code> does not need [brackets], but could have them [{{canonicalurl:{{FULLPAGENAME}}}}
+
* <code>{{ canonicalurl</code> does not need [brackets], but could have them [{{ canonicalurl: {{ FULLPAGENAME}} }}
* <code>{{fullurl</code> must be <code>[{{fullurl]</code> not <code>[ {{fullurl ]</code> with spaces
+
* <code>{{ fullurl</code> must be <code>[{{ fullurl]</code> not <code>[ {{ fullurl ]</code> with spaces
* Match the template, or the hand-typed intermediate form.  Hand-typed ones work with [Pp]agename the first letter.
 
  
 
== [[Template:{{TEMPLATENAME|testcases}}/sandbox|Sandbox version]] ==
 
== [[Template:{{TEMPLATENAME|testcases}}/sandbox|Sandbox version]] ==

Revision as of 12:13, 11 December 2015

Each test says "On behalf of the parent page (namespace:basename, Template:Linksto), what links to section X"? There is no section X at Template:Linksto, but the query only ever looks for the pattern #X. It relies on the high probability that if a page is found to link "here" and it has also one of my section names, and preceded by a # sign, it probably does.

Required links, or patterns that simulate links, linksto on this page to work:

  1. Section link Template:Linksto Question [../|sublinks]]?
  2. Section link Template:Linksto Question "tick" marks?
  3. Section link Template:Linksto THis has/all/ the issues
  4. Section link Template:Linksto THis has" all the issues
  5. Section link Template:Linksto THis has all the_issues
  6. Section link Template:Linksto THis_has_all_the_issues
  7. Section link Template:Linksto THis has/all the issues
  8. Section link Template:Linksto THis "has" all the issues
  9. Section link Template:Linksto THis "has"/all the_issues
URL-styled links to Template:Links to/doc#See also
What they write. How we match.
https://blackwiki.org/index.php?title=Template:Linksto/doc#See_also

{{ canonicalurl: Template:Linksto/doc#See also }}

insource:"canonicalurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/

insource:"canonicalurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/

[1]

[https://blackwiki.org/index.php?title=Template:Linksto/doc#See_also]
[{{ fullurl: Template:linksto/doc#See also }}]

insource:"https fullurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/

insource:"fullurl {{{2}}} {{{1}}}" insource:/"#{{{1}}}]"/

[2]

[//en.wikipedia.org/wiki/template:linksto/doc#See_also]

insource:"https https://blackwiki.org wiki {{{2}}} {{{1}}}" insource:/"#{{{1}}}"/

insource:"https https://blackwiki.org{{ localurl: {{{2}}} }} {{{1}}}" insource:/"#{{{1}}}"/
insource:"https://blackwiki.org wiki {{{2}}} {{{1}}}" insource:/"#{{{1}}}]"/
insource:"https://blackwiki.org{{ localurl: {{{2}}} }} {{{1}}}" insource:/"#{{{1}}}]"/

https:https://blackwiki.org/index.php?title=Template:Linksto/doc#See_also

https:{{SERVER}}{{localurl:template:linksto/doc}}#{{anchorencode:See also}}

insource:"server localurl {{{2}}} anchorencode {{{1}}}" insource:/"#{{{1}}}]"/

insource:"https server localurl {{{2}}} anchorencode {{{1}}}" insource:/"#{{{1}}}"/

Regex pattern matching observations for the external-style links:

  • Template:Sl for parameters in URL queries, not internal URL-styled links.
  • {{ Localurl and {{ anchorencode are used in tandem with SERVER.
  • https:{{fullurl or https:{{SERVER could be used instead of [{{fullurl or [{{SERVER
  • {{ canonicalurl does not need [brackets], but could have them [https://blackwiki.org/index.php?title=Template:Links_to/testcases
  • {{ fullurl must be [{{ fullurl] not [ {{ fullurl ] with spaces

Sandbox version

Via {{Section link}}: success means this page shows up in the search link.


Via [[fullpagename#section name]]:
Success means that the search link highlights the match corresponds to the simulated section link. The number signs (that make the ordered list) satisfy the regexp that simulates linksto mechanism.

  1. THis "has"/all the_issues Template:Links to#THis "has"/all the issues:  Template:Plain link · Template:Plain link
  1. THis "has" all the issues Template:Links to#THis "has" all the issues:  Template:Plain link · Template:Plain link
  1. THis has/all the issues Template:Links to#THis has/all the issues:  Template:Plain link · Template:Plain link
  1. THis_has_all_the_issues Template:Links to#THis has all the issues:  Template:Plain link · Template:Plain link
  1. THis has all the_issues Template:Links to#THis has all the issues:  Template:Plain link · Template:Plain link
  1. THis has" all the issues Template:Links to#THis has" all the issues:  Template:Plain link · Template:Plain link
  1. THis has/all/ the issues Template:Links to#THis has/all/ the issues:  Template:Plain link · Template:Plain link
  1. Question "tick" marks? Template:Links to#Question "tick" marks?:  Template:Plain link · Template:Plain link
  1. Question [../|sublinks]]? Template:Links to#Question [../|sublinks]]?:  Template:Plain link · Template:Plain link


Main template

Linksto template has two parts:

  1. linksto part links to a fullpagename, in this case Template:Links to.
  2. regex part links to the following patterns (# char required).

Via {{Section link}}: success means this page shows up in the search link


Via wikilink: The number signs (that make the ordered list) satisfy the regexp.

  1. THis "has"/all the_issues Template:Links to#THis "has"/all the issues:  Template:Plain link · Template:Plain link
  1. THis "has" all the issues Template:Links to#THis "has" all the issues:  Template:Plain link · Template:Plain link
  1. THis has/all the issues Template:Links to#THis has/all the issues:  Template:Plain link · Template:Plain link
  1. THis_has_all_the_issues Template:Links to#THis has all the issues:  Template:Plain link · Template:Plain link
  1. THis has all the_issues Template:Links to#THis has all the issues:  Template:Plain link · Template:Plain link
  1. THis has" all the issues Template:Links to#THis has" all the issues:  Template:Plain link · Template:Plain link
  1. THis has/all/ the issues Template:Links to#THis has/all/ the issues:  Template:Plain link · Template:Plain link
  1. Question "tick" marks? Template:Links to#Question "tick" marks?:  Template:Plain link · Template:Plain link
  1. Question [../|sublinks]]? Template:Links to#Question [../|sublinks]]?:  Template:Plain link · Template:Plain link


Together the above link to the basepagename plus the pattern, simulate the success mechanism. Success means activating the search link and seeing corresponding, highlighted, pattern match.