UNPKG

mm-utils

Version:

mm-utils,JavaScript工具包,日常开发工作常用的公共函数库

91 lines (78 loc) 4.1 kB
// 单元测试:浏览器相关处理库 import browser from "../src/browser"; describe("browser:浏览器相关处理库", function () { test("query2Object:字符串转路由query参数,如:?a=1&b=2 =>{a:1, b:2}", () => { let source = "?key0=0&key1=1&key2=2"; let target = { key0: "0", key1: "1", key2: "2" }; expect(browser.query2Object(source)).toStrictEqual(target); }); test("object2Qquery:路由query参数转字符串", () => { let source1 = { key0: 0, key1: "1", key2: "2" }; let source2 = {}; let target = "?key0=0&key1=1&key2=2"; expect(browser.object2Qquery(source1)).toBe(target); expect(browser.object2Qquery(source2)).toBe("对象不能为空"); }); test("parseUrl:url地址解析", () => { let url = "https://www.baidu.com"; //输出的数据过于复杂,无法用test匹配器进行比较 expect(browser.parseUrl(url)); }); test("isIphone:判断是否为iphone", () => { //在浏览器测试已OK // expect(browser.isIphone()).toBe(); }); test("isAndroid:判断是否Android", () => { //在浏览器测试已OK // expect(browser.isAndroid()).toBe(); }); test("isWechat:判断是否为wechat", () => { //没有测试设备,暂不测试 // expect(browser.isWechat()).toBe(); }); test("isIE:判断是否为ie", () => { // IE11/10/9版本在IE浏览器中测试OK let source1 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)"; //IE浏览器的navigator.userAgent字段 let source2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"; //google浏览器的navigator.userAgent字段 expect(browser.isIE(source1)).toBe(true); expect(browser.isIE(source2)).toBe(false); }); test("isFirefox:判断是否为firefox", () => { let source1 = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"//firefox浏览器的navigator.userAgent字段 let source2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)"; //IE浏览器的navigator.userAgent字段 expect(browser.isFirefox(source1)).toBe(true); expect(browser.isFirefox(source2)).toBe(false); }); test("isOpera:判断是否为opera", () => { let source1 = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 OPR/74.0.3911.154"//opera浏览器的navigator.userAgent字段 let source2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)"; //IE浏览器的navigator.userAgent字段 expect(browser.isOpera(source1)).toBe(true); expect(browser.isOpera(source2)).toBe(false); }); test("isChrome:判断是否为chrome", () => { let source1 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"; //google浏览器的navigator.userAgent字段 let source2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)"; //IE浏览器的navigator.userAgent字段 expect(browser.isChrome(source1)).toBe(true); expect(browser.isChrome(source2)).toBe(false); }); test("isSafari:判断是否为safari", () => { let source1 = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2";//safari浏览器的navigator.userAgent字段 let source2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)"; //IE浏览器的navigator.userAgent字段 expect(browser.isSafari(source1)).toBe(true); expect(browser.isSafari(source2)).toBe(false); }); test("hasUserAgent:判断是否userAgent类型", () => { //暂不做 // expect(browser.hasUserAgent()).toBe(); }); });