Test the Link Alias syntax.
Aliases to links can be created using the [[tag][link]] syntax.The tag is interpreted for markup syntax, so it can be italic, or bold, or an image, etc. The link can be a relative or global wiki word, or it can be an http link.
Test relative link alias
- First create two sub pages. One has a relative link to the other.
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| SomePage.TargetPage | target page | true | |
| SomePage.LinkPage | [[tag][TargetPage]] | true | |
- Then get the page with the relative link on it.
| Response Requester. | |
| uri | valid? |
| SomePage.LinkPage | true |
- Then make sure the relative link is properly constructed.
| Response Examiner. | |||
| type | pattern | matches? | value |
| contents | <a href="SomePage.TargetPage">tag</a> | true | |
Test global link alias
- First create a sub page that has a global reference to another sub page.
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| SomePage.GlobalLinkPage | [[tag][.SomePage.TargetPage]] | true | |
- Then fetch that page.
| Response Requester. | |
| uri | valid? |
| SomePage.GlobalLinkPage | true |
- Make sure the link is properly formed.
| Response Examiner. | |||
| type | pattern | matches? | value |
| contents | <a href="SomePage.TargetPage">tag</a> | true | |
Test variables get rendered in http link alias
- First create a page with a variable and http link on it.
| script | |
| start | Page Builder |
| line | !define HOST {localhost:8080} |
| line | [[tag][http://${HOST}/page]] works fine. |
| page | HttpLinkPage |
- Fetch the page.
| Response Requester. | |
| uri | valid? |
| HttpLinkPage | true |
- Make sure the link is properly constructed.
| Response Examiner. | |||
| type | pattern | matches? | value |
| contents | <a href="http://localhost:8080/page">tag</a> works fine. | true | |
Test variables defined in parent page get rendered in http link alias on child pages
- First define parent page with variable definition and child page with a http link which uses the variable.
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| SomePage.ParentPage | !define HOST {localhost:8080} | true | |
| SomePage.ParentPage.ChildPage | [[tag][http://${HOST}/page]] works fine. | true | |
- Fetch the page.
| Response Requester. | |
| uri | valid? |
| SomePage.ParentPage.ChildPage | true |
- Make sure the link is properly constructed.
| Response Examiner. | |||
| type | pattern | matches? | value |
| contents | <a href="http://localhost:8080/page">tag</a> works fine. | true | |
Test expressions without variables in link alias
- Create pages to refer to
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| PageLink2 | contents | true | |
| PageLink4 | contents | true | |
| PageLink10 | contents | true | |
- First create a page with a variables and http link on it.
| script | |
| start | Page Builder |
| line | !define X {5} |
| line | !define Y (4) |
| line | !define EXPR (${=3+2-1=}) |
| line | [[tag][PageLink${= 3 - 2 + 1 =}]] works fine. |
| line | [[tag][PageLink${EXPR}]] works too. |
| line | [[tag][PageLink${=${X}+${Y}+1=}]] works as well. |
| page | HttpExprPage |
- Fetch the page.
| Response Requester. | ||
| uri | valid? | contents? |
| HttpExprPage | true | |
- Make sure the link is properly constructed.
| Response Examiner. | ||
| type | pattern | matches? |
| contents | <a href="PageLink2">tag</a> works fine. | true |
| contents | <a href="PageLink4">tag</a> works too. | true |
| contents | <a href="PageLink10">tag</a> works as well. | true |
Test that links with query strings and fragments are handled properly.
- Create a page hierarchy
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| QueryPageRoot | !anchor QPLabel | true | |
| QueryPageRoot.TopPage | !anchor QPTopLabel | true | |
- Create a page of query and fragment links...and a child
| script | |
| start | Page Builder |
| line | [[tag1 ][TopPage?edit]] has query. |
| line | [[tag2 ][TopPage?edit#QPTopLabel]] has query and frag. |
| line | [[tag3 ][TopPage#QPTopLabel]] has fragment. |
| line | [[tag4 ][ |
| line | [[tag5 ][.QueryPageRoot.TopPage?edit]] root has query. |
| line | [[tag6 ][ |
| line | [[tag7 ][ |
| line | [[tag8 ][>ChildFrag?edit]] child has query. |
| line | [[tag9 ][>ChildFrag?edit#QPTopLabel]] child has query and frag. |
| line | [[tag10][>ChildFrag#QPTopLabel]] child has fragment. |
| page | QueryPageRoot.QueryFragmentLinks |
| Page creator. | |||
| Page name. | Page contents. | Page attributes. | valid? |
| QueryPageRoot.QueryFragmentLinks.ChildFrag | !anchor QPChild | true | |
- Fetch the page.
| Response Requester. | ||
| uri | valid? | contents? |
| QueryPageRoot.QueryFragmentLinks | true | |
- Make sure the query and fragments don't interfere with page paths.
| Response Examiner. | ||
| type | pattern | matches? |
| contents | <a href="QueryPageRoot\.TopPage\?edit">tag1 </a> has query. | true |
| contents | <a href="QueryPageRoot\.TopPage\?edit#QPTopLabel">tag2 </a> has query and frag. | true |
| contents | <a href="QueryPageRoot\.TopPage#QPTopLabel">tag3 </a> has fragment. | true |
| contents | <a href="QueryPageRoot\.TopPage\?edit">tag4 </a> back has query. | true |
| contents | <a href="QueryPageRoot\.TopPage\?edit">tag5 </a> root has query. | true |
| contents | <a href="QueryPageRoot\.TopPage\?edit#QPTopLabel">tag6 </a> back has query and frag. | true |
| contents | <a href="QueryPageRoot\.TopPage#QPTopLabel">tag7 </a> back has fragment. | true |
| contents | <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag\?edit">tag8 </a> child has query. | true |
| contents | <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag\?edit#QPTopLabel">tag9 </a> child has query and frag. | true |
| contents | <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag#QPTopLabel">tag10</a> child has fragment. | true |