HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/propbase/propbase_website/node_modules/json2mq/test/test.js
var should = require('should');
var json2mq = require('../');

describe('json2mq', function () {
  it('should return query string for media type', function () {
    json2mq({screen: true}).should.equal('screen');
  });

  it('should return query string for media type with not', function () {
    json2mq({handheld: false}).should.equal('not handheld');
  });

  it('should return query string for media features', function () {
    json2mq({minWidth: 100, maxWidth: 200}).should.equal('(min-width: 100px) and (max-width: 200px)');
  });

  it('should return query string for media type and media features', function () {
    json2mq({screen: true, minWidth: 100, maxWidth: 200}).should.equal('screen and (min-width: 100px) and (max-width: 200px)');
  });

  it('should add px unit to dimension features', function () {
    json2mq({minWidth: 100, aspectRatio: "3/4"}).should.equal('(min-width: 100px) and (aspect-ratio: 3/4)');
  });

  it('should accept other units for dimension features if passed as string', function () {
    json2mq({minWidth: '10em', aspectRatio: "3/4"}).should.equal('(min-width: 10em) and (aspect-ratio: 3/4)');
  });

  it('should return comma seperated query string for multiple media queries', function () {
    json2mq([
      {minWidth: 100},
      {handheld: true, orientation: 'landscape'}
    ]).should.equal('(min-width: 100px), handheld and (orientation: landscape)');
  });

  it('should only return feature if its value is true', function () {
    json2mq({all: true, monochrome: true}).should.equal('all and monochrome');
  });
});