Guest User

Untitled

a guest
Aug 10th, 2018
23
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. describe('testing exclude options', function () {
  2.         function camelCase(text){
  3.             return text.split(/[\W_]/g).map(function(word,index){
  4.                 return word.charAt(0).toUpperCase() + word.slice(1)
  5.             }).join('')
  6.         }
  7.  
  8.         var checks = [
  9.             'user_agent',
  10.             'language',
  11.             'color_depth',
  12.             'color_depth',
  13.             'device_memory',
  14.             'hardware_concurrency',
  15.             ['resolution', 'excludeScreenResolution'],
  16.             ['available_resolution', 'excludeAvailableScreenResolution'],
  17.             'timezone_offset',
  18.             'timezone',
  19.             'session_storage',
  20.             'local_storage',
  21.             ['indexed_db', 'excludeIndexedDB'],
  22.             'cpu_class',
  23.             ['navigator_platform', 'excludePlatform'],
  24.             ['regular_plugins', 'excludePlugins'],
  25.             'canvas',
  26.             ['webgl', 'excludeWebGL'],
  27.             ['webgl_vendor', 'excludeWebGLVendorAndRenderer'],
  28.             ['adblock', 'excludeAdBlock'],
  29.             'has_lied_languages',
  30.             'has_lied_resolution',
  31.             'has_lied_os',
  32.             'has_lied_browser',
  33.             'touch_support',
  34.             'js_fonts',
  35.             ['audio_fp', 'excludeAudio'],
  36.             'enumerate_devices',
  37.             'add_behavior',
  38.             'open_database'
  39.         ];
  40.  
  41.         // Exclude everything.
  42.         it('empty components when exluding everything', function(done){
  43.             var options = {};
  44.             for(var i = 0; i < checks.length; ++i) {
  45.                 var exclude_key = checks[i] instanceof Array ? checks[i][1] : "exclude" + camelCase(checks[i]);
  46.                 options[exclude_key] = true;
  47.             }
  48.             var fp2 = new Fingerprint2(options)
  49.             fp2.get(function(result, components){
  50.                 expect(components.length).toEqual(0)
  51.                 done()
  52.             })
  53.         })
  54.  
  55.         it('components in result when NOT excluding', function(done){
  56.             var fp2 = new Fingerprint2()
  57.             function inner(){
  58.                 fp2.get(function(result, components){
  59.                     for(var i = 0; i < checks.length; ++i) {
  60.                         var key = checks[i] instanceof Array ? checks[i][0] : checks[i];
  61.                         if(key == 'enumerate_devices' && !fp2.isEnumerateDevicesSupported())
  62.                             continue
  63.                         if(key == 'session_storage' && !fp2.hasSessionStorage())
  64.                             continue
  65.                         if(key == 'local_storage' && !fp2.hasLocalStorage())
  66.                             continue
  67.                         if(key == 'indexed_db' && !fp2.hasIndexedDB())
  68.                             continue
  69.                         if(key == 'add_behavior' && !(document.body && document.body.addBehavior))
  70.                             continue
  71.                         if(key == 'open_database' && !window.openDatabase)
  72.                             continue
  73.                         if(key == 'canvas' && !this.isCanvasSupported())
  74.                             continue
  75.                         if((key == 'webgl' || key == 'webgl_vendor') && !fp2.isWebGlSupported())
  76.                             continue
  77.                         if(key == 'regular_plugins' && fp2.isIE())
  78.                             key = 'ie_plugins'
  79.                         getComponent(components, key)
  80.                     }
  81.                 })
  82.             }
  83.             expect(inner).not.toThrow(Error)
  84.             done()
  85.         })
  86.     })
RAW Paste Data