UNPKG

@sdc-monitor/demo

Version:

<div align="center"> <a href="#" target="_blank"> <img src="https://i.loli.net/2021/07/28/EvPwd4NjVH3tBfO.jpg" alt="mito-logo" height="90"> </a> <p>A Lightweight SDK For Monitor Web</p>

61 lines (58 loc) 2.91 kB
import { BREADCRUMBCATEGORYS, BrowserBreadcrumbTypes } from '@sdc-monitor/shared' import { extractErrorStack, getBreadcrumbCategoryInBrowser, htmlElementAsString, parseUrlToObj, Severity } from '../src' describe('browser.ts', () => { describe('htmlElementAsString function', () => { it('should return null if ele is body', () => { const ele = document.createElement('body') ele.className = 'my-class-name' expect(htmlElementAsString(ele)).toBeNull() }) it('should work on div tag', () => { const ele = document.createElement('div') ele.innerText = 'testDiv' ele.className = 'my-class class-one' ele.id = 'test-id' const result = '<div id="test-id" class="my-class class-one">testDiv</div>' expect(htmlElementAsString(ele)).toBe(result) }) }) it('parseUrlToObj function should work', () => { const url = 'http://a.b.com/c/JS/index/abc?a=1' const result = { host: 'a.b.com', path: '/c/JS/index/abc', protocol: 'http', relative: '/c/JS/index/abc?a=1' } expect(parseUrlToObj(url)).toEqual(result) expect(parseUrlToObj('')).toEqual({}) }) it('should extractErrorStack func work parsed on object Error ', () => { const res = extractErrorStack('error string', Severity.Critical) expect(res.message).toBe(undefined) expect(res.name).toBe(undefined) try { const a = 6 const b = a as unknown as string b.split(',') } catch (error) { const level = Severity.Normal const errInfo = extractErrorStack(error, level) expect(errInfo.level).toBe(level) expect(errInfo.message).toBe('b.split is not a function') expect(errInfo.name).toBe('TypeError') } }) it('should work on getBreadcrumbCategoryInBrowser ', () => { expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.XHR)).toBe(BREADCRUMBCATEGORYS.HTTP) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.FETCH)).toBe(BREADCRUMBCATEGORYS.HTTP) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.CLICK)).toBe(BREADCRUMBCATEGORYS.USER) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.ROUTE)).toBe(BREADCRUMBCATEGORYS.USER) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.CUSTOMER)).toBe(BREADCRUMBCATEGORYS.DEBUG) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.CUSTOMER)).toBe(BREADCRUMBCATEGORYS.DEBUG) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.UNHANDLEDREJECTION)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.CODE_ERROR)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.UNHANDLEDREJECTION)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(getBreadcrumbCategoryInBrowser(BrowserBreadcrumbTypes.RESOURCE)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) }) })