"use strict"; const {strict: assert} = require("assert"); const {zrequire} = require("../zjsunit/namespace"); const {run_test} = require("../zjsunit/test"); const blueslip_stacktrace = zrequire("blueslip_stacktrace"); run_test("clean_path", () => { // Local file assert.strictEqual( blueslip_stacktrace.clean_path("webpack:///static/js/upload.js"), "/static/js/upload.js", ); // Third party library (jQuery) assert.strictEqual( blueslip_stacktrace.clean_path( "webpack:///.-npm-cache/de76fb6f582a29b053274f9048b6158091351048/node_modules/jquery/dist/jquery.js", ), "jquery/dist/jquery.js", ); // Third party library (underscore) assert.strictEqual( blueslip_stacktrace.clean_path( "webpack:///.-npm-cache/de76fb6f582a29b053274f9048b…58091351048/node_modules/underscore/underscore.js", ), "underscore/underscore.js", ); }); run_test("clean_function_name", () => { assert.deepEqual(blueslip_stacktrace.clean_function_name(undefined), undefined); // Local file assert.deepEqual( blueslip_stacktrace.clean_function_name("Object../static/js/upload.js.exports.options"), { scope: "Object../static/js/upload.js.exports.", name: "options", }, ); // Third party library (jQuery) assert.deepEqual(blueslip_stacktrace.clean_function_name("mightThrow"), { scope: "", name: "mightThrow", }); // Third party library (underscore) assert.deepEqual( blueslip_stacktrace.clean_function_name( "Function.../zulip-npm-cache/de76fb6f582a29b053274f…es/underscore/underscore.js?3817._.each._.forEach", ), { scope: "Function.../zulip-npm-cache/de76fb6f582a29b053274f…es/underscore/underscore.js?3817._.each._.", name: "forEach", }, ); });