ractive
Version:
Next-generation DOM manipulation
47 lines (37 loc) • 969 B
JavaScript
// PARSING TESTS
// =============
//
// TODO: add moar samples
define([ 'ractive', 'samples/parse' ], function ( Ractive, tests ) {
return function () {
module( 'Parse' );
test( 'Mismatched template version causes error', function ( t ) {
t.throws( function () {
var ractive = new Ractive({
template: {v:2,t:[]}
});
});
});
var runTest = function ( theTest ) {
test( theTest.name, function ( t ) {
if (theTest.error) {
t.throws( function () {
Ractive.parse( theTest.template, theTest.options );
}, function ( error ) {
if (error.name !== 'ParseError') {
throw error;
}
t.equal( error.message, theTest.error );
return true;
}, 'Expected ParseError');
} else {
var parsed = Ractive.parse( theTest.template, theTest.options );
t.deepEqual( parsed, theTest.parsed );
}
});
};
for ( var i=0; i<tests.length; i+=1 ) {
runTest( tests[i] );
}
};
});