blob: ab14972d97e33af9c40edf7b5c5199a9b5103a15 [file] [log] [blame]
var fs = require('fs');
var path =require('path');
var chai = require('chai');
var sinon = require('sinon');
var sinonChai = require('sinon-chai');
var expect = chai.expect;
chai.use(sinonChai);
require('./lib/jsfm');
var createInstance = global.createInstance;
var getRoot = global.getRoot;
describe('loader', () => {
before(function() {
global.callNative = sinon.spy();
});
after(function() {
global.callNative = undefined;
});
it('simple case', function() {
var name = 'a.js';
var actualCodePath = path.resolve(__dirname, 'actual', name);
var actualCodeContent = fs.readFileSync(actualCodePath);
var expectCodePath = path.resolve(__dirname, 'expect', name);
var expectCodeContent = fs.readFileSync(expectCodePath);
var actualResult = createInstance('actual/' + name, actualCodeContent);
var actualJson = getRoot('actual/' + name);
var expectResult = createInstance('expect/' + name, expectCodeContent);
var expectJson = getRoot('expect/' + name);
expect(actualJson).eql(expectJson);
});
it('element tag, 3rd-party js, implicit component', function() {
var name = 'b.js';
var actualCodePath = path.resolve(__dirname, 'actual', name);
var actualCodeContent = fs.readFileSync(actualCodePath);
var expectCodePath = path.resolve(__dirname, 'expect', name);
var expectCodeContent = fs.readFileSync(expectCodePath);
var actualResult = createInstance('actual/' + name, actualCodeContent);
var actualJson = getRoot('actual/' + name);
var expectResult = createInstance('expect/' + name, expectCodeContent);
var expectJson = getRoot('expect/' + name);
expect(actualJson).eql(expectJson);
});
it('with config & data case', function() {
var name = 'z.js';
var actualCodePath = path.resolve(__dirname, 'actual', name);
var actualCodeContent = fs.readFileSync(actualCodePath);
var expectCodePath = path.resolve(__dirname, 'expect', name);
var expectCodeContent = fs.readFileSync(expectCodePath);
var actualResult = createInstance('actual/' + name, actualCodeContent);
var actualJson = getRoot('actual/' + name);
var expectResult = createInstance('expect/' + name, expectCodeContent);
var expectJson = getRoot('expect/' + name);
expect(actualJson).eql(expectJson);
});
})