1 | var test = require('tape')
|
2 | var missingSupport = require('../lib/missing-support')
|
3 | var hasKeys = require('./has-keys')
|
4 |
|
5 | test('provides list of selected browsers', function (t) {
|
6 | var data
|
7 | data = missingSupport(['ie >= 8'])
|
8 | .browsers.sort(function (a, b) {
|
9 | return Number(a[1]) - Number(b[1])
|
10 | })
|
11 | t.deepEqual(data, [
|
12 | [
|
13 | 'ie',
|
14 | '8'
|
15 | ],
|
16 | [
|
17 | 'ie',
|
18 | '9'
|
19 | ],
|
20 | [
|
21 | 'ie',
|
22 | '10'
|
23 | ],
|
24 | [
|
25 | 'ie',
|
26 | '11'
|
27 | ]
|
28 | ])
|
29 |
|
30 | t.end()
|
31 | })
|
32 |
|
33 | test('for browser request ie >= 7, safari >= 6, opera >= 10.1', function (t) {
|
34 | var data = missingSupport([
|
35 | 'ie >= 7',
|
36 | 'safari >= 6',
|
37 | 'opera >= 10.1'
|
38 | ]).features
|
39 |
|
40 | var bgimgopts = data['background-img-opts']
|
41 | hasKeys(t, bgimgopts, ['missing', 'partial', 'title', 'missingData', 'partialData', 'caniuseData'])
|
42 |
|
43 | var missing = bgimgopts.missingData
|
44 | var partial = bgimgopts.partialData
|
45 | hasKeys(t, missing, ['ie'])
|
46 | hasKeys(t, missing.ie, ['7', '8'])
|
47 | hasKeys(t, partial, ['safari', 'opera'])
|
48 | hasKeys(t, partial.safari, ['6', '6.1'])
|
49 | hasKeys(t, partial.opera, ['10.0-10.1'])
|
50 | t.end()
|
51 | })
|
52 |
|
53 | test('partialData only yields features partially supported by selected browser', function (t) {
|
54 | var data, f, featureData, p
|
55 | data = missingSupport(['ie 8']).features
|
56 | var partial = []
|
57 | for (p in data) {
|
58 | if (data[p].partialData) {
|
59 | partial.push(data[p])
|
60 | }
|
61 | }
|
62 | for (f in partial) {
|
63 | featureData = partial[f]
|
64 | hasKeys(t, featureData.partialData, ['ie'])
|
65 | }
|
66 | t.end()
|
67 | })
|
68 |
|
69 | test('missingData only yields features not supported by selected browser', function (t) {
|
70 | var data, f, featureData, m
|
71 | data = missingSupport(['ie 8']).features
|
72 | var missing = []
|
73 | for (m in data) {
|
74 | if (data[m].missingData) {
|
75 | missing.push(data[m])
|
76 | }
|
77 | }
|
78 | for (f in missing) {
|
79 | featureData = missing[f]
|
80 | hasKeys(t, featureData.missingData, ['ie'])
|
81 | }
|
82 | t.end()
|
83 | })
|