blob: 5dea202c6a0d177efe3d5a9f8debe650048157ca [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 stringifyAndOrderProperties from './stringify-and-order-properties.js';
describe('Order Properties', () => {
it('should correctly order properties for data', () => {
const input = {
__compat: {
support: {
firefox: { version_added: '1.5' },
chrome: { version_added: '1' },
},
status: {
deprecated: false,
standard_track: true,
experimental: false,
},
},
};
const expected =
'{\n "__compat": {\n "support": {\n "firefox": {\n "version_added": "1.5"\n },\n "chrome": {\n "version_added": "1"\n }\n },\n "status": {\n "experimental": false,\n "standard_track": true,\n "deprecated": false\n }\n }\n}';
const result = stringifyAndOrderProperties(input);
assert.deepEqual(result, expected);
});
it('should correctly order properties for browsers', () => {
const input = {
browsers: {
firefox: {
releases: {
'1.5': { version: '1.5', release_date: '2008-11-14' },
'1': { version: '1', release_date: '2008-09-02' },
},
},
},
};
const expected =
'{\n "browsers": {\n "firefox": {\n "releases": {\n "1": {\n "release_date": "2008-09-02"\n },\n "1.5": {\n "release_date": "2008-11-14"\n }\n }\n }\n }\n}';
const result = stringifyAndOrderProperties(input);
assert.deepEqual(result, expected);
});
});