summaryrefslogtreecommitdiff
path: root/node_modules/twig/test-ext/test.original.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/twig/test-ext/test.original.js')
-rw-r--r--node_modules/twig/test-ext/test.original.js314
1 files changed, 0 insertions, 314 deletions
diff --git a/node_modules/twig/test-ext/test.original.js b/node_modules/twig/test-ext/test.original.js
deleted file mode 100644
index 27304e2..0000000
--- a/node_modules/twig/test-ext/test.original.js
+++ /dev/null
@@ -1,314 +0,0 @@
-/*jshint node: true */
-
-( function( ) {
- "use strict";
- var fs = require( "fs" ),
- path = require("path"),
- twigPhpDir = "test-ext/twig.php",
-
- runTest = function( ) {
- describe( "Twig original test ->", function( ) {
- var
- Twig = Twig || require("../twig"),
- twig = twig || Twig.twig,
- walk = function( dir, done ) {
- var results = [],
- list = fs.readdirSync( dir ),
- i = 0;
-
- ( function next( ) {
- var file = list[i++],
- stat;
- if ( !file ) {
- return done( null, results );
- }
-
- file = dir + '/' + file;
- stat = fs.statSync( file );
- if ( stat && stat.isDirectory( ) ) {
- walk( file, function( err, res ) {
- results = results.concat( res );
- next( );
- } );
- } else {
- results.push( file );
- next( );
- }
- } )( );
- },
- testFile = function( filepath ) {
- var tmp = fs.readFileSync( filepath, "utf8" ),
- tmp2 = tmp.split( /^--/gm ),
- res = {};
-
- tmp2.forEach( function( data ) {
- if ( !data ) {
- return;
- }
-
- var name = ( "" + data.match( /^[A-Z]+--/ ) || "" ).replace( /--$/, '' );
-
- if ( name ) {
- res[ name ] = data.substring( name.length + 3 ).trim( );
- }
- } );
-
- res.filepath = filepath;
-
- return res;
- };
-
- walk( twigPhpDir + "/test", function( err, files ) {
- var testFiles = [];
-
- files.forEach( function( filepath ) {
- if ( filepath.substring( filepath.length - 5 ) === ".test" ) {
- testFiles.push( testFile( filepath ) );
- }
- } );
-
- testFiles.forEach( function( data, idx ) {
- var Tokenizer = require( "tokenizer" ),
- t = new Tokenizer( ),
- res,
- str = data.DATA,
- currentObject
- ;
-
- if ( !data.DATA || data.DATA.match( /^class|\$|^date_default_timezone_set|new Twig|new SimpleXMLElement|new ArrayObject|new ArrayIterator/ ) ) {
- if ( data.EXCEPTION ) {
- it( data.filepath + " -> " + data.TEST.trim( ), function( ) {
- try {
- twig( {
- "data" : data.TEMPLATE.trim( )
- } )
- .render( res )
- .trim( );
- } catch( exp ) {
- return;
- }
-
- throw "Should have thrown an exception: " + data.EXCEPTION;
- } );
- } else {
- it( data.filepath + " -> " + data.TEST.trim( ), function( ) {
- throw "Unsupported";
- } );
- }
- delete testFiles[ idx ];
- return;
- }
-
- t.on( "token", function( token, type ) {
- // console.log( token, type, res, currentObject );
-
- var tmpObject,
- match,
- tmpLength,
- tmpString,
- parentObject,
- i
- ;
-
- if ( type === 'symbol' ) {
- if ( token === "return" ) {
- return;
- }
- }
-
- if ( type === "whitespace" ) {
- return;
- }
-
- if ( type === "semicolon" ) {
- return;
- }
-
- if ( type === 'array' ) {
- if ( !currentObject ) {
-
- currentObject = {
- "type" : "array",
- "keys" : [],
- "values" : []
- };
- } else {
- tmpObject = currentObject;
- currentObject = {
- "type" : "array",
- "keys" : [],
- "values" : [],
- "parent" : tmpObject
- };
- }
-
- return;
- }
-
- if ( type === "string" ) {
- match = token.match( /^'(([^']*| \\')*)'$/ );
- if ( match && match[1] ) {
- tmpString = match[1];
- } else {
- match = token.match( /^"(([^"]*| \\")*)"$/ );
- if ( match && match[1] ) {
- tmpString = match[1];
- }
- }
-
- if ( tmpString ) {
- currentObject.last_value = tmpString.replace( /\\n/g, "\n" ).replace( /\\r/g, "\r" );
- return;
- }
- }
-
- if ( type === "number" ) {
- currentObject.last_value = parseFloat( token, 10 );
- return;
- }
-
- if ( type === "comma" ) {
- if ( currentObject.last_value ) {
- if ( currentObject.type === "array" ) {
- tmpLength = currentObject.values.length;
- currentObject.keys.push( tmpLength );
- currentObject.values.push( currentObject.last_value );
- delete currentObject.last_value;
-
- return;
- } else if ( currentObject.type === "object" ) {
- currentObject.keys.push( currentObject.last_key );
- currentObject.values.push( currentObject.last_value );
- delete currentObject.last_key;
- delete currentObject.last_value;
- return;
- }
- }
- }
-
- if ( type === "key-label" ) {
- currentObject.type = "object";
- currentObject.last_key = currentObject.last_value;
- delete currentObject.last_value;
-
- return;
- }
-
- if ( type === "end-object" ) {
- if ( currentObject.type === "array" ) {
- if ( currentObject.last_value ) {
- tmpLength = currentObject.values.length;
- currentObject.keys.push( tmpLength );
- currentObject.values.push( currentObject.last_value );
- delete currentObject.last_value;
- }
- } else if ( currentObject.type === "object" ) {
- if ( currentObject.last_key && currentObject.last_value ) {
- currentObject.keys.push( currentObject.last_key );
- currentObject.values.push( currentObject.last_value );
- delete currentObject.last_key;
- delete currentObject.last_value;
- }
- }
-
- if ( currentObject.type === "array" ) {
- tmpObject = [];
- } else if ( currentObject.type === "object" ) {
- tmpObject = {};
- }
-
- for ( i = 0; i < currentObject.values.length; i+=1 ) {
- tmpObject[ currentObject.keys[i] ] = currentObject.values[i];
- }
-
- if ( currentObject.parent ) {
- parentObject = currentObject.parent;
- delete currentObject.parent;
- delete currentObject.last_key;
- delete currentObject.last_value;
- currentObject = parentObject;
- currentObject.last_value = tmpObject;
- } else {
- res = tmpObject;
- currentObject = undefined;
- }
-
- return;
- }
- } );
-
- t.on( "end", function( ) {
- /*
- if ( data.TEST.trim( ) === 'Twig supports the in operator' ) {
- console.log( data.TEST.trim( ), res, data.DATA );
- console.log( "data.TEMPLATE" );
- console.log( data.TEMPLATE );
- console.log( data.TEMPLATE.substr( -1 ) );
- console.log( "data.EXPECT" );
- console.log( data.EXPECT );
- console.log( "data.RESULT" );
- console.log(
- twig( {
- "data" : data.TEMPLATE
- } )
- .render( res )
- );
- }
- */
-
- it( data.filepath + " -> " + data.TEST.trim( ), function( ) {
- twig( {
- "data" : data.TEMPLATE.trim( )
- } )
- .render( res )
- .trim( )
- .should
- .equal( data.EXPECT );
- } );
- } );
-
- t.on( "error", function( err ) {
- // console.log( err );
- } );
-
- t.addRule( /^'([^']|\\')*'$/, 'string' );
- t.addRule( /^"([^"]|\\")*"$/, 'string' );
- t.addRule( /^'([^']|\\')*$/, 'maybe-string' );
- t.addRule( /^"([^"]|\\")*$/, 'maybe-string' );
- t.addRule( /^=$/, 'equal' );
- t.addRule( /^=>$/, 'key-label' );
- t.addRule( /^-\?\d+(\.\d+)?$/, 'number' );
- t.addRule( /^\d+$/, 'number' );
- t.addRule( /^\d+\.$/, 'maybe-float' );
- t.addRule( /^(true|false)$/, 'bool' );
- t.addRule( /^null$/, 'null' );
- t.addRule( /^array\s*\($/, 'array' );
- t.addRule( /^\($/, 'begin-object' );
- t.addRule( /^\)$/, 'end-object' );
- t.addRule( /^\[$/, 'begin-array' );
- t.addRule( /^\]$/, 'end-array' );
- t.addRule( /^,$/, 'comma' );
- t.addRule( /^'$/, 'ping' );
- t.addRule( /^;$/, 'semicolon' );
- t.addRule( /^"$/, 'double-ping' );
- t.addRule( /^\w+$/, "symbol" );
- t.addRule( /^(\s)+$/, 'whitespace' );
-
- t.write( str + " " );
- t.end( );
- } );
- } );
- } );
- },
-
- setup = function( ) {
- var existsSync = fs.existsSync || path.existsSync;
-
- if ( existsSync( twigPhpDir ) ) {
- runTest( );
- return;
- }
- };
-
- setup( );
-} )( );