summaryrefslogtreecommitdiffstats
path: root/doc/developer
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-02-18 09:25:10 -0500
committerChristopher Speller <crspeller@gmail.com>2016-02-18 09:25:10 -0500
commita7fae6e62fbddc5565b10995f0eaeaca0af6c818 (patch)
treed34a4bfbf53e52d48cefbd699fbcac1e8032c879 /doc/developer
parent8b9ff64881aae5694f616612f994991b2a3d7c59 (diff)
downloadchat-a7fae6e62fbddc5565b10995f0eaeaca0af6c818.tar.gz
chat-a7fae6e62fbddc5565b10995f0eaeaca0af6c818.tar.bz2
chat-a7fae6e62fbddc5565b10995f0eaeaca0af6c818.zip
Moving tests to /tests and removing /doc folder. Docs are now in seperate repository
Diffstat (limited to 'doc/developer')
-rw-r--r--doc/developer/API-Web-Service.md96
-rw-r--r--doc/developer/API.md47
-rw-r--r--doc/developer/Code-Contribution-Guidelines.md5
-rw-r--r--doc/developer/Setup.md130
-rw-r--r--doc/developer/Style-Guide.md170
-rw-r--r--doc/developer/tests/README.md18
-rw-r--r--doc/developer/tests/test-attachments.md144
-rw-r--r--doc/developer/tests/test-emoticons.md22
-rw-r--r--doc/developer/tests/test-hashtags.md20
-rw-r--r--doc/developer/tests/test-link-preview.md23
-rw-r--r--doc/developer/tests/test-links.md69
-rw-r--r--doc/developer/tests/test-markdown-basics.md151
-rw-r--r--doc/developer/tests/test-markdown-lists.md250
-rw-r--r--doc/developer/tests/test-mentions.md13
-rw-r--r--doc/developer/tests/test-search.md43
-rw-r--r--doc/developer/tests/test-syntax-highlighting.md231
-rw-r--r--doc/developer/tests/test-tables.md80
17 files changed, 0 insertions, 1512 deletions
diff --git a/doc/developer/API-Web-Service.md b/doc/developer/API-Web-Service.md
deleted file mode 100644
index 53ebc869c..000000000
--- a/doc/developer/API-Web-Service.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# Mattermost Web Service API
-
-This provides a basic overview of the Mattermost Web Service API. Drivers interfacing with this API are available in different languages. Current documentation focuses on the transport layer for the API and functional documentation will be developed next.
-
-All examples assume there is a Mattermost instance running at http://localhost:8065.
-
-## Schema
-
-All API access is done through `yourdomain.com/api/v1/`, with all data being sent and received as JSON.
-
-
-## Authentication
-
-The majority of the Mattermost API involves interacting with teams. Therefore, most API methods require authentication as a user. There are two ways to authenticate into a Mattermost system.
-
-##### Session Token
-
-Make an HTTP POST to `yourdomain.com/api/v1/users/login` with a JSON body indicating the `name` of the team, the user's `email` and `password`.
-
-```
-curl -i -d '{"name":"exampleteam","email":"someone@nowhere.com","password":"thisisabadpassword"}' http://localhost:8065/api/v1/users/login
-```
-
-If successful, the response will contain a `Token` header and a User object in the body.
-
-```
-HTTP/1.1 200 OK
-Set-Cookie: MMSID=hyr5dmb1mbb49c44qmx4whniso; Path=/; Max-Age=2592000; HttpOnly
-Token: hyr5dmb1mbb49c44qmx4whniso
-X-Ratelimit-Limit: 10
-X-Ratelimit-Remaining: 9
-X-Ratelimit-Reset: 1
-X-Request-Id: smda55ckcfy89b6tia58shk5fh
-X-Version-Id: developer
-Date: Fri, 11 Sep 2015 13:21:14 GMT
-Content-Length: 657
-Content-Type: application/json; charset=utf-8
-
-{{user object as json}}
-```
-
-Include the `Token` as part of the `Authentication` header on your future API requests with the `Bearer` method.
-
-```
-curl -i -H 'Authorization: Bearer hyr5dmb1mbb49c44qmx4whniso' http://localhost:8065/api/v1/users/me
-```
-
-That's it! You should now be able to access the API as the user you logged in as.
-
-##### OAuth2
-
-Coming soon...
-
-
-## Client Errors
-
-All errors will return an appropriate HTTP response code along with the following JSON body:
-
-```
-{
- "message": "", // the reason for the error
- "detailed_error": "", // some extra details about the error
- "request_id": "", // the ID of the request
- "status_code": 0 // the HTTP status code
-}
-```
-
-
-## Rate Limiting
-
-Whenever you make an HTTP request to the Mattermost API you might notice the following headers included in the response:
-```
-X-Ratelimit-Limit: 10
-X-Ratelimit-Remaining: 9
-X-Ratelimit-Reset: 1441983590
-
-```
-
-These headers are telling you your current rate limit status.
-
-Header | Description
-:--------------------- |:-----------
-X-Ratelimit-Limit | The maximum number of requests you can make per second.
-X-Ratelimit-Remaining | The number of requests remaining in the current window.
-X-Ratelimit-Reset | The remaining UTC epoch seconds before the rate limit resets.
-
-If you exceed your rate limit for a window you will receive the following error in the body of the response:
-```
-HTTP/1.1 429 Too Many Requests
-Date: Tue, 10 Sep 2015 11:20:28 GMT
-X-RateLimit-Limit: 10
-X-RateLimit-Remaining: 0
-X-RateLimit-Reset: 1
-
-limit exceeded
-```
diff --git a/doc/developer/API.md b/doc/developer/API.md
deleted file mode 100644
index 1da1a475b..000000000
--- a/doc/developer/API.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Mattermost APIs
-
-Mattermost APIs let you integrate your favorite tools and services withing your Mattermost experience.
-
-## Slack-compatible Webhooks
-
-To offer an alternative to propreitary SaaS services, Mattermost focuses on being "Slack-compatible, but not Slack limited". That means providing support for developers of Slack applications to easily extend their apps to Mattermost, as well as support and capabilities beyond what Slack offers.
-
-### [Incoming Webhooks](https://github.com/mattermost/platform/blob/master/doc/integrations/webhooks/Incoming-Webhooks.md)
-
-Incoming webhooks allow external applications to post messages into Mattermost channels and private groups by sending a JSON payload via HTTP POST request to a secret Mattermost URL generated specifically for each application.
-
-In addition to supporting Slack's incoming webhook formatting, Mattermost webhooks offer full support of industry-standard markdown formatting, including headings, tables and in-line images.
-
-### [Outgoing Webhooks](https://github.com/mattermost/platform/blob/master/doc/integrations/webhooks/Outgoing-Webhooks.md)
-
-Outgoing webhooks allow external applications to receive webhook events from events happening within Mattermost channels and private groups via JSON payloads via HTTP POST requests sent to incoming webhook URLs defined by your applications.
-
-Over time, Mattermost outgoing webhooks will support not only Slack applications using a compatible format, but also offer optional events and triggers beyond Slack's feature set.
-
-## Mattermost Web Service API
-
-Mattermost offers a Web Service API accessible by Mattermost Drivers, listed below. Initial documentation on the [transport layer for the web service is available](API-Web-Service.md) and functional documentation is under development.
-
-## Mattermost Drivers
-
-Mattermost drivers offer access to the Mattermost web service API in different languages and frameworks.
-
-### [ReactJS Javascript Driver](https://github.com/mattermost/platform/blob/master/web/react/utils/client.jsx)
-
-[client.jsx](https://github.com/mattermost/platform/blob/master/web/react/utils/client.jsx) - This Javascript driver connects with the ReactJS components of Mattermost. The web client does the vast majority of its work by connecting to a RESTful JSON web service. There is a very small amount of processing for error checking and set up that happens on the web server.
-
-### [Golang Driver](https://github.com/mattermost/platform/blob/master/model/client.go)
-
-[client.go](https://github.com/mattermost/platform/blob/master/model/client.go) - This is a RESTful driver connecting with the Golang-based webservice of Mattermost and is used by unit tests.
-
-## Building API Integration
-
-If you're building a deep integration with Mattermost, for example a mobile native client, and there is a driver available to support the programming language you are using, it's best to use the driver available to access the [Mattermost Web Service APIs](API-Web-Service.md).
-
-If no driver is available for the programming language of your choice, you can view the [Golang Driver](https://github.com/mattermost/platform/blob/master/model/client.go) source code to understand how it exercises the Web Service API. You can also learn more by reviewing open source projects that use the Web Service API, like [matterircd](https://github.com/42wim/matterircd).
-
-There are a wide range of [installation guides](http://www.mattermost.org/installation/) for setting up your own Mattermost server on which to develop and test your integrations.
-
-
-
-
diff --git a/doc/developer/Code-Contribution-Guidelines.md b/doc/developer/Code-Contribution-Guidelines.md
deleted file mode 100644
index 18be4aa0b..000000000
--- a/doc/developer/Code-Contribution-Guidelines.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Code Contribution Guidelines
-
-Please see [CONTRIBUTING.md](https://github.com/mattermost/platform/blob/master/CONTRIBUTING.md)
-
-
diff --git a/doc/developer/Setup.md b/doc/developer/Setup.md
deleted file mode 100644
index fd3704545..000000000
--- a/doc/developer/Setup.md
+++ /dev/null
@@ -1,130 +0,0 @@
-Developer Machine Setup
------------------------------
-
-### Mac OS X ###
-
-1. Download and set up Docker Toolbox
- 1. Follow the instructions at http://docs.docker.com/installation/mac/
- 2. Start a new docker host
- `docker-machine create -d virtualbox dev`
- 2. Get the IP address of your docker host
- `docker-machine ip dev`
- 3. Add a line to your /etc/hosts that goes `<Docker IP> dockerhost`
- 4. Run `docker-machine env dev` and copy the export statements to your ~/.bash_profile
-2. Download Go 1.5.1 and Node.js using Homebrew
- 1. Download Homebrew from http://brew.sh/
- 2. `brew install go`
- 3. `brew install node`
-3. Set up your Go workspace
- 1. `mkdir ~/go`
- 2. Add the following to your ~/.bash_profile
- `export GOPATH=$HOME/go`
- `export PATH=$PATH:$GOPATH/bin`
- `ulimit -n 8096`
- If you don't increase the file handle limit you may see some weird build issues with browserify or npm.
- 3. Reload your bash profile
- `source ~/.bash_profile`
-4. Install Compass
- 1. Run `ruby -v` and check the ruby version is 1.8.7 or higher
- 2. `sudo gem install compass`
-5. Download Mattermost
- `cd ~/go`
- `mkdir -p src/github.com/mattermost`
- `cd src/github.com/mattermost`
- `git clone https://github.com/mattermost/platform.git`
- `cd platform`
-6. Run unit tests on Mattermost using `make test` to make sure the installation was successful
-7. If tests passed, you can now run Mattermost using `make run`
-
-Any issues? Please let us know on our forums at: http://forum.mattermost.org
-
-### Ubuntu ###
-
-1. Download Docker
- 1. Follow the instructions at https://docs.docker.com/installation/ubuntulinux/ or use the summary below:
- `sudo apt-get update`
- `sudo apt-get install wget`
- `wget -qO- https://get.docker.com/ | sh`
- `sudo usermod -aG docker <username>`
- `sudo service docker start`
- `newgrp docker`
-2. Set up your dockerhost address
- 1. Edit your /etc/hosts file to include the following line
- `127.0.0.1 dockerhost`
-3. Install build essentials
- 1. `apt-get install build-essential`
-4. Download Go 1.5.1 from http://golang.org/dl/
-5. Set up your Go workspace and add Go to the PATH
- 1. `mkdir ~/go`
- 2. Add the following to your ~/.bashrc
- `export GOPATH=$HOME/go`
- `export PATH=$PATH:$GOPATH/bin`
- `ulimit -n 8096`
- If you don't increase the file handle limit you may see some weird build issues with browserify or npm.
- 3. Reload your bashrc
- `source ~/.bashrc`
-6. Install Node.js
- `curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -`
- `sudo apt-get install -y nodejs`
-7. Install Ruby and Compass
- `apt-get install ruby`
- `apt-get install ruby-dev`
- `gem install compass`
-8. Download Mattermost
- `cd ~/go`
- `mkdir -p src/github.com/mattermost`
- `cd src/github.com/mattermost`
- `git clone https://github.com/mattermost/platform.git`
- `cd platform`
-9. Run unit tests on Mattermost using `make test` to make sure the installation was successful
-10. If tests passed, you can now run Mattermost using `make run`
-
-Any issues? Please let us know on our forums at: http://forum.mattermost.org
-
-### Archlinux ###
-
-1. Install Docker
- 1. `pacman -S docker`
- 2. `gpasswd -a user docker`
- 3. `systemctl enable docker.service`
- 4. `systemctl start docker.service`
- 5. `newgrp docker`
-2. Set up your dockerhost address
- 1. Edit your /etc/hosts file to include the following line
- `127.0.0.1 dockerhost`
-3. Install Go
- 1. `pacman -S go`
-4. Set up your Go workspace and add Go to the PATH
- 1. `mkdir ~/go`
- 2. Add the following to your ~/.bashrc
- 1. `export GOPATH=$HOME/go`
- 2. `export GOROOT=/usr/lib/go`
- 3. `export PATH=$PATH:$GOROOT/bin`
- 3. Reload your bashrc
- `source ~/.bashrc`
-4. Edit /etc/security/limits.conf and add the following lines (replace *username* with your user):
-
- ```
- username soft nofile 8096
- username hard nofile 8096
- ```
-
- You will need to reboot after changing this. If you don't increase the file handle limit you may see some weird build issues with browserify or npm.
-5. Install Node.js
- `pacman -S nodejs npm`
-6. Install Ruby and Compass
- 1. `pacman -S ruby`
- 2. Add executable gems to your path in your ~/.bashrc
-
- `PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"`
- 3. `gem install compass`
-7. Download Mattermost
- `cd ~/go`
- `mkdir -p src/github.com/mattermost`
- `cd src/github.com/mattermost`
- `git clone https://github.com/mattermost/platform.git`
- `cd platform`
-8. Run unit tests on Mattermost using `make test` to make sure the installation was successful
-9. If tests passed, you can now run Mattermost using `make run`
-
-Any issues? Please let us know on our forums at: http://forum.mattermost.org
diff --git a/doc/developer/Style-Guide.md b/doc/developer/Style-Guide.md
deleted file mode 100644
index a06f9e29b..000000000
--- a/doc/developer/Style-Guide.md
+++ /dev/null
@@ -1,170 +0,0 @@
-# Mattermost Style Guide
-
-1. [Go](#go)
-2. [Javascript](#javascript)
-3. [React-JSX](#react-jsx)
-
-
-## Go
-
-All go code must follow the golang official [Style Guide](https://golang.org/doc/effective_go.html)
-
-In addition all code must be run though the official go formatter tool [gofmt](https://golang.org/cmd/gofmt/)
-
-
-## Javascript
-
-Part of the build process is running ESLint. ESLint is the final authority on all style issues. PRs will not be accepted unless there are no errors running ESLint. The ESLint configuration file can be found in: [web/react/.eslintrc](/web/react/.eslintrc)
-
-Instructions on how to use ESLint with your favourite editor can be found here: [http://eslint.org/docs/user-guide/integrations](http://eslint.org/docs/user-guide/integrations)
-
-You can run eslint using the makefile by using `make check`
-
-The following is a subset of what ESLint checks for. ESLint is always the authority.
-
-### Whitespace
-
-- Indentation is four spaces.
-- Use a space before the leading brace.
-- Use one space between the comma and the next argument in a bracketed list. No other space.
-- Use whitespace to make code more readable.
-- Do not use more than one newline to separate code blocks.
-- Do not use a newline as the first line of a function
-
-```javascript
-// Correct
-function myFunction(parm1, parm2) {
- stuff...;
-
- morestuff;
-}
-
-// Incorrect
-function myFunction ( parm1, parm2 ){
- stuff...;
-
-
- morestuff;
-}
-
-```
-
-### Semicolons
-
-- You must use them always.
-
-```javascript
-// Correct
-let x = 1;
-
-// Incorrect
-let x = 1
-```
-
-### Variables
-
-- Declarations must always use var, let or const.
-- Prefer let or const over var.
-- camelCase for all variable names.
-
-```javascript
-// Correct
-let myVariable = 4;
-
-// OK
-var myVariable = 4;
-
-// Incorrect
-myVariable = 4;
-var my_variable = 4;
-```
-
-### Blocks
-
-- Braces must be used on all blocks.
-- Braces must start on the same line as the statement starting the block.
-- Else and else if must be on the same line as the if block closing brace.
-
-```javascript
-// Correct
-if (something) {
- stuff...;
-} else if (otherthing) {
- stuff...;
-}
-
-// Incorrect
-if (something)
-{
- stuff...;
-}
-else
-{
- stuff...;
-}
-
-// Incorrect
-if (something) stuff...;
-if (something)
- stuff...;
-
-```
-
-### Strings
-
-- Use of template strings is preferred instead of concatenation.
-
-```javascript
-// Correct
-function getStr(stuff) {
- return "This is the ${stuff} string";
-}
-
-// Incorrect
-function wrongGetStr(stuff) {
- return "This is the " + stuff + " string";
-}
-```
-
-## React-JSX
-
-Part of the build process is running ESLint. ESLint is the final authority on all style issues. PRs will not be accepted unless there are no errors running ESLint. The ESLint configuration file can be found in: [web/react/.eslintrc](/web/react/.eslintrc)
-
-Instructions on how to use ESLint with your favourite editor can be found here: [http://eslint.org/docs/user-guide/integrations](http://eslint.org/docs/user-guide/integrations)
-
-You can run eslint using the makefile by using `make check`
-
-The following is a subset of what ESLint checks for. ESLint is always the authority.
-
-### General
-
-- Include only one React component per file.
-- Use class \<name\> extends React.Component over React.createClass unless you need mixins
-- Filenames should be the component name.
-
-### Alignment
-
-- Follow alignment styles shown below:
-```xml
-// Correct
-<Tag
- propertyOne="1"
- propertyTwo="2"
->
- <Child />
-</Tag>
-
-// Correct
-<Tag propertyOne="1" />
-```
-
-### Naming
-
-- Property names use camelCase.
-- React component names use CapitalCamelCase.
-- Do not use an underscore for internal methods in a react component.
-
-```xml
-// Correct
-<ReactComponent propertyOne="value" />
-```
diff --git a/doc/developer/tests/README.md b/doc/developer/tests/README.md
deleted file mode 100644
index a7b36f18d..000000000
--- a/doc/developer/tests/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Testing Text Processing
-The text processing tests located in the [doc/developer/tests folder](https://github.com/mattermost/platform/tree/master/doc/developer/tests) are designed for use with the `/loadtest url` command. This command posts the raw contents of a specified .md file in the doc/developer/test folder into Mattermost.
-
-## Turning on /loadtest
-Access the **System Console** from the Main Menu. Under *Service Settings* make sure that *Enable Testing* is set to `true`, then click **Save**. You may also change this setting from `config.json` by setting `”EnableTesting”: true`. Changing this setting requires a server restart to take effect.
-
-## Running the Tests
-In the text input box in Mattermost, type: `/loadtest url [file-name-in-testing-folder].md`. Some examples:
-
-`/loadtest url test-emoticons.md`
-`/loadtest url test-links.md`
-
-#### Notes:
-1. If a test has prerequisites, make sure your Mattermost setup meets the requirements described at the top of the test file.
-2. Some tests are over 4000 characters in length and will render across multiple posts.
-
-## Manual Testing
-It is possible to manually test specific sections of any test, instead of using the /loadtest command. Do this by clicking **Raw** in the header for the file when it’s open in GitHub, then copy and paste any section into Mattermost to post it. Manual testing only supports sections of 4000 characters or less per post.
diff --git a/doc/developer/tests/test-attachments.md b/doc/developer/tests/test-attachments.md
deleted file mode 100644
index 75a2285f8..000000000
--- a/doc/developer/tests/test-attachments.md
+++ /dev/null
@@ -1,144 +0,0 @@
-# Testing Files and Attachments
-This test contains instructions for the core team to manually test common attachment types. All files for testing are stored in the [mm_file_testing](https://www.dropbox.com/sh/i7ft8is5hbhk8ii/AAAyM-WG-X2jiQOgg6-E3MmLa?dl=0) dropbox folder. Follow these instructions:
-
-1. Download the entire [mm_file_testing](https://www.dropbox.com/sh/i7ft8is5hbhk8ii/AAAyM-WG-X2jiQOgg6-E3MmLa?dl=0) folder.
-2. Drag and drop each file type into Mattermost to upload it.
-3. Post the file attachment
-
-**Notes:**
-- All file types should upload and post.
-- Read the expected for details on the behavior of the thumbnail and preview window.
-- The expected behavior of video and audio formats depends on the operating system, browser and plugins. View the permalinks to the Public Test Channel on Pre-Release Core to see the expected cases.
-- If the browser can play the media file, media player controls should appear. If the browser cannot play the file, it should show appear as a regular attachment without the media controls.
-
-
-### Images
-**JPG**
-`Images/JPG.jpg`
-Expected: Scaled thumbnail & preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/bgx3wcd9ppdo7fz9zqokofg7sc)
-
-**PNG**
-`Images/PNG.png`
-Expected: Scaled thumbnail & preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/zra4yhm69j8ij81iy5hw7983qe)
-
-**BMP**
-`Images/BMP.bmp`
-Expected: Scaled thumbnail & preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/1hx7x7t1npn4jqyr5rb1qhbj3h)
-
-**GIF**
-`Images/GIF.gif`
-Expected: Scaled thumbnail & preview window. GIF should auto-play in the preview window.
-[Permalink](https://pre-release.mattermost.com/core/pl/j49fowdkstr57g3ed9bgpfoo5w)
-
-**TIFF**
-`Images/TIFF.tiff`
-Expected: Generic attachment thumbnail & preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/6yad4jydaidr3pc3tihp8n8bge)
-
-**PSD**
-`Images/PSD.psd`
-Expected: Generic attachment thumbnail & preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/4kitwk7pi78c9ck4i98f9xnzoe)
-
-
-### Documents
-
-**PDF Files**
-`Documents/PDF.pdf`
-Expected: Generic PDF thumbnail & preview window.
-[Permalink](https://pre-release.mattermost.com/core/pl/o1dg6menetdszrhyxmtoqjfi8h)
-
-
-**Excel**
-`Documents/Excel.xlsx`
-Expected: Generic Excel thumbnail & preview window.
-[Permalink](https://pre-release.mattermost.com/core/pl/71wwezy3f7drze6ipundscb17y)
-
-
-**PPT**
-`Documents/PPT.pptx`
-Expected: Generic Powerpoint thumbnail & preview window.
-[Permalink](https://pre-release.mattermost.com/core/pl/mx37h4znwb8f5ffuoajusqhiew)
-
-**Word**
-`Documents/Word.docx`
-Expected: Generic Word thumbnail & preview window.
-[Permalink](https://pre-release.mattermost.com/core/pl/d7s76wp6kjdwfp4hgrwpijsnyy)
-
-
-### Videos
-
-**MP4**
-`Videos/MP4.mp4`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/5dx5qx9t9brqfnhohccxjynx7c)
-
-**AVI**
-`Videos/AVI.avi`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/qwn9eiy7j3rkjyruxhcugpogdw)
-
-**MKV**
-`Videos/MKV.mkv`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/tszyjkr1cidhxjgiusa4mde3ja)
-
-**MOV**
-`Videos/MOV.mov`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/ienzppz5i3f7tbt5jiujn8uuir)
-
-**MPG**
-`Videos/MPG.mpg`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/skggdq1hfpritc6c88bi481p5a)
-
-**Webm**
-`Videos/WEBM.webm`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/7h8tysuxgfgsxeht3sbn7e4h6y)
-
-**WMV**
-`Videos/WMV.wmv`
-Expected: Generic video thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/kaom7j7uyjra7bzhrre6qwdrbw)
-
-### Audio
-
-**MP3**
-`Audio/MP3.mp3`
-Expected: Generic audio thumbnail & playable preview window
-[Permalink](https://pre-release.mattermost.com/core/pl/if4gn8dbrjgx8fmqmkukzefyme)
-
-**M4A**
-`Audio/M4a.m4a`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/6c7qsw48ybd88bktgeykodsrrc)
-
-**AAC**
-`Audio/AAC.aac`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/3naoy5pr5tydbk1m6yo1ast9ny)
-
-**FLAC**
-`Audio/FLAC.flac`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/kf4cmy44dfya5efmse7rg43eih)
-
-**OGG**
-`Audio/OGG.ogg`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/dezrcpbxapyexe77rjuzkrp63r)
-
-**WAV**
-`Audio/WAV.wav`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/pdkxx1udepdnbmi9j8kyas5xbh)
-
-**WMA**
-`Audio/WMA.wma`
-Expected: Generic audio thumbnail, view Permalink for preview window behavior. Expected depends on the operating system, browser and plugins.
-[Permalink](https://pre-release.mattermost.com/core/pl/756wrmdd57dcig3m4emypp6i1h)
diff --git a/doc/developer/tests/test-emoticons.md b/doc/developer/tests/test-emoticons.md
deleted file mode 100644
index fc2594d9e..000000000
--- a/doc/developer/tests/test-emoticons.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Emoticon Testing
-Verify that all emoticons render. This test should render in three separate messages since it's ~11000 characters.
-
-### Emoticon - Punctuation
-
-:) :-) ;) ;-) :o :O :-o :-O :] :-] :d :-D x-d x-D :p :-P :@ :( :-( :'( :/ :-/ :s :-s :| :-| :$ :-$ :-x <3 :+1: :-1:
-
-### Emoticons - People
-:bowtie: :smile: :laughing: :blush: :smiley: :relaxed: :smirk: :heart_eyes: :kissing_heart: :kissing_closed_eyes: :flushed: :relieved: :satisfied: :grin: :wink: :stuck_out_tongue_winking_eye: :stuck_out_tongue_closed_eyes: :grinning: :kissing: :kissing_smiling_eyes: :stuck_out_tongue: :sleeping: :worried: :frowning: :anguished: :open_mouth: :grimacing: :confused: :hushed: :expressionless: :unamused: :sweat_smile: :sweat: :disappointed_relieved: :weary: :pensive: :disappointed: :confounded: :fearful: :cold_sweat: :persevere: :cry: :sob: :joy: :astonished: :scream: :neckbeard: :tired_face: :angry: :rage: :triumph: :sleepy: :yum: :mask: :sunglasses: :dizzy_face: :imp: :smiling_imp: :neutral_face: :no_mouth: :innocent: :alien: :yellow_heart: :blue_heart: :purple_heart: :heart: :green_heart: :broken_heart: :heartbeat: :heartpulse: :two_hearts: :revolving_hearts: :cupid: :sparkling_heart: :sparkles: :star: :star2: :dizzy: :boom: :collision: :anger: :exclamation: :question: :grey_exclamation: :grey_question: :zzz: :dash: :sweat_drops: :notes: :musical_note: :fire: :hankey: :poop: :shit: :+1: :thumbsup: :-1: :thumbsdown: :ok_hand: :punch: :facepunch: :fist: :v: :wave: :hand: :raised_hand: :open_hands: :point_up: :point_down: :point_left: :point_right: :raised_hands: :pray: :point_up_2: :clap: :muscle: :metal: :fu: :runner: :running: :couple: :family: :two_men_holding_hands: :two_women_holding_hands: :dancer: :dancers: :ok_woman: :no_good: :information_desk_person: :raising_hand: :bride_with_veil: :person_with_pouting_face: :person_frowning: :bow: :couplekiss: :couple_with_heart: :massage: :haircut: :nail_care: :boy: :girl: :woman: :man: :baby: :older_woman: :older_man: :person_with_blond_hair: :man_with_gua_pi_mao: :man_with_turban: :construction_worker: :cop: :angel: :princess: :smiley_cat: :smile_cat: :heart_eyes_cat: :kissing_cat: :smirk_cat: :scream_cat: :crying_cat_face: :joy_cat: :pouting_cat: :japanese_ogre: :japanese_goblin: :see_no_evil: :hear_no_evil: :speak_no_evil: :guardsman: :skull: :feet: :lips: :kiss: :droplet: :ear: :eyes: :nose: :tongue: :love_letter: :bust_in_silhouette: :busts_in_silhouette: :speech_balloon: :thought_balloon: :feelsgood: :finnadie: :goberserk: :godmode: :hurtrealbad: :rage1: :rage2: :rage3: :rage4: :suspect: :trollface:
-
-### Emoticons - Nature
-:sunny: :umbrella: :cloud: :snowflake: :snowman: :zap: :cyclone: :foggy: :ocean: :cat: :dog: :mouse: :hamster: :rabbit: :wolf: :frog: :tiger: :koala: :bear: :pig: :pig_nose: :cow: :boar: :monkey_face: :monkey: :horse: :racehorse: :camel: :sheep: :elephant: :panda_face: :snake: :bird: :baby_chick: :hatched_chick: :hatching_chick: :chicken: :penguin: :turtle: :bug: :honeybee: :ant: :beetle: :snail: :octopus: :tropical_fish: :fish: :whale: :whale2: :dolphin: :cow2: :ram: :rat: :water_buffalo: :tiger2: :rabbit2: :dragon: :goat: :rooster: :dog2: :pig2: :mouse2: :ox: :dragon_face: :blowfish: :crocodile: :dromedary_camel: :leopard: :cat2: :poodle: :paw_prints: :bouquet: :cherry_blossom: :tulip: :four_leaf_clover: :rose: :sunflower: :hibiscus: :maple_leaf: :leaves: :fallen_leaf: :herb: :mushroom: :cactus: :palm_tree: :evergreen_tree: :deciduous_tree: :chestnut: :seedling: :blossom: :ear_of_rice: :shell: :globe_with_meridians: :sun_with_face: :full_moon_with_face: :new_moon_with_face: :new_moon: :waxing_crescent_moon: :first_quarter_moon: :waxing_gibbous_moon: :full_moon: :waning_gibbous_moon: :last_quarter_moon: :waning_crescent_moon: :last_quarter_moon_with_face: :first_quarter_moon_with_face: :crescent_moon: :earth_africa: :earth_americas: :earth_asia: :volcano: :milky_way: :partly_sunny: :octocat: :squirrel:
-
-### Emoticons - Objects
-:bamboo: :gift_heart: :dolls: :school_satchel: :mortar_board: :flags: :fireworks: :sparkler: :wind_chime: :rice_scene: :jack_o_lantern: :ghost: :santa: :christmas_tree: :gift: :bell: :no_bell: :tanabata_tree: :tada: :confetti_ball: :balloon: :crystal_ball: :cd: :dvd: :floppy_disk: :camera: :video_camera: :movie_camera: :computer: :tv: :iphone: :phone: :telephone: :telephone_receiver: :pager: :fax: :minidisc: :vhs: :sound: :speaker: :mute: :loudspeaker: :mega: :hourglass: :hourglass_flowing_sand: :alarm_clock: :watch: :radio: :satellite: :loop: :mag: :mag_right: :unlock: :lock: :lock_with_ink_pen: :closed_lock_with_key: :key: :bulb: :flashlight: :high_brightness: :low_brightness: :electric_plug: :battery: :calling: :email: :mailbox: :postbox: :bath: :bathtub: :shower: :toilet: :wrench: :nut_and_bolt: :hammer: :seat: :moneybag: :yen: :dollar: :pound: :euro: :credit_card: :money_with_wings: :e-mail: :inbox_tray: :outbox_tray: :envelope: :incoming_envelope: :postal_horn: :mailbox_closed: :mailbox_with_mail: :mailbox_with_no_mail: :package: :door: :smoking: :bomb: :gun: :hocho: :pill: :syringe: :page_facing_up: :page_with_curl: :bookmark_tabs: :bar_chart: :chart_with_upwards_trend: :chart_with_downwards_trend: :scroll: :clipboard: :calendar: :date: :card_index: :file_folder: :open_file_folder: :scissors: :pushpin: :paperclip: :black_nib: :pencil2: :straight_ruler: :triangular_ruler: :closed_book: :green_book: :blue_book: :orange_book: :notebook: :notebook_with_decorative_cover: :ledger: :books: :bookmark: :name_badge: :microscope: :telescope: :newspaper: :football: :basketball: :soccer: :baseball: :tennis: :8ball: :8ball: :rugby_football: :bowling: :golf: :mountain_bicyclist: :bicyclist: :horse_racing: :snowboarder: :swimmer: :surfer: :ski: :spades: :hearts: :clubs: :diamonds: :gem: :ring: :trophy: :musical_score: :musical_keyboard: :violin: :space_invader: :video_game: :black_joker: :flower_playing_cards: :game_die: :dart: :mahjong: :clapper: :memo: :pencil: :book: :art: :microphone: :headphones: :trumpet: :saxophone: :guitar: :shoe: :sandal: :high_heel: :lipstick: :boot: :shirt: :tshirt: :necktie: :womans_clothes: :dress: :running_shirt_with_sash: :jeans: :kimono: :bikini: :ribbon: :tophat: :crown: :womans_hat: :mans_shoe: :closed_umbrella: :briefcase: :handbag: :pouch: :purse: :eyeglasses: :fishing_pole_and_fish: :coffee: :tea: :sake: :baby_bottle: :beer: :beers: :cocktail: :tropical_drink: :wine_glass: :fork_and_knife: :pizza: :hamburger: :fries: :poultry_leg: :meat_on_bone: :spaghetti: :curry: :fried_shrimp: :bento: :sushi: :fish_cake: :rice_ball: :rice_cracker: :rice: :ramen: :stew: :oden: :dango: :egg: :bread: :doughnut: :custard: :icecream: :ice_cream: :shaved_ice: :birthday: :cake: :cookie: :chocolate_bar: :candy: :lollipop: :honey_pot: :apple: :green_apple: :tangerine: :lemon: :cherries: :grapes: :watermelon: :strawberry: :peach: :melon: :banana: :pear: :pineapple: :sweet_potato: :eggplant: :tomato: :corn:
-
-### Emoticons - Places
-
-:house: :house_with_garden: :school: :office: :post_office: :hospital: :bank: :convenience_store: :love_hotel: :hotel: :wedding: :church: :department_store: :european_post_office: :city_sunrise: :city_sunset: :japanese_castle: :european_castle: :tent: :factory: :tokyo_tower: :japan: :mount_fuji: :sunrise_over_mountains: :sunrise: :stars: :statue_of_liberty: :bridge_at_night: :carousel_horse: :rainbow: :ferris_wheel: :fountain: :roller_coaster: :ship: :speedboat: :boat: :sailboat: :rowboat: :anchor: :rocket: :airplane: :helicopter: :steam_locomotive: :tram: :mountain_railway: :bike: :aerial_tramway: :suspension_railway: :mountain_cableway: :tractor: :blue_car: :oncoming_automobile: :car: :red_car: :taxi: :oncoming_taxi: :articulated_lorry: :bus: :oncoming_bus: :rotating_light: :police_car: :oncoming_police_car: :fire_engine: :ambulance: :minibus: :truck: :train: :station: :train2: :bullettrain_front: :bullettrain_side: :light_rail: :monorail: :railway_car: :trolleybus: :ticket: :fuelpump: :vertical_traffic_light: :traffic_light: :warning: :construction: :beginner: :atm: :slot_machine: :busstop: :barber: :hotsprings: :checkered_flag: :crossed_flags: :izakaya_lantern: :moyai: :circus_tent: :performing_arts: :round_pushpin: :triangular_flag_on_post: :jp: :kr: :cn: :us: :fr: :es: :it: :ru: :gb: :uk: :de:
-
-### Emoticons - Symbols
-:one: :two: :three: :four: :five: :six: :seven: :eight: :nine: :keycap_ten: :1234: :zero: :hash: :symbols: :arrow_backward: :arrow_down: :arrow_forward: :arrow_left: :capital_abcd: :abcd: :abc: :arrow_lower_left: :arrow_lower_right: :arrow_right: :arrow_up: :arrow_upper_left: :arrow_upper_right: :arrow_double_down: :arrow_double_up: :arrow_down_small: :arrow_heading_down: :arrow_heading_up: :leftwards_arrow_with_hook: :arrow_right_hook: :left_right_arrow: :arrow_up_down: :arrow_up_small: :arrows_clockwise: :arrows_counterclockwise: :rewind: :fast_forward: :information_source: :ok: :twisted_rightwards_arrows: :repeat: :repeat_one: :new: :top: :up: :cool: :free: :ng: :cinema: :koko: :signal_strength: :u5272: :u5408: :u55b6: :u6307: :u6708: :u6709: :u6e80: :u7121: :u7533: :u7a7a: :u7981: :sa: :restroom: :mens: :womens: :baby_symbol: :no_smoking: :parking: :wheelchair: :metro: :baggage_claim: :accept: :wc: :potable_water: :put_litter_in_its_place: :secret: :congratulations: :m: :passport_control: :left_luggage: :customs: :ideograph_advantage: :cl: :sos: :id: :no_entry_sign: :underage: :no_mobile_phones: :do_not_litter: :non-potable_water: :no_bicycles: :no_pedestrians: :children_crossing: :no_entry: :eight_spoked_asterisk: :sparkle: :eight_pointed_black_star: :heart_decoration: :vs: :vibration_mode: :mobile_phone_off: :chart: :currency_exchange: :aries: :taurus: :gemini: :cancer: :leo: :virgo: :libra: :scorpius: :sagittarius: :capricorn: :aquarius: :pisces: :ophiuchus: :six_pointed_star: :negative_squared_cross_mark: :a: :b: :ab: :o2: :diamond_shape_with_a_dot_inside: :recycle: :end: :back: :on: :soon: :clock1: :clock130: :clock10: :clock1030: :clock11: :clock1130: :clock12: :clock1230: :clock2: :clock230: :clock3: :clock330: :clock4: :clock430: :clock5: :clock530: :clock6: :clock630: :clock7: :clock730: :clock8: :clock830: :clock9: :clock930: :heavy_dollar_sign: :copyright: :registered: :tm: :x: :heavy_exclamation_mark: :bangbang: :interrobang: :o: :heavy_multiplication_x: :heavy_plus_sign: :heavy_minus_sign: :heavy_division_sign: :white_flower: :100: :heavy_check_mark: :ballot_box_with_check: :radio_button: :link: :curly_loop: :wavy_dash: :part_alternation_mark: :trident: :black_small_square: :white_small_square: :black_medium_small_square: :white_medium_small_square: :black_medium_square: :white_medium_square: :black_large_square: :white_large_square: :white_check_mark: :black_square_button: :white_square_button: :black_circle: :white_circle: :red_circle: :large_blue_circle: :large_blue_diamond: :large_orange_diamond: :small_blue_diamond: :small_orange_diamond: :small_red_triangle: :small_red_triangle_down: :shipit:
diff --git a/doc/developer/tests/test-hashtags.md b/doc/developer/tests/test-hashtags.md
deleted file mode 100644
index 0c26042ba..000000000
--- a/doc/developer/tests/test-hashtags.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Hashtag Testing
-
-Hashtags in Mattermosts should render as specified below.
-
-#### These strings should auto-link:
-
-#testing
-#testing123
-#test-test
-#test_test
-#test! (punctuation should be excluded from linking)
-#test1 #test2
-#hüllo
-
-#### These strings should not auto-link:
-
-#123test
-#?test
-#-test
-
diff --git a/doc/developer/tests/test-link-preview.md b/doc/developer/tests/test-link-preview.md
deleted file mode 100644
index 4061bda35..000000000
--- a/doc/developer/tests/test-link-preview.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Link Preview Tests
-
-Link previews should embed previews of the contents of a hyperlink from a message or comment in the center channel directly below the message or comment.
-
-Post location variation:
-
-1. Post as message in center channel with RHS closed (link preview should render under message)
-2. Post as message in center channel with RHS open (link preview should render under message)
-3. Post as comment in RHS (link preview should not render)
-4. View comment in center channel with RHS closed (link preview should render under message)
-5. View comment in center channel with RHS open (link preview should render under message)
-6. Search for post in RHS with link
-
-Post the following links one per message in the above variations:
-
-Twitter Link Preview:
-https://twitter.com/mattermosthq/status/664928489078820865
-
-Vine:
-https://vine.co/v/eDeVgbFrt9L
-
-Wikipedia
-https://en.wikipedia.org/wiki/Princess_Bubblegum
diff --git a/doc/developer/tests/test-links.md b/doc/developer/tests/test-links.md
deleted file mode 100644
index b4a04e439..000000000
--- a/doc/developer/tests/test-links.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Link Testing
-
-Links in Mattermosts should render as specified below.
-
-#### These strings should auto-link:
-
-http://example.com
-https://example.com
-www.example.com
-www.example.com/index
-www.example.com/index.html
-www.example.com/index/sub
-www.example.com/index?params=1
-www.example.com/index?params=1&other=2
-www.example.com/index?params=1;other=2
-http://example.com:8065
-http://www.example.com/_/page
-www.example.com/_/page
-https://en.wikipedia.org/wiki/🐬
-https://en.wikipedia.org/wiki/Rendering_(computer_graphics)
-http://127.0.0.1
-http://192.168.1.1:4040
-http://[::1]:80
-http://[::1]:8065
-https://[::1]:80
-http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80
-http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:8065
-https://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:443
-http://username:password@example.com
-http://username:password@127.0.0.1
-http://username:password@[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80
-test@example.com
-
-#### These strings should not auto-link:
-
-example.com
-readme.md
-http://
-@example.com
-./make-compiled-client.sh
-test.:test
-https://<your-mattermost-url>/signup/gitlab
-
-#### Only the links within these sentences should auto-link:
-
-(http://example.com)
-(test@example.com)
-This is a sentence with a http://example.com in it.
-This is a sentence with a [link](http://example.com) in it.
-This is a sentence with a http://example.com/_/underscore in it.
-This is a sentence with a link (http://example.com) in it.
-This is a sentence with a (https://en.wikipedia.org/wiki/Rendering_(computer_graphics)) in it.
-This is a sentence with a http://192.168.1.1:4040 in it.
-This is a sentence with a https://[::1]:80 in it.
-This is a link to http://example.com.
-
-#### These links should auto-link to the specified location:
-
-[example link](example.com) links to `http://example.com`
-[example.com](example.com) links to `http://example.com`
-[example.com/other](example.com) links to `http://example.com`
-[example.com/other_link](example.com/example) links to `http://example.com/example`
-www.example.com links to `http://www.example.com`
-https://example.com links to `https://example.com` and not `http://example.com`
-https://en.wikipedia.org/wiki/🐬 links to the Wikipedia article on dolphins
-https://en.wikipedia.org/wiki/URLs#Syntax links to the Syntax section of the Wikipedia article on URLs
-test@example.com links to `mailto:test@example.com`
-[email link](mailto:test@example.com) links to `mailto:test@example.com` and not `http://mailto:test@example.com`
-[other link](ts3server://example.com) links to `ts3server://example.com` and not `http://ts3server://example.com`
diff --git a/doc/developer/tests/test-markdown-basics.md b/doc/developer/tests/test-markdown-basics.md
deleted file mode 100644
index cea9a0867..000000000
--- a/doc/developer/tests/test-markdown-basics.md
+++ /dev/null
@@ -1,151 +0,0 @@
-# Basic Markdown Testing
-Tests for text style, code blocks, in-line code and images, lines, block quotes, and headings.
-
-### Text Style
-
-**The following text should render as:**
-_Italics_
-*Italics*
-**Bold**
-***Bold-italics***
-**_Bold-italics_**
-~~Strikethrough~~
-
-This sentence contains **bold**, _italic_, ***bold-italic***, and ~~stikethrough~~ text.
-
-**The following should render as normal text:**
-Normal Text_
-_Normal Text
-_Normal Text*
-
-### Carriage Return
-
-**The following text should render as:**
-Line #1 followed by Line #2
-Line #2 followed by one blank line
-
-Line #3 followed by one blank line
-
-
-Line #4 following one blank line
-
-
-### Code Blocks
-
-```
-This text should render in a code block
-```
-
-**The following markdown should not render:**
-```
-_Italics_
-*Italics*
-**Bold**
-***Bold-italics***
-**Bold-italics_**
-~~Strikethrough~~
-:) :-) ;) ;-) :o :O :-o :-O
-:bamboo: :gift_heart: :dolls: :school_satchel: :mortar_board:
-# Heading 1
-## Heading 2
-### Heading 3
-#### Heading 4
-##### Heading 5
-###### Heading 6
-> Block Quote
-- List
- - List Sub-item
-[Link](http://i.giphy.com/xNrM4cGJ8u3ao.gif)
-[![Github](https://assets-cdn.github.com/favicon.ico)](https://github.com/mattermost/platform)
-| Left-Aligned Text | Center Aligned Text | Right Aligned Text |
-| :------------ |:---------------:| -----:|
-| Left column 1 | this text | $100 |
-```
-
-**The following links should not auto-link or generate previews:**
-```
-GIF: http://i.giphy.com/xNrM4cGJ8u3ao.gif
-Website: https://en.wikipedia.org/wiki/Dolphin
-```
-
-**The following should appear as a carriage return separating two lines of text:**
-```
-Line #1 followed by a blank line
-
-Line #2 following a blank line
-```
-
-### In-line Code
-
-The word `monospace` should render as in-line code.
-
-The following markdown in-line code should not render:
-`_Italics_`, `*Italics*`, `**Bold**`, `***Bold-italics***`, `**Bold-italics_**`, `~~Strikethrough~~`, `:)` , `:-)` , `;)` , `:-O` , `:bamboo:` , `:gift_heart:` , `:dolls:` , `# Heading 1`, `## Heading 2`, `### Heading 3`, `#### Heading 4`, `##### Heading 5`, `###### Heading 6`
-
-This GIF link should not preview: `http://i.giphy.com/xNrM4cGJ8u3ao.gif`
-This link should not auto-link: `https://en.wikipedia.org/wiki/Dolphin`
-
-This sentence with `
-in-line code
-` should appear on one line.
-
-### In-line Images
-
-Mattermost/platform build status: [![Build Status](https://travis-ci.org/mattermost/platform.svg?branch=master)](https://travis-ci.org/mattermost/platform)
-
-GitHub favicon: ![Github](https://assets-cdn.github.com/favicon.ico)
-
-GIF Image:
-![gif](http://i.giphy.com/xNrM4cGJ8u3ao.gif)
-
-4K Wallpaper Image (11Mb):
-![4K Image](http://4kwallpaper.xyz/wallpaper/Large-Galaxy-Lightyears-Space-4K-wallpaper.png)
-
-Panorama Image:
-![Pano](http://amardeepphotography.com/wp-content/uploads/2012/11/Untitled_Panorama6small.jpg)
-
-Tall Portrait Image:
-![Portrait](http://www.maniacworld.com/now-this-is-a-tall-building.jpg)
-
-
-### Lines
-
-Three lines should render with text between them:
-
-Text above line
-
-***
-
-Text between lines
-
----
-
-Text between lines
-___
-
-Text below line
-
-### Block Quotes
-
->This text should render in a block quote.
-
-**The following markdown should render within the block quote:**
-> #### Heading 4
-> _Italics_, *Italics*, **Bold**, ***Bold-italics***, **_Bold-italics_**, ~~Strikethrough~~
-> :) :-) ;) :-O :bamboo: :gift_heart: :dolls:
-
-**The following text should render in two block quotes separated by one line of text:**
-> Block quote 1
-
-Text between block quotes
-
-> Block quote 2
-
-### Headings
-
-# Heading 1 font size
-## Heading 2 font size
-### Heading 3 font size
-#### Heading 4 font size
-##### Heading 5 font size
-###### Heading 6 font size
diff --git a/doc/developer/tests/test-markdown-lists.md b/doc/developer/tests/test-markdown-lists.md
deleted file mode 100644
index 7d080526a..000000000
--- a/doc/developer/tests/test-markdown-lists.md
+++ /dev/null
@@ -1,250 +0,0 @@
-# Markdown List Testing
-Verify that all list types render as expected.
-
-### Single-item Ordered List
-
-**Expected:**
-```
-7. Single Item
-```
-
-**Actual:**
-7. Single Item
-
-### Multi-item Ordered List
-
-**Expected:**
-```
-1. One
-2. Two
-3. Three
-```
-
-**Actual:**
-
-3. One
-2. Two
-1. Three
-
-### Nested Ordered List
-
-**Expected:**
-```
-1. Alpha
- 1. Bravo
-2. Charlie
-3. Delta
- 1. Echo
- 2. Foxtrot
-```
-
-**Actual:**
-
-1. Alpha
- 1. Bravo
-1. Charlie
-1. Delta
- 1. Echo
- 1. Foxtrot
-
-### Single-item Unordered List
-
-**Expected:**
-```
-• Single Item
-```
-
-**Actual:**
-* Single Item
-
-### Multi-item Unordered List
-
-**Expected:**
-```
-• One
-• Two
-• Three
-```
-
-**Actual:**
-* One
-- Two
-+ Three
-
-### Nested Unordered List
-
-**Expected:**
-```
-• Alpha
- • Bravo
-• Charlie
-• Delta
- • Echo
- • Foxtrot
-```
-
-**Actual:**
-+ Alpha
- * Bravo
-- Charlie
-* Delta
- + Echo
- - Foxtrot
-
-### Mixed List Starting Ordered
-
-**Expected:**
-```
-1. One
-2. Two
-3. Three
-```
-
-**Actual:**
-
-1. One
-+ Two
-- Three
-
-### Mixed List Starting Unordered
-
-**Expected:**
-```
-• Monday
-• Tuesday
-• Wednesday
-```
-
-**Actual:**
-+ Monday
-1. Tuesday
-* Wednesday
-
-### Nested Mixed List
-
-**Expected:**
-```
-• Alpha
- 1. Bravo
- • Charlie
- • Delta
-• Echo
-• Foxtrot
- • Golf
- 1. Hotel
- • India
- 1. Juliet
- 2. Kilo
- • Lima
-• Mike
- 1. November
- 1. Oscar
- 1. Papa
-```
-
-**Actual:**
-- Alpha
- 1. Bravo
- * Charlie
- + Delta
-- Echo
-* Foxtrot
- + Golf
- 1. Hotel
- - India
- 2. Juliet
- 3. Kilo
- * Lima
-1. Mike
- 1. November
- 4. Oscar
- 5. Papa
-
-### Ordered Lists Separated by Carriage Returns
-
-**Expected:**
-```
-1. One
- • Two
-
-1. One
-2. Two
-```
-
-**Actual:**
-
-1. One
- - Two
-
-
-1. One
-2. Two
-
-### Carriage Return and New Line After a List
-
-**Expected:**
-```
-1. One
- - Two
-This text should be on a new line.
-```
-
-**Actual:**
-
-1. One
- - Two
-This text should be on a new line.
-
-**Expected:**
-```
-List:
-
-- One
-- Two
-
-This line should have a line break above it.
-```
-
-**Actual:**
-
-List:
-
-- One
-- Two
-
-This line should have a line break above it.
-
-### Task Lists
-
-**Expected:**
-```
-[ ] One
- [ ] Subpoint one
- - Normal Bullet
-[ ] Two
-[x] Completed item
-```
-
-**Actual:**
-
-- [ ] One
- - [ ] Subpoint one
- - Normal Bullet
-- [ ] Two
-- [x] Completed item
-
-### Numbered Task Lists
-
-**Expected:**
-```
-1. [ ] One
-2. [ ] Two
-3. [x] Completed item
-```
-
-**Actual:**
-
-1. [ ] One
-2. [ ] Two
-3. [x] Completed item
-
diff --git a/doc/developer/tests/test-mentions.md b/doc/developer/tests/test-mentions.md
deleted file mode 100644
index 99a47e337..000000000
--- a/doc/developer/tests/test-mentions.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Mentions Testing
-
-To test the following mention functional:
-
-1. Add a user 'alice' to the system
-2. Paste the below text to test if mentions is properly highlighting
-
-
-```
-To run this test, if a user named @alice doesn't yet exist, create one.
-
-I saw @alice--and I said "Hi @alice!" then "What's up @alice?" and then @alice, was totally @alice; she just "@alice"'d me and walked on by. That's @alice...
-```
diff --git a/doc/developer/tests/test-search.md b/doc/developer/tests/test-search.md
deleted file mode 100644
index 0f0ba1153..000000000
--- a/doc/developer/tests/test-search.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Search Testing
-
-### Basic Search Testing
-
-This post is used by the core team to test search. It should be returned for the test cases for search, with proper highlighting in the search results.
-
-**Basic word search:** Hello world!
-**Emoji search:** :strawberry:
-**Accent search:** Crème friache
-**Non-latin search:**
-您好吗
-您好
-**Email search:** person@domain.org
-**Link search:** www.dropbox.com
-**Markdown search:**
-##### Hello
-```
-Hello
-```
-`Hello`
-
-
-### Hashtags:
-
-Click on the linked hashtags below, and confirm that the search results match the linked hashtags. Confirm that the highlighting in the search results is correct.
-
-#### Basic Hashtags
-
-#hello #world
-
-#### Hashtags containing punctuation:
-
-*Note: Make a separate post containing only the word “hashtag”, and confirm the hashtags below do not return the separate post.*
-
-#hashtag #hashtag-dash #hashtag_underscore #hashtag.dot
-
-#### Punctuation following a hashtag:
-
-#colon: #slash/ #backslash\ #percent% #dollar$ #semicolon; #ampersand& #bracket( #bracket) #lessthan< #greaterthan> #dash- #plus+ #equals= #caret^ #hashtag# #asterisk* #verticalbar| #invertedquestion¿ #atsign@ #quote” #apostrophe' #curlybracket{ #curlybracket} #squarebracket[ #squarebracket]
-
-#### Markdown surrounding a hashtag:
-
-*#markdown-hashtag*
diff --git a/doc/developer/tests/test-syntax-highlighting.md b/doc/developer/tests/test-syntax-highlighting.md
deleted file mode 100644
index b1568c385..000000000
--- a/doc/developer/tests/test-syntax-highlighting.md
+++ /dev/null
@@ -1,231 +0,0 @@
-# Code Syntax Highlighting
-
-Verify the following code blocks render as code blocks and highlight properly.
-
-### Diff
-
-``` diff
-*** /path/to/original ''timestamp''
---- /path/to/new ''timestamp''
-***************
-*** 1 ****
-! This is a line.
---- 1 ---
-! This is a replacement line.
-It is important to spell
--removed line
-+new line
-```
-
-### Apache
-
-``` apache
-<VirtualHost *:80>
-DocumentRoot /www/example1
-ServerName www.example.com
-</VirtualHost>
-```
-
-### Makefile
-
-``` makefile
-CC=gcc
-CFLAGS=-I.
-
-hellomake: hellomake.o hellofunc.o
- $(CC) -o hellomake hellomake.o hellofunc.o -I.
-```
-
-### HTTP
-
-``` http
-HTTP/1.1 200 OK
-Date: Sun, 28 Dec 2014 08:56:53 GMT
-Content-Length: 44
-Content-Type: text/html
-
-<html><body><h1>It works!</h1></body></html>
-```
-
-### JSON
-
-``` json
-{"employees":[
- {"firstName":"John", "lastName":"Doe"},
-]}
-```
-
-### Markdown
-
-``` markdown
-**bold**
-*italics*
-[link](www.example.com)
-```
-
-### JavaScript
-
-``` javascript
-document.write('Hello, world!');
-```
-
-### CSS
-
-``` css
-body {
- background-color: red;
-}
-```
-
-### NGINX
-
-``` nginx
-server { # simple reverse-proxy
- listen 80;
- server_name domain2.com www.domain2.com;
- access_log logs/domain2.access.log main;
-```
-
-### Objective C
-
-``` objectivec
-#import <stdio.h>
-
-int main (void)
-{
- printf ("Hello world!\n");
-}
-```
-
-### Python
-
-``` python
-print "Hello, world!"
-```
-
-### XML
-
-``` xml
-<employees>
- <employee>
- <firstName>John</firstName> <lastName>Doe</lastName>
- </employee>
-</employees>
-```
-
-### Perl
-
-``` perl
-print "Hello, World!\n";
-```
-
-### Bash
-
-``` bash
-echo "Hello World"
-```
-
-### PHP
-
-``` php
- <?php echo '<p>Hello World</p>'; ?>
-```
-
-### CoffeeScript
-
-``` coffeescript
-console.log(“Hello world!”);
-```
-
-### C#
-
-``` cs
-using System;
-class Program
-{
- public static void Main(string[] args)
- {
- Console.WriteLine("Hello, world!");
- }
-}
-```
-
-### C++
-
-``` cpp
-#include <iostream.h>
-
-main()
-{
- cout << "Hello World!";
- return 0;
-}
-```
-
-### SQL
-
-``` sql
-SELECT column_name,column_name
-FROM table_name;
-```
-
-### Go
-
-``` go
-package main
-import "fmt"
-func main() {
- fmt.Println("Hello, 世界")
-}
-```
-
-### Ruby
-
-``` ruby
-puts "Hello, world!"
-```
-
-### Java
-
-``` java
-import javax.swing.JFrame; //Importing class JFrame
-import javax.swing.JLabel; //Importing class JLabel
-public class HelloWorld {
- public static void main(String[] args) {
- JFrame frame = new JFrame(); //Creating frame
- frame.setTitle("Hi!"); //Setting title frame
- frame.add(new JLabel("Hello, world!"));//Adding text to frame
- frame.pack(); //Setting size to smallest
- frame.setLocationRelativeTo(null); //Centering frame
- frame.setVisible(true); //Showing frame
- }
-}
-```
-
-### INI
-
-``` ini
-; last modified 1 April 2011 by John Doe
-[owner]
-name=John Doe
-organization=Mattermost
-```
-
-### Latex Equation
-
-``` latex
-\frac{d}{dx}\left( \int_{0}^{x} f(u)\,du\right)=f(x).
-```
-
-### Latex Document
-
-``` latex
-\documentclass{article}
-\begin{document}
-\noindent
-Are $a, b \in \mathbb{R}, then applies (a+b)^{2} = a^{2} + ab + b^{2} $ \\
-better \\
-are $a, b \in \mathbb{R}, \textrm{then applies} \, (a+b)^{2 } = a^{2 } + ab + b^{2}$\\
-\end{document}
-```
-
diff --git a/doc/developer/tests/test-tables.md b/doc/developer/tests/test-tables.md
deleted file mode 100644
index 87d8af856..000000000
--- a/doc/developer/tests/test-tables.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Markdown Tables
-
-Verify that all tables render as described.
-
-### Normal Tables
-
-These tables use different raw text as inputs, but all three should render as the same table.
-
-#### Table 1
-
-Raw text:
-
-```
-First Header | Second Header
-------------- | -------------
-Content Cell | Content Cell
-Content Cell | Content Cell
-```
-
-Renders as:
-
-First Header | Second Header
-------------- | -------------
-Content Cell | Content Cell
-Content Cell | Content Cell
-
-#### Table 2
-
-Raw Text:
-
-```
-| First Header | Second Header |
-| ------------- | ------------- |
-| Content Cell | Content Cell |
-| Content Cell | Content Cell |
-```
-
-Renders as:
-
-| First Header | Second Header |
-| ------------- | ------------- |
-| Content Cell | Content Cell |
-| Content Cell | Content Cell |
-
-#### Table 3
-
-Raw Text:
-
-```
-| First Header | Second Header |
-| ------------- | ----------- |
-| Content Cell | Content Cell|
-| Content Cell | Content Cell |
-```
-
-Renders as:
-
-| First Header | Second Header |
-| ------------- | ----------- |
-| Content Cell | Content Cell|
-| Content Cell | Content Cell |
-
-### Tables Containing Markdown
-
-This table should contain A1: Strikethrough, A2: Bold, B1: Italics, B2: Dolphin emoticon.
-
-| Column\Row | 1 | 2 |
-| ------------- | ------------- |------------- |
-| A | ~~Strikethrough~~ | **Bold** |
-| B | _italics_ | :dolphin: |
-
-### Table with Left, Center, and Right Aligned Columns
-
-The left column should be left aligned, the center column centered and the right column should be right aligned.
-
-| Left-Aligned | Center Aligned | Right Aligned |
-| :------------ |:---------------:| -----:|
-| 1 | this text | $100 |
-| 2 | is | $10 |
-| 3 | centered | $1 |