Skip to content

Commit 5bfba4d

Browse files
committed
test(browser): add a test
1 parent 9aca5b0 commit 5bfba4d

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

__tests__/brower.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'assert'
2-
import { get_user_agent } from '../src/browser'
2+
import { get_user_agent, get_search } from '../src/browser'
33

44
Object.defineProperty(window.navigator, "userAgent", ((_value) => {
55
return {
@@ -16,3 +16,10 @@ test('browser: get user agent', () => {
1616
window.navigator.userAgent = 'Chrome'
1717
assert.equal(get_user_agent(), 'Chrome')
1818
})
19+
20+
test('browser: get search', () => {
21+
jsdom.reconfigure({
22+
url: "https://www.example.com?date=20180101"
23+
})
24+
assert.deepEqual(get_search(), { date: '20180101' })
25+
})

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"babel-preset-env": "^1.6.1",
1010
"babel-preset-power-assert": "^2.0.0",
1111
"jest": "^22.1.4",
12+
"jest-environment-jsdom-global": "^1.0.3",
1213
"power-assert": "^1.4.4",
1314
"rewire": "^3.0.2"
1415
},
@@ -20,5 +21,8 @@
2021
"power-assert",
2122
"env"
2223
]
24+
},
25+
"jest": {
26+
"testEnvironment": "jest-environment-jsdom-global"
2327
}
2428
}

src/browser.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
export function get_user_agent() {
22
return window.navigator.userAgent
33
}
4+
5+
export function get_search() {
6+
return window.location.search
7+
.slice(1)
8+
.split('&')
9+
.map(p => p.split('='))
10+
.reduce((obj, [k, v]) => ({ ...obj, [k]: v }), {})
11+
}

yarn.lock

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1787,6 +1787,10 @@ jest-docblock@^22.1.0:
17871787
dependencies:
17881788
detect-newline "^2.1.0"
17891789

1790+
jest-environment-jsdom-global@^1.0.3:
1791+
version "1.0.3"
1792+
resolved "https://registry.yarnpkg.com/jest-environment-jsdom-global/-/jest-environment-jsdom-global-1.0.3.tgz#e0616c235709e6919f33f9b5e5c3854cd8edba39"
1793+
17901794
jest-environment-jsdom@^22.1.4:
17911795
version "22.1.4"
17921796
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.1.4.tgz#704518ce8375f7ec5de048d1e9c4268b08a03e00"

0 commit comments

Comments
 (0)