!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/local/lib/node_modules/strapi/node_modules/property-expr/   drwxr-xr-x
Free 13.19 GB of 57.97 GB (22.76%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     test.js (3.32 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var a = require('assert'),
  expression = require('./index.js'),
  getter = expression.getter,
  setter = expression.setter,
  obj = {};

obj = {
  foo: {
    bar: ['baz', 'bux'],
    fux: 5,
    '00N40000002S5U0': 1,
    N40000002S5U0: 2,
    'FE43-D880-21AE': 3
  }
};

// -- Getters --
a.strictEqual(getter('foo.fux')(obj), 5);
a.deepEqual(getter('foo.bar')(obj), ['baz', 'bux']);

a.strictEqual(getter('foo.bar[1]')(obj), 'bux');
a.strictEqual(getter('["foo"]["bar"][1]')(obj), 'bux');
a.strictEqual(getter('[1]')([1, 'bux']), 'bux');

// safe access
a.strictEqual(getter('foo.fux', true)(obj), 5);
a.deepEqual(getter('foo.bar', true)(obj), ['baz', 'bux']);

a.strictEqual(getter('foo.bar[1]', true)(obj), 'bux');
a.strictEqual(getter('["foo"]["bar"][1]', true)(obj), 'bux');
a.strictEqual(getter('[1]', true)([1, 'bux']), 'bux');

a.strictEqual(getter('foo.gih.df[0]', true)(obj), undefined);
a.strictEqual(getter('["fr"]["bzr"][1]', true)(obj), undefined);

a.strictEqual(getter('foo["00N40000002S5U0"]', true)(obj), 1);
a.strictEqual(getter('foo.00N40000002S5U0', true)(obj), 1);
a.strictEqual(getter('foo["N40000002S5U0"]', true)(obj), 2);
a.strictEqual(getter('foo.N40000002S5U0', true)(obj), 2);
a.strictEqual(getter('foo["FE43-D880-21AE"]', true)(obj), 3);
a.strictEqual(getter('foo.FE43-D880-21AE', true)(obj), 3);

// -- Setters --
setter('foo.fux')(obj, 10);
a.strictEqual(obj.foo.fux, 10);

setter('foo.bar[1]')(obj, 'bot');
a.strictEqual(obj.foo.bar[1], 'bot');

setter('[\'foo\']["bar"][1]')(obj, 'baz');
a.strictEqual(obj.foo.bar[1], 'baz');

// -- Cache --
var cache = new expression.Cache(3)
a.strictEqual(cache._size, 0)
a.strictEqual(cache.set('a', a), a)
a.strictEqual(cache.get('a'), a)
a.strictEqual(cache._size, 1)
a.strictEqual(cache.set('b', 123), 123)
a.strictEqual(cache.get('b'), 123)
a.strictEqual(cache.set('b', 321), 321)
a.strictEqual(cache.get('b'), 321)
a.strictEqual(cache.set('c', null), null)
a.strictEqual(cache.get('c'), null)
a.strictEqual(cache._size, 3)
a.strictEqual(cache.set('d', 444), 444)
a.strictEqual(cache._size, 1)
cache.clear()
a.strictEqual(cache._size, 0)
a.strictEqual(cache.get('a'), undefined)

// -- split --

var parts = expression.split('foo.baz["bar"][1]');

a.strictEqual(parts.length, 4);

// -- join --

var parts = expression.split('foo.baz["bar"][1]');

a.strictEqual(expression.join(['0', 'baz', '"bar"', 1]), '[0].baz["bar"][1]');

a.strictEqual(expression.join(parts), 'foo.baz["bar"][1]');

// -- forEach --

var count = 0;

expression.forEach('foo.baz["bar"][1]', function(
  part,
  isBracket,
  isArray,
  idx
) {
  count = idx;

  switch (idx) {
    case 0:
      a.strictEqual(part, 'foo');
      a.strictEqual(isBracket, false);
      a.strictEqual(isArray, false);
      break;
    case 1:
      a.strictEqual(part, 'baz');
      a.strictEqual(isBracket, false);
      a.strictEqual(isArray, false);
      break;
    case 2:
      a.strictEqual(part, '"bar"');
      a.strictEqual(isBracket, true);
      a.strictEqual(isArray, false);
      break;
    case 3:
      a.strictEqual(part, '1');
      a.strictEqual(isBracket, false);
      a.strictEqual(isArray, true);
      break;
  }
});

a.strictEqual(count, 3);

// -- normalizePath --

a.deepEqual(
  expression.normalizePath('foo[ " bux\'s " ].bar["baz"][ 9 ][ \' s \' ]'),
  ['foo', ' bux\'s ', 'bar', 'baz', '9', ' s ']
)

console.log('--- Tests Passed ---');

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0054 ]--