Uname:Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64

Base Dir : /var/www/html

User : gavin


403WebShell
403Webshell
Server IP : 68.183.124.220  /  Your IP : 216.73.216.141
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : gavin ( 1000)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/gavin/workspace/readjs/node_modules/estraverse-fb/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gavin/workspace/readjs/node_modules/estraverse-fb/test.js
var assert = require('chai').assert;
var parse = require('esprima-fb').parse;
var originalKeys = require('./keys');

describe('works', function () {
	var code = ['class MyClass{',
		'x: number;',
		'y: number;',
		'constructor(x: number, y: number){',
			'this.x = x;',
			'this.y = y;',
		'}',
		'render(){',
			'return <namespace:tag textAttr="value" exprAttr={expr} {...spreadAttr}><object.prop>!</object.prop>{}</namespace:tag>',
		'}',
	'}'].join('\n');

	var ast = parse(code);

	var expectedKeys = [
		'ClassProperty',
		'TypeAnnotation',
		'NumberTypeAnnotation',
		'ClassProperty',
		'TypeAnnotation',
		'NumberTypeAnnotation',
		'XJSElement',
		'XJSOpeningElement',
		'XJSNamespacedName',
		'XJSIdentifier',
		'XJSIdentifier',
		'XJSAttribute',
		'XJSIdentifier',
		'XJSAttribute',
		'XJSIdentifier',
		'XJSExpressionContainer',
		'XJSSpreadAttribute',
		'XJSClosingElement',
		'XJSNamespacedName',
		'XJSIdentifier',
		'XJSIdentifier',
		'XJSElement',
		'XJSOpeningElement',
		'XJSMemberExpression',
		'XJSIdentifier',
		'XJSIdentifier',
		'XJSClosingElement',
		'XJSMemberExpression',
		'XJSIdentifier',
		'XJSIdentifier',
		'XJSExpressionContainer',
		'XJSEmptyExpression'
	];

	beforeEach(function () {
		for (var key in require.cache) {
			delete require.cache[key];
		}
	});

	it('directly from dependency', function () {
		var traverse = require('./').traverse;
		var actualKeys = [];
		var actualTypeKeys = [];

		traverse(ast, {
			enter: function (node) {
				if (originalKeys[node.type] != null) {
					actualKeys.push(node.type);
				}
			}
		});

		assert.deepEqual(actualKeys, expectedKeys);
	});

	it('in injected mode', function () {
		require('./');
		var traverse = require('estraverse').traverse;
		var actualKeys = [];

		traverse(ast, {
			enter: function (node) {
				if (originalKeys[node.type] != null) {
					actualKeys.push(node.type);
				}
			}
		});

		assert.deepEqual(actualKeys, expectedKeys);
	});

	it('in single-pass mode', function () {
		var traverse = require('estraverse').traverse;
		var keys = require('./keys');

		var actualKeys = [];

		traverse(ast, {
			enter: function (node) {
				if (originalKeys[node.type] != null) {
					actualKeys.push(node.type);
				}
			},
			keys: keys
		});

		assert.throws(function () {
			traverse(ast, {
				enter: function () {}
			});
		});

		assert.deepEqual(actualKeys, expectedKeys);
	});
});

Youez - 2016 - github.com/yon3zu
LinuXploit