!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)

/var/www/html/queuepro/node_modules/rater-js/test/   drwxrwxr-x
Free 13.09 GB of 57.97 GB (22.57%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     test.js (6.38 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var assert = require('assert');
var raterJs = require('../lib/rater-js');
var sinon = require('sinon');
var jsdom = require('jsdom');
const { JSDOM } = jsdom;

describe('RaterJs', function() {
      
    it('should throw when element is missing', function() {
        assert.throws(() => {
            raterJs();
          });
    });

    it('should create new rater without throwing error', function() {

        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        assert.doesNotThrow(() => {
            raterJs({ element:element });
          });
    });

    it('getRating should return null when no rating is set', function() {

        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element });
        assert.equal(rater.getRating(),null);
    });

    it('getRating should return null after clear', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element });
        rater.setRating(2);
        rater.clear();
        assert.equal( rater.getRating(),null);
    });


    it('getRating should return the initial rating', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element, rating:3 });
        assert.equal(rater.getRating(),3);
    });

    it('getRating should return the changed rating', function() {

        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element, rating:3 });
        rater.setRating(4);
        assert.equal(rater.getRating(),4);
    });

    it('should set rating from data-rating if present', function() {

        const dom2 = new JSDOM(`<!DOCTYPE html><div data-rating="4" id="rater">test</div>`);
        const element2 = dom2.window.document.querySelector("#rater");

        let rater = raterJs({ element:element2});
        assert.equal(rater.getRating(),4);
    });

    it('clicking a the star should trigger callback', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let callbackSpy = sinon.spy();
        let rater = raterJs({ element:element, rating:3, rateCallback:callbackSpy });
        var evt = global.document.createEvent("HTMLEvents");
        evt.initEvent("click", false, true);
        element.dispatchEvent(evt);
        sinon.assert.calledOnce(callbackSpy);
    });

    
    it('setRating should throw when rating is below 0', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element, rating:3 });

        assert.throws(() => {
            rater.setRating(-1);
        });

        assert.throws(() => {
            rater.setRating(-0.1);
        });
    });

    it('setRating should throw when rating is above max', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element, max:5 });

        assert.throws(() => {
            rater.setRating(6);
        });

        assert.throws(() => {
            rater.setRating(5.1);
        });
    });

    it('setRating should throw when rating is not a number', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        let rater = raterJs({ element:element, max:5 });

        assert.throws(() => {
            rater.setRating(undefined);
        });

        assert.throws(() => {
            rater.setRating("3");
        });
    });

    it('should throw when step is 0 or below', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;
       
        assert.throws(() => {
            let rater = raterJs({ element:element, step:0 });
        });

        assert.throws(() => {
            let rater = raterJs({ element:element, step:-0.0001 });
        });
    });

    it('should throw when step is above 1', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        assert.throws(() => {
            raterJs({ element:element, step:1.0001 });
        });
    });

    it('should not throw when step is between 0 and 1', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;

        assert.doesNotThrow(() => {
            let rater = raterJs({ element:element, step: 0.01 });
        });

        assert.doesNotThrow(() => {
            let rater = raterJs({ element:element, step:0.999 });
        });
    });


    it('element should return original element', function() {
        const dom = new JSDOM(`<!DOCTYPE html><div id="rater">test</div>`);
        const element = dom.window.document.querySelector("#rater");
        global.document = dom.window.document;
        let rater = raterJs({ element:element });

        assert.equal(rater.element,element);
    });
});

:: 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.035 ]--