Add tests for includes

This commit is contained in:
Aaron O'Mullan
2014-07-10 17:49:50 +02:00
parent 15b4053d6b
commit d16577e8bf
3 changed files with 74 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Beautiful chapter
Here is a nice included snippet :
```c
{{ included.c }}
```
----
An exercise using includes
```c
{{ included.c }}
Remove this extra code at the end
```
```c
{{ included.c }}
```
```c
{{ included.c }}
This validation code is wrong but who cares ?
```
----
+7
View File
@@ -0,0 +1,7 @@
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("All is well\n");
return 0;
}
+38
View File
@@ -0,0 +1,38 @@
var fs = require('fs');
var path = require('path');
var assert = require('assert');
var page = require('../').parse.page;
var FIXTURES_DIR = path.join(__dirname, './fixtures/');
function loadPage (name, options) {
var CONTENT = fs.readFileSync(FIXTURES_DIR + name + '.md', 'utf8');
return page(CONTENT, options);
}
describe('Code includes', function() {
var LEXED = loadPage('INCLUDES', {
'dir': FIXTURES_DIR,
});
var INCLUDED_C = fs.readFileSync(path.join(FIXTURES_DIR, 'included.c'), 'utf8');
it('should work for snippets', function() {
assert.equal(LEXED[0].type, 'normal');
// Has replaced include
assert.equal(
LEXED[0].content.indexOf('{{ included.c }}'),
-1
);
});
it('should work for exercises', function() {
assert.equal(LEXED[1].type, 'exercise');
// Solution is trimmed version of source
assert.equal(LEXED[1].code.solution, INCLUDED_C.trim());
});
});