prebid.js 7.26.0 → 7.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/.github/workflows/issue_tracker.yml +1 -1
  2. package/dist/33acrossBidAdapter.js +1 -1
  3. package/dist/33acrossIdSystem.js +1 -1
  4. package/dist/adWMGAnalyticsAdapter.js +1 -1
  5. package/dist/adagioAnalyticsAdapter.js +1 -1
  6. package/dist/adagioBidAdapter.js +1 -1
  7. package/dist/adbookpspBidAdapter.js +1 -1
  8. package/dist/adgenerationBidAdapter.js +1 -1
  9. package/dist/adhashBidAdapter.js +1 -1
  10. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  11. package/dist/adlooxAdServerVideo.js +1 -1
  12. package/dist/adlooxAnalyticsAdapter.js +1 -1
  13. package/dist/adlooxRtdProvider.js +1 -1
  14. package/dist/admaticBidAdapter.js +1 -1
  15. package/dist/admixerBidAdapter.js +1 -1
  16. package/dist/adomikAnalyticsAdapter.js +1 -1
  17. package/dist/adrelevantisBidAdapter.js +1 -1
  18. package/dist/adtrgtmeBidAdapter.js +1 -1
  19. package/dist/adxcgAnalyticsAdapter.js +1 -1
  20. package/dist/adxcgBidAdapter.js +1 -1
  21. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  22. package/dist/aidemBidAdapter.js +1 -0
  23. package/dist/ajaBidAdapter.js +1 -1
  24. package/dist/amxBidAdapter.js +1 -1
  25. package/dist/amxIdSystem.js +1 -1
  26. package/dist/analyticsAdapter.js +1 -1
  27. package/dist/appierAnalyticsAdapter.js +1 -1
  28. package/dist/appnexusBidAdapter.js +1 -1
  29. package/dist/asoBidAdapter.js +1 -1
  30. package/dist/atsAnalyticsAdapter.js +1 -1
  31. package/dist/axonixBidAdapter.js +1 -1
  32. package/dist/bidViewability.js +1 -1
  33. package/dist/bidglassBidAdapter.js +1 -1
  34. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  35. package/dist/big-richmediaBidAdapter.js +1 -1
  36. package/dist/bridgewellBidAdapter.js +1 -1
  37. package/dist/brightMountainMediaBidAdapter.js +1 -1
  38. package/dist/browsiRtdProvider.js +1 -1
  39. package/dist/bucksenseBidAdapter.js +1 -1
  40. package/dist/byDataAnalyticsAdapter.js +1 -1
  41. package/dist/carodaBidAdapter.js +1 -1
  42. package/dist/chtnwBidAdapter.js +1 -1
  43. package/dist/concertAnalyticsAdapter.js +1 -1
  44. package/dist/concertBidAdapter.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consentManagement.js +1 -1
  47. package/dist/consentManagementUsp.js +1 -1
  48. package/dist/consumableBidAdapter.js +1 -1
  49. package/dist/conversantAnalyticsAdapter.js +1 -1
  50. package/dist/conversantBidAdapter.js +1 -1
  51. package/dist/craftBidAdapter.js +1 -1
  52. package/dist/criteoBidAdapter.js +1 -1
  53. package/dist/datablocksAnalyticsAdapter.js +1 -1
  54. package/dist/dependencies.json +6 -0
  55. package/dist/dfpAdServerVideo.js +1 -1
  56. package/dist/discoveryBidAdapter.js +1 -1
  57. package/dist/dspxBidAdapter.js +1 -1
  58. package/dist/eplanningAnalyticsAdapter.js +1 -1
  59. package/dist/eplanningBidAdapter.js +1 -1
  60. package/dist/finativeBidAdapter.js +1 -1
  61. package/dist/fintezaAnalyticsAdapter.js +1 -1
  62. package/dist/fluctBidAdapter.js +1 -1
  63. package/dist/ftrackIdSystem.js +1 -1
  64. package/dist/gdprEnforcement.js +1 -1
  65. package/dist/genericAnalyticsAdapter.js +1 -0
  66. package/dist/geoedgeRtdProvider.js +1 -1
  67. package/dist/glimpseBidAdapter.js +1 -1
  68. package/dist/glomexBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/googleAnalyticsAdapter.js +1 -1
  72. package/dist/gravitoIdSystem.js +1 -1
  73. package/dist/gridBidAdapter.js +1 -1
  74. package/dist/gridNMBidAdapter.js +1 -1
  75. package/dist/growthCodeAnalyticsAdapter.js +1 -0
  76. package/dist/gumgumBidAdapter.js +1 -1
  77. package/dist/h12mediaBidAdapter.js +1 -1
  78. package/dist/hadronAnalyticsAdapter.js +1 -1
  79. package/dist/id5AnalyticsAdapter.js +1 -1
  80. package/dist/id5IdSystem.js +1 -1
  81. package/dist/impactifyBidAdapter.js +1 -1
  82. package/dist/improvedigitalBidAdapter.js +1 -1
  83. package/dist/inmarBidAdapter.js +1 -1
  84. package/dist/insticatorBidAdapter.js +1 -1
  85. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  86. package/dist/ixBidAdapter.js +1 -1
  87. package/dist/justpremiumBidAdapter.js +1 -1
  88. package/dist/jwplayerRtdProvider.js +1 -1
  89. package/dist/kargoAnalyticsAdapter.js +1 -1
  90. package/dist/kargoBidAdapter.js +1 -1
  91. package/dist/kinessoIdSystem.js +1 -1
  92. package/dist/konduitAnalyticsAdapter.js +1 -1
  93. package/dist/kueezBidAdapter.js +1 -1
  94. package/dist/kueezRtbBidAdapter.js +1 -1
  95. package/dist/lassoBidAdapter.js +1 -1
  96. package/dist/lifestreetBidAdapter.js +1 -1
  97. package/dist/limelightDigitalBidAdapter.js +1 -1
  98. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  99. package/dist/liveIntentIdSystem.js +1 -1
  100. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  101. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  102. package/dist/logicadBidAdapter.js +1 -1
  103. package/dist/loglyliftBidAdapter.js +1 -1
  104. package/dist/lotamePanoramaIdSystem.js +1 -1
  105. package/dist/magniteAnalyticsAdapter.js +1 -1
  106. package/dist/malltvAnalyticsAdapter.js +1 -1
  107. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  108. package/dist/marsmediaBidAdapter.js +1 -1
  109. package/dist/mediafuseBidAdapter.js +1 -1
  110. package/dist/mediagoBidAdapter.js +1 -1
  111. package/dist/medianetAnalyticsAdapter.js +1 -1
  112. package/dist/mediasquareBidAdapter.js +1 -1
  113. package/dist/mgidBidAdapter.js +1 -1
  114. package/dist/minutemediaBidAdapter.js +1 -1
  115. package/dist/nexx360BidAdapter.js +1 -1
  116. package/dist/not-for-prod/prebid.js +206 -202
  117. package/dist/oguryBidAdapter.js +1 -1
  118. package/dist/onetagBidAdapter.js +1 -1
  119. package/dist/ooloAnalyticsAdapter.js +1 -1
  120. package/dist/openxAnalyticsAdapter.js +1 -1
  121. package/dist/optimonAnalyticsAdapter.js +1 -1
  122. package/dist/outbrainBidAdapter.js +1 -1
  123. package/dist/parrableIdSystem.js +1 -1
  124. package/dist/pbsExtensions.js +1 -1
  125. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  126. package/dist/pixfutureBidAdapter.js +1 -1
  127. package/dist/prebid-core.js +2 -2
  128. package/dist/prebidServerBidAdapter.js +1 -1
  129. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  130. package/dist/pubCommonId.js +1 -1
  131. package/dist/pubProvidedIdSystem.js +1 -1
  132. package/dist/publinkIdSystem.js +1 -1
  133. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  134. package/dist/pubmaticBidAdapter.js +1 -1
  135. package/dist/pubperfAnalyticsAdapter.js +1 -1
  136. package/dist/pubstackAnalyticsAdapter.js +1 -1
  137. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  138. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  139. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  140. package/dist/pxyzBidAdapter.js +1 -1
  141. package/dist/quantcastBidAdapter.js +1 -1
  142. package/dist/quantcastIdSystem.js +1 -1
  143. package/dist/rasBidAdapter.js +1 -1
  144. package/dist/readpeakBidAdapter.js +1 -1
  145. package/dist/realvuAnalyticsAdapter.js +1 -1
  146. package/dist/redtramBidAdapter.js +1 -0
  147. package/dist/relaidoBidAdapter.js +1 -1
  148. package/dist/relevantAnalyticsAdapter.js +1 -1
  149. package/dist/rhythmoneBidAdapter.js +1 -1
  150. package/dist/riseBidAdapter.js +1 -1
  151. package/dist/rivrAnalyticsAdapter.js +1 -1
  152. package/dist/roxotAnalyticsAdapter.js +1 -1
  153. package/dist/rtbhouseBidAdapter.js +1 -1
  154. package/dist/rtdModule.js +1 -1
  155. package/dist/rubiconAnalyticsAdapter.js +1 -1
  156. package/dist/rubiconBidAdapter.js +1 -1
  157. package/dist/s2sTesting.js +1 -1
  158. package/dist/scaleableAnalyticsAdapter.js +1 -1
  159. package/dist/schain.js +1 -1
  160. package/dist/seedingAllianceBidAdapter.js +1 -1
  161. package/dist/seedtagBidAdapter.js +1 -1
  162. package/dist/sharedIdSystem.js +1 -1
  163. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  164. package/dist/sharethroughBidAdapter.js +1 -1
  165. package/dist/shinezBidAdapter.js +1 -1
  166. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  167. package/dist/smaatoBidAdapter.js +1 -1
  168. package/dist/smartadserverBidAdapter.js +1 -1
  169. package/dist/smartxBidAdapter.js +1 -1
  170. package/dist/smilewantedBidAdapter.js +1 -1
  171. package/dist/sonobiAnalyticsAdapter.js +1 -1
  172. package/dist/sonobiBidAdapter.js +1 -1
  173. package/dist/sovrnAnalyticsAdapter.js +1 -1
  174. package/dist/sovrnBidAdapter.js +1 -1
  175. package/dist/sspBCBidAdapter.js +1 -1
  176. package/dist/staqAnalyticsAdapter.js +1 -1
  177. package/dist/sublimeBidAdapter.js +1 -1
  178. package/dist/synacormediaBidAdapter.js +1 -1
  179. package/dist/taboolaBidAdapter.js +1 -1
  180. package/dist/tapadIdSystem.js +1 -1
  181. package/dist/targetVideoBidAdapter.js +1 -1
  182. package/dist/teadsBidAdapter.js +1 -1
  183. package/dist/teadsIdSystem.js +1 -1
  184. package/dist/terceptAnalyticsAdapter.js +1 -1
  185. package/dist/trionBidAdapter.js +1 -1
  186. package/dist/tripleliftBidAdapter.js +1 -1
  187. package/dist/ttdBidAdapter.js +1 -1
  188. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  189. package/dist/underdogmediaBidAdapter.js +1 -1
  190. package/dist/undertoneBidAdapter.js +1 -1
  191. package/dist/userId.js +1 -1
  192. package/dist/vidazooBidAdapter.js +1 -1
  193. package/dist/videobyteBidAdapter.js +1 -1
  194. package/dist/visxBidAdapter.js +1 -1
  195. package/dist/vuukleBidAdapter.js +1 -1
  196. package/dist/weboramaRtdProvider.js +1 -1
  197. package/dist/widespaceBidAdapter.js +1 -1
  198. package/dist/winrBidAdapter.js +1 -1
  199. package/dist/yahoosspBidAdapter.js +1 -1
  200. package/dist/yandexBidAdapter.js +1 -1
  201. package/dist/yieldlabBidAdapter.js +1 -1
  202. package/dist/yieldliftBidAdapter.js +1 -1
  203. package/dist/yieldmoBidAdapter.js +1 -1
  204. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  205. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  206. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  207. package/integrationExamples/gpt/growthcode.html +134 -0
  208. package/libraries/analyticsAdapter/AnalyticsAdapter.js +95 -102
  209. package/libraries/ortb2.5StrictTranslator/dsl.js +54 -0
  210. package/libraries/ortb2.5StrictTranslator/spec.js +81 -0
  211. package/libraries/ortb2.5StrictTranslator/translator.js +37 -0
  212. package/libraries/ortb2.5Translator/translator.js +82 -0
  213. package/modules/33acrossIdSystem.js +3 -0
  214. package/modules/adhashBidAdapter.js +115 -30
  215. package/modules/adhashBidAdapter.md +1 -3
  216. package/modules/admaticBidAdapter.js +10 -1
  217. package/modules/admixerBidAdapter.js +1 -1
  218. package/modules/aidemBidAdapter.js +492 -0
  219. package/modules/aidemBidAdapter.md +187 -0
  220. package/modules/browsiRtdProvider.js +6 -4
  221. package/modules/bucksenseBidAdapter.js +1 -1
  222. package/modules/criteoBidAdapter.js +3 -3
  223. package/modules/discoveryBidAdapter.js +3 -0
  224. package/modules/eplanningBidAdapter.js +2 -6
  225. package/modules/fluctBidAdapter.js +5 -0
  226. package/modules/gdprEnforcement.js +26 -24
  227. package/modules/genericAnalyticsAdapter.js +157 -0
  228. package/modules/geoedgeRtdProvider.js +22 -0
  229. package/modules/glomexBidAdapter.js +2 -0
  230. package/modules/gravitoIdSystem.js +3 -4
  231. package/modules/gridBidAdapter.js +1 -1
  232. package/modules/gridNMBidAdapter.js +1 -1
  233. package/modules/growthCodeAnalyticsAdapter.js +176 -0
  234. package/modules/growthCodeAnalyticsAdapter.md +41 -0
  235. package/modules/impactifyBidAdapter.js +19 -1
  236. package/modules/jwplayerRtdProvider.js +1 -2
  237. package/modules/kargoBidAdapter.js +1 -1
  238. package/modules/lassoBidAdapter.js +8 -4
  239. package/modules/limelightDigitalBidAdapter.js +1 -1
  240. package/modules/liveIntentIdSystem.js +1 -2
  241. package/modules/mediagoBidAdapter.js +2 -1
  242. package/modules/minutemediaBidAdapter.md +3 -3
  243. package/modules/nexx360BidAdapter.js +264 -138
  244. package/modules/openxBidAdapter.md +15 -14
  245. package/modules/pubCommonId.js +2 -1
  246. package/modules/pubProvidedIdSystem.js +2 -0
  247. package/modules/rasBidAdapter.js +8 -3
  248. package/modules/rasBidAdapter.md +16 -15
  249. package/modules/redtramBidAdapter.js +155 -0
  250. package/modules/redtramBidAdapter.md +33 -0
  251. package/modules/riseBidAdapter.js +15 -0
  252. package/modules/riseBidAdapter.md +3 -3
  253. package/modules/rtbhouseBidAdapter.js +90 -29
  254. package/modules/rubiconBidAdapter.js +2 -1
  255. package/modules/seedtagBidAdapter.js +67 -56
  256. package/modules/seedtagBidAdapter.md +60 -0
  257. package/modules/sharedIdSystem.js +3 -1
  258. package/modules/smartxBidAdapter.js +1 -1
  259. package/modules/smnBidAdapter.md +52 -0
  260. package/modules/taboolaBidAdapter.js +20 -7
  261. package/modules/tripleliftBidAdapter.js +1 -1
  262. package/modules/ttdBidAdapter.js +4 -0
  263. package/modules/vidazooBidAdapter.js +31 -8
  264. package/modules/yandexBidAdapter.js +85 -19
  265. package/modules/yandexBidAdapter.md +7 -7
  266. package/modules/yieldlabBidAdapter.js +10 -4
  267. package/modules/yieldliftBidAdapter.js +3 -3
  268. package/package.json +2 -2
  269. package/src/auction.js +30 -4
  270. package/src/consentHandler.js +8 -0
  271. package/src/constants.json +2 -1
  272. package/src/events.js +4 -0
  273. package/src/native.js +31 -20
  274. package/src/refererDetection.js +6 -1
  275. package/src/storageManager.js +6 -3
  276. package/test/helpers/analytics.js +34 -0
  277. package/test/helpers/refererDetectionHelper.js +88 -0
  278. package/test/mocks/analyticsStub.js +3 -1
  279. package/test/spec/AnalyticsAdapter_spec.js +119 -116
  280. package/test/spec/auctionmanager_spec.js +119 -1
  281. package/test/spec/modules/33acrossIdSystem_spec.js +4 -1
  282. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +10 -8
  283. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +18 -25
  284. package/test/spec/modules/adhashBidAdapter_spec.js +65 -11
  285. package/test/spec/modules/aidemBidAdapter_spec.js +664 -0
  286. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +0 -2
  287. package/test/spec/modules/browsiRtdProvider_spec.js +2 -1
  288. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -4
  289. package/test/spec/modules/enrichmentFpdModule_spec.js +3 -2
  290. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +0 -3
  291. package/test/spec/modules/eplanningBidAdapter_spec.js +4 -4
  292. package/test/spec/modules/fluctBidAdapter_spec.js +37 -1
  293. package/test/spec/modules/fpdModule_spec.js +1 -1
  294. package/test/spec/modules/gdprEnforcement_spec.js +115 -68
  295. package/test/spec/modules/genericAnalyticsAdapter_spec.js +284 -0
  296. package/test/spec/modules/geoedgeRtdProvider_spec.js +15 -0
  297. package/test/spec/modules/glomexBidAdapter_spec.js +4 -0
  298. package/test/spec/modules/gravitoIdSystem_spec.js +1 -1
  299. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +70 -0
  300. package/test/spec/modules/impactifyBidAdapter_spec.js +13 -0
  301. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +17 -27
  302. package/test/spec/modules/jwplayerRtdProvider_spec.js +3 -3
  303. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +0 -2
  304. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -6
  305. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +7 -1
  306. package/test/spec/modules/nexx360BidAdapter_spec.js +441 -221
  307. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +3 -11
  308. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -11
  309. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +3 -12
  310. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +6 -19
  311. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +3 -17
  312. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +13 -19
  313. package/test/spec/modules/rasBidAdapter_spec.js +5 -1
  314. package/test/spec/modules/redtramBidAdapter_spec.js +256 -0
  315. package/test/spec/modules/riseBidAdapter_spec.js +24 -0
  316. package/test/spec/modules/rtbhouseBidAdapter_spec.js +79 -0
  317. package/test/spec/modules/seedtagBidAdapter_spec.js +65 -92
  318. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +4 -8
  319. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +6 -18
  320. package/test/spec/modules/taboolaBidAdapter_spec.js +39 -0
  321. package/test/spec/modules/tripleliftBidAdapter_spec.js +3 -10
  322. package/test/spec/modules/ttdBidAdapter_spec.js +50 -9
  323. package/test/spec/modules/vidazooBidAdapter_spec.js +173 -27
  324. package/test/spec/modules/yandexBidAdapter_spec.js +22 -13
  325. package/test/spec/modules/yieldlabBidAdapter_spec.js +49 -20
  326. package/test/spec/modules/yieldliftBidAdapter_spec.js +1 -1
  327. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -2
  328. package/test/spec/native_spec.js +68 -56
  329. package/test/spec/ortb2.5StrictTranslator/dsl_spec.js +137 -0
  330. package/test/spec/ortb2.5StrictTranslator/spec_spec.js +358 -0
  331. package/test/spec/ortb2.5StrictTranslator/translator_spec.js +16 -0
  332. package/test/spec/ortb2.5Translator/translator_spec.js +64 -0
  333. package/test/spec/refererDetection_spec.js +46 -95
  334. package/test/spec/unit/core/storageManager_spec.js +2 -1
@@ -60,6 +60,12 @@ describe('adhashBidAdapter', function () {
60
60
  bid.params.platformURL = 'https://';
61
61
  expect(spec.isBidRequestValid(bid)).to.equal(false);
62
62
  });
63
+
64
+ it('should return false when bidderURL is present but not https://', function () {
65
+ const bid = { ...validBid };
66
+ bid.params.bidderURL = 'http://example.com/';
67
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
68
+ });
63
69
  });
64
70
 
65
71
  describe('buildRequests', function () {
@@ -73,11 +79,11 @@ describe('adhashBidAdapter', function () {
73
79
  it('should build the request correctly', function () {
74
80
  const result = spec.buildRequests(
75
81
  [ bidRequest ],
76
- { gdprConsent: { gdprApplies: true, consentString: 'example' }, refererInfo: { referer: 'http://example.com/' } }
82
+ { gdprConsent: { gdprApplies: true, consentString: 'example' }, refererInfo: { topmostLocation: 'https://example.com/path.html' } }
77
83
  );
78
84
  expect(result.length).to.equal(1);
79
85
  expect(result[0].method).to.equal('POST');
80
- expect(result[0].url).to.equal('https://bidder.adhash.com/rtb?version=1.0&prebid=true&publisher=0xc3b09b27e9c6ef73957901aa729b9e69e5bbfbfb');
86
+ expect(result[0].url).to.equal('https://bidder.adhash.com/rtb?version=3.2&prebid=true&publisher=0xc3b09b27e9c6ef73957901aa729b9e69e5bbfbfb');
81
87
  expect(result[0].bidRequest).to.equal(bidRequest);
82
88
  expect(result[0].data).to.have.property('timezone');
83
89
  expect(result[0].data).to.have.property('location');
@@ -93,7 +99,7 @@ describe('adhashBidAdapter', function () {
93
99
  const result = spec.buildRequests([ bidRequest ], { gdprConsent: { gdprApplies: true, consentString: 'example' } });
94
100
  expect(result.length).to.equal(1);
95
101
  expect(result[0].method).to.equal('POST');
96
- expect(result[0].url).to.equal('https://bidder.adhash.com/rtb?version=1.0&prebid=true&publisher=0xc3b09b27e9c6ef73957901aa729b9e69e5bbfbfb');
102
+ expect(result[0].url).to.equal('https://bidder.adhash.com/rtb?version=3.2&prebid=true&publisher=0xc3b09b27e9c6ef73957901aa729b9e69e5bbfbfb');
97
103
  expect(result[0].bidRequest).to.equal(bidRequest);
98
104
  expect(result[0].data).to.have.property('timezone');
99
105
  expect(result[0].data).to.have.property('location');
@@ -127,9 +133,15 @@ describe('adhashBidAdapter', function () {
127
133
  creatives: [{ costEUR: 1.234 }],
128
134
  advertiserDomains: 'adhash.com',
129
135
  badWords: [
130
- ['onqjbeq1', 'full', 1],
131
- ['onqjbeq2', 'partial', 1],
136
+ ['onqjbeq', 'full', 1],
137
+ ['onqjbeqo', 'partial', 1],
132
138
  ['tbbqjbeq', 'full', -1],
139
+ ['fgnegf', 'starts', 1],
140
+ ['raqf', 'ends', 1],
141
+ ['kkk[no]lll', 'regexp', 1],
142
+ ['дума', 'full', 1],
143
+ ['старт', 'starts', 1],
144
+ ['край', 'ends', 1],
133
145
  ],
134
146
  maxScore: 2
135
147
  }
@@ -155,42 +167,84 @@ describe('adhashBidAdapter', function () {
155
167
 
156
168
  it('should return empty array when there are bad words (full)', function () {
157
169
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
158
- return 'example text badWord1 badWord1 example badWord1 text' + ' word'.repeat(493);
170
+ return 'example text badword badword example badword text' + ' word'.repeat(993);
171
+ });
172
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
173
+ });
174
+
175
+ it('should return empty array when there are bad words (full cyrillic)', function () {
176
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
177
+ return 'example text дума дума example дума text' + ' текст'.repeat(993);
159
178
  });
160
179
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
161
180
  });
162
181
 
163
182
  it('should return empty array when there are bad words (partial)', function () {
164
183
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
165
- return 'example text partialBadWord2 badword2 example BadWord2text' + ' word'.repeat(494);
184
+ return 'example text partialbadwordb badwordb example badwordbtext' + ' word'.repeat(994);
185
+ });
186
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
187
+ });
188
+
189
+ it('should return empty array when there are bad words (starts)', function () {
190
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
191
+ return 'example text startsWith starts text startsAgain' + ' word'.repeat(994);
192
+ });
193
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
194
+ });
195
+
196
+ it('should return empty array when there are bad words (starts cyrillic)', function () {
197
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
198
+ return 'example text стартТекст старт text стартТекст' + ' дума'.repeat(994);
199
+ });
200
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
201
+ });
202
+
203
+ it('should return empty array when there are bad words (ends)', function () {
204
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
205
+ return 'example text wordEnds ends text anotherends' + ' word'.repeat(994);
206
+ });
207
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
208
+ });
209
+
210
+ it('should return empty array when there are bad words (ends cyrillic)', function () {
211
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
212
+ return 'example text ДругКрай край text ощеединкрай' + ' дума'.repeat(994);
213
+ });
214
+ expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
215
+ });
216
+
217
+ it('should return empty array when there are bad words (regexp)', function () {
218
+ bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
219
+ return 'example text xxxayyy zzxxxAyyyzz text xxxbyyy' + ' word'.repeat(994);
166
220
  });
167
221
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(0);
168
222
  });
169
223
 
170
224
  it('should return non-empty array when there are not enough bad words (full)', function () {
171
225
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
172
- return 'example text badWord1 badWord1 example text' + ' word'.repeat(494);
226
+ return 'example text badword badword example text' + ' word'.repeat(994);
173
227
  });
174
228
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(1);
175
229
  });
176
230
 
177
231
  it('should return non-empty array when there are not enough bad words (partial)', function () {
178
232
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
179
- return 'example text partialBadWord2 example' + ' word'.repeat(496);
233
+ return 'example text partialbadwordb example' + ' word'.repeat(996);
180
234
  });
181
235
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(1);
182
236
  });
183
237
 
184
238
  it('should return non-empty array when there are no-bad word matches', function () {
185
239
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
186
- return 'example text partialBadWord1 example text' + ' word'.repeat(495);
240
+ return 'example text partialbadword example text' + ' word'.repeat(995);
187
241
  });
188
242
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(1);
189
243
  });
190
244
 
191
245
  it('should return non-empty array when there are bad words and good words', function () {
192
246
  bodyStub = sinon.stub(window.top.document.body, 'innerText').get(function() {
193
- return 'example text badWord1 badWord1 example badWord1 goodWord goodWord ' + ' word'.repeat(492);
247
+ return 'example text badword badword example badword goodWord goodWord ' + ' word'.repeat(992);
194
248
  });
195
249
  expect(spec.interpretResponse(serverResponse, request).length).to.equal(1);
196
250
  });