Revision 852f78491a212ba20841847436dab93abb0a8181 authored by Ondřej Španěl on 24 February 2017, 00:51:24 UTC, committed by Alex Lam S.L on 24 February 2017, 00:51:24 UTC
Makes direct usage within web browser easier, even if officially unsupported.
1 parent 229e42c
Raw File
accessorTokens-1492.js
var UglifyJS = require('../../');
var assert = require("assert");

describe("Accessor tokens", function() {
    it("Should fill the token information for accessors (issue #1492)", function() {
        // location               0         1         2         3         4
        //                        01234567890123456789012345678901234567890123456789
        var ast = UglifyJS.parse("var obj = { get latest() { return undefined; } }");

        // test all AST_ObjectProperty tokens are set as expected
        var checkedAST_ObjectProperty = false;
        var checkWalker = new UglifyJS.TreeWalker(function(node, descend) {
            if (node instanceof UglifyJS.AST_ObjectProperty) {
                checkedAST_ObjectProperty = true;

                assert.equal(node.start.pos, 12);
                assert.equal(node.end.endpos, 46);

                assert(node.key instanceof UglifyJS.AST_SymbolRef);
                assert.equal(node.key.start.pos, 16);
                assert.equal(node.key.end.endpos, 22);

                assert(node.value instanceof UglifyJS.AST_Accessor);
                assert.equal(node.value.start.pos, 22);
                assert.equal(node.value.end.endpos, 46);

            }
        });
        ast.walk(checkWalker);
        assert(checkedAST_ObjectProperty, "AST_ObjectProperty not found");
    });
});
back to top