blob: 7dbd830fdf0f9f506e58c429e99ccacf74cfe758 [file] [log] [blame] [edit]
/* This file is a part of @mdn/browser-compat-data
* See LICENSE file for more information. */
import assert from 'node:assert/strict';
import { SupportStatement } from '../../types/types.js';
import { removeIrrelevantFlags } from './flags.js';
const tests: { input: SupportStatement; output: SupportStatement }[] = [
{
input: [
{
version_added: '70',
},
{
version_added: '21',
version_removed: '65',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '70',
},
},
{
input: [
{
version_added: '62',
},
{
version_added: '21',
version_removed: '80',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '62',
},
},
{
input: [
{
version_added: '62',
},
{
version_added: '21',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '62',
},
},
{
input: [
{
version_added: '42',
flags: [
{
type: 'preference',
name: '#enable-experimental-web-features',
value_to_set: 'Enabled',
},
],
},
{
version_added: '21',
version_removed: '45',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '42',
flags: [
{
type: 'preference',
name: '#enable-experimental-web-features',
value_to_set: 'Enabled',
},
],
},
},
{
input: {
version_added: '42',
version_removed: '43',
flags: [
{
type: 'preference',
name: '#enable-experimental-web-features',
value_to_set: 'Enabled',
},
],
},
output: {
version_added: false,
},
},
{
input: [
{
version_added: '80',
},
{
version_added: '21',
version_removed: '80',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '80',
},
},
{
input: [
{
version_added: '79',
flags: [
{
type: 'preference',
name: 'enable-experimental-web-platform-features',
value_to_set: 'enabled',
},
],
},
{
version_added: '12',
version_removed: '79',
},
],
output: [
{
version_added: '79',
flags: [
{
type: 'preference',
name: 'enable-experimental-web-platform-features',
value_to_set: 'enabled',
},
],
},
{
version_added: '12',
version_removed: '79',
},
],
},
{
input: [
{
version_added: '86',
},
{
version_added: '21',
flags: [
{
type: 'preference',
name: '#service-worker-payment-apps',
value_to_set: 'Enabled',
},
],
},
],
output: {
version_added: '86',
},
},
{
input: [
{
version_added: '79',
version_removed: '80',
flags: [
{
type: 'preference',
name: 'WebVR',
},
],
},
{
version_added: '15',
version_removed: '79',
},
],
output: {
version_added: '15',
version_removed: '79',
},
},
{
input: [
{
version_added: 'preview',
},
{
version_added: '105',
flags: [
{
type: 'preference',
name: 'layout.css.font-tech.enabled',
value_to_set: 'true',
},
],
},
],
output: [
{
version_added: 'preview',
},
{
version_added: '105',
flags: [
{
type: 'preference',
name: 'layout.css.font-tech.enabled',
value_to_set: 'true',
},
],
},
],
},
];
describe('fix -> flags', () => {
let i = 1;
for (const test of tests) {
it(`Test #${i}`, () => {
const result = removeIrrelevantFlags(test.input);
assert.deepStrictEqual(result, test.output);
});
i += 1;
}
});