Fix GitbookIO/plugin-youtube#2: hash remote image for local path

This commit is contained in:
Samy Pessé
2015-02-12 11:40:17 +01:00
parent 1d0f6370ad
commit d9da4e9a08
6 changed files with 34 additions and 26 deletions
+16 -19
View File
@@ -1,6 +1,7 @@
var path = require('path');
var _ = require('lodash');
var assert = require('assert');
var cheerio = require('cheerio');
var fs = require("fs");
var fsUtil = require("../lib/utils/fs");
@@ -15,26 +16,22 @@ describe('eBook Generator', function () {
it('should correctly convert svg images to png', function(done) {
testGeneration(books[4], "ebook", function(output) {
var readmeContent = fs.readFileSync(path.join(output, "index.html"), {encoding: "utf8"});
var pageContent = fs.readFileSync(path.join(output, "sub/PAGE.html"), {encoding: "utf8"});
// Check that all images exists
_.each([
"index.html",
"sub/PAGE.html"
], function(pageName) {
var pageFile = path.join(output, pageName);
var pageFolder = path.dirname(pageFile);
var pageContent = fs.readFileSync(pageFile, {encoding: "utf8"});
var $ = cheerio.load(pageContent);
// Remote image
assert(pageContent.indexOf('src="../Tux.png"') >= 0);
assert(fs.existsSync(path.join(output, "Tux.png")));
assert(fs.existsSync(path.join(output, "test.png")));
assert(fs.existsSync(path.join(output, "NewTux.png")));
assert(!fs.existsSync(path.join(output, "test_0.png")));
assert(!fs.existsSync(path.join(output, "sub/test.png")));
assert(!fs.existsSync(path.join(output, "sub/NewTux.png")));
assert(pageContent.indexOf('src="../test.png"') >= 0);
assert(pageContent.indexOf('src="../NewTux.png"') >= 0);
assert(pageContent.indexOf('<svg') < 0);
assert(readmeContent.indexOf('src="test.png"') >= 0);
assert(readmeContent.indexOf('src="NewTux.png"') >= 0);
$("img").each(function() {
var src = $(this).attr("src");
console.log(path.resolve(pageFolder, src));
assert(fs.existsSync(path.resolve(pageFolder, src)), src+" not found for page "+pageName);
})
});
}, done);
});
});
+4
View File
@@ -5,3 +5,7 @@ A description
![test image to be converted](./test.svg)
![test url](http://upload.wikimedia.org/wikipedia/commons/b/b0/NewTux.svg)
![test image to be converted, second use](./test.svg)
# Test with youtube videos that have the same filename:
![youtube1](http://img.youtube.com/vi/9bZkp7q19f0/0.jpg)
![youtube2](http://img.youtube.com/vi/IkV2HQLAKHY/0.jpg)
+2 -2
View File
@@ -8,8 +8,8 @@
## Inline svg
{% html %}
<svg width="400" height="110">
<rect width="300" height="100" style="fill:rgb(0,0,255);stroke-width:3;stroke:rgb(0,0,0)">
<svg xmlns="http://www.w3.org/2000/svg">
<path d="M97.008198003228,6.103238498249268A97.2,97.2 0 0,1 87.9491894996971,41.385747140125076L54.289623147961166,25.546757493904366A60,60 0 0,0 59.88160370569629,3.7674311717588074Z"></path>
</svg>
{% endhtml %}