summaryrefslogtreecommitdiffstats
path: root/test/links.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-03-09 10:43:12 +0100
committerSamy Pessé <samypesse@gmail.com>2015-03-09 10:43:12 +0100
commit34fc2831e0cf0fed01c71cec28d93472d87f455b (patch)
treea803cc907c20491ba02863b5d3dd5aedf6bfed10 /test/links.js
parente1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff)
parent1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff)
downloadgitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.zip
gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.gz
gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.bz2
Merge branch 'version/2.0'
Diffstat (limited to 'test/links.js')
-rw-r--r--test/links.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/links.js b/test/links.js
new file mode 100644
index 0000000..2c68a23
--- /dev/null
+++ b/test/links.js
@@ -0,0 +1,40 @@
+var path = require('path');
+var _ = require('lodash');
+var assert = require('assert');
+
+var links = require("../lib/utils/links");
+
+describe('Links', function () {
+ it('should correctly test external links', function() {
+ assert(links.isExternal("http://google.fr"));
+ assert(links.isExternal("https://google.fr"));
+ assert(!links.isExternal("test.md"));
+ assert(!links.isExternal("folder/test.md"));
+ assert(!links.isExternal("/folder/test.md"));
+ });
+
+ it('should correctly test anchor links', function() {
+ assert(links.isAnchor("#test"));
+ assert(links.isAnchor(" #test"));
+ assert(!links.isAnchor("https://google.fr#test"));
+ assert(!links.isAnchor("test.md#test"));
+ });
+
+ describe('toAbsolute', function() {
+ it('should correctly transform as absolute', function() {
+ assert.equal(links.toAbsolute("http://google.fr"), "http://google.fr");
+ assert.equal(links.toAbsolute("test.md", "./", "./"), "test.md");
+ assert.equal(links.toAbsolute("folder/test.md", "./", "./"), "folder/test.md");
+ });
+
+ it('should correctly handle windows path', function() {
+ assert.equal(links.toAbsolute("folder\\test.md", "./", "./"), "folder/test.md");
+ });
+
+ it('should correctly handle absolute path', function() {
+ assert.equal(links.toAbsolute("/test.md", "./", "./"), "test.md");
+ assert.equal(links.toAbsolute("/test.md", "test", "test"), "../test.md");
+ assert.equal(links.toAbsolute("/sub/test.md", "test", "test"), "../sub/test.md");
+ });
+ });
+});