-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace all placeholders with the corresponding ortb assets #211
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi there. I request only one change: to add a test case.
It'll be very easy, infact I have just wrote it for you :D
in nativeAssetManager_spec.js , in test "no placeholders found but requests all assets flag set - adTemplate - openRTB", add a duplicate placeholder (for example I added <h2>##hb_native_asset_id_1##</h2>
, that corresponds to new value
) and then test with
// test that we are replacing ALL assets occurrences occurrences
expect(([...win.document.body.innerHTML.match(/new value/g)] || []).length, "expected 2 occurrences of \"new value\"").to.equal(2);
@musikele thanks for the test, it's now available in the code 😁. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* add support for catching errors from postscribe library (prebid#129) * Prebid Universal Creative 1.12.0 Release * increment pre version * Static vast tag for mobile rendering API for rewarded video (prebid#148) * the static vast tag for mobile rendering API for rewarded video * update gulpfile to handle static vast XML file in build process Co-authored-by: Yuriy Velichko <yuriy.velichko@openx.com> Co-authored-by: Jason Snellbaker <jsnellbaker@appnexus.com> * temporarily disable unit test (prebid#149) * Prebid Universal Creative 1.13.0 Release * increment pre version * Signal AD_RENDER_FAILED / AD_RENDER_SUCCEEDED events to Prebid (prebid#152) Add a new type of cross-origin message ('Prebid Message') to signal when render-related events should be generated by Prebid. * Add issue tracking workflow: automatically create project items for new issues (prebid#161) * Upgrade dependencies make the build work on recent(ish) versions of Node (prebid#159) * Use MessageChannel for cross-frame messages (prebid#154) * Use MessageChannel for cross-frame messages * Use transformAuctionTargetingData for nativeTrackerManager * readme: removed 'coming soon' message (prebid#170) * Remove <!doctype> from markup before rendering with postscribe (prebid#172) * Bump got from 11.8.3 to 11.8.5 (prebid#169) Bumps [got](https://github.com/sindresorhus/got) from 11.8.3 to 11.8.5. - [Release notes](https://github.com/sindresorhus/got/releases) - [Commits](sindresorhus/got@v11.8.3...v11.8.5) --- updated-dependencies: - dependency-name: got dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump copy-props from 2.0.4 to 2.0.5 (prebid#163) Bumps [copy-props](https://github.com/gulpjs/copy-props) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/gulpjs/copy-props/releases) - [Changelog](https://github.com/gulpjs/copy-props/blob/master/CHANGELOG.md) - [Commits](gulpjs/copy-props@2.0.4...2.0.5) --- updated-dependencies: - dependency-name: copy-props dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump tar from 4.4.8 to 4.4.19 (prebid#162) Bumps [tar](https://github.com/npm/node-tar) from 4.4.8 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v4.4.8...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Replace missing native assets with empty strings (prebid#171) * Replace missing native assets with empty strings * Update: Replace missing native assets with empty strings * Fix: Replace missing native assets with empty strings Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> * Fix bugs / tests with empty string default for missing assets (prebid#178) * Fix bugs / tests with empty string default for missing assets * Run tests on PRs * Update test browsers to be in line with Prebid.js * Update circleCI image to be in line with the one used for releases * Bump yargs-parser from 5.0.0 to 5.0.1 (prebid#164) Bumps [yargs-parser](https://github.com/yargs/yargs-parser) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/yargs/yargs-parser/releases) - [Changelog](https://github.com/yargs/yargs-parser/blob/v5.0.1/CHANGELOG.md) - [Commits](yargs/yargs-parser@v5.0.0...v5.0.1) --- updated-dependencies: - dependency-name: yargs-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Native ortb (prebid#150) * if there is an ortb2 field pass it to renderAd function * replace ortb2 with ortb * handle impression and clicktrackers within puc * fix tests * add tests for native ortb trackers * add openRTB feature for adTemplate * add unit test for native ortb * fix unit test post rebase * convert legacy templates to ortb templates * set the width of the iframe to the parent div width * native renderer receives both legacy and ortb assets * only resize the native ad when the size is 1x1 * send message to trigger trackers on pbjs * default: return empty string if no asset is found * add suport for eventtrackers as of native ortb 1.2 * fix broken test introduced with prebid#171 * fix broken test introduced with prebid#171 * remove accidentally added files * fixes after rebasing Co-authored-by: Michele Nasti <michele@rtk.io> Co-authored-by: Michele Nasti <musikele@users.noreply.github.com> * Bump engine.io and karma (prebid#173) Bumps [engine.io](https://github.com/socketio/engine.io) and [karma](https://github.com/karma-runner/karma). These dependencies needed to be updated together. Updates `engine.io` from 3.2.1 to 6.2.0 - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md) - [Commits](socketio/engine.io@3.2.1...6.2.0) Updates `karma` from 4.3.0 to 6.4.0 - [Release notes](https://github.com/karma-runner/karma/releases) - [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md) - [Commits](karma-runner/karma@v4.3.0...v6.4.0) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect - dependency-name: karma dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Prebid Universal Creative 1.14.0 release * Increment version to 1.15.0-pre * Bump ejs and webdriverio (prebid#184) Bumps [ejs](https://github.com/mde/ejs) to 3.1.8 and updates ancestor dependency [webdriverio](https://github.com/webdriverio/webdriverio). These dependencies need to be updated together. Updates `ejs` from 3.1.6 to 3.1.8 - [Release notes](https://github.com/mde/ejs/releases) - [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md) - [Commits](mde/ejs@v3.1.6...v3.1.8) Updates `webdriverio` from 4.14.4 to 7.25.2 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](webdriverio/webdriverio@v4.14.4...v7.25.2) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect - dependency-name: webdriverio dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Separate puc (prebid#165) * separate puc into multiple output files based on format * shake plugin * move stuff around for easier treeshaking * add building legacy 'creative.js' for backwards compatibility fix docs and style * Static vast tag for mobile rendering API for rewarded video (prebid#148) * temporarily disable unit test (prebid#149) * Signal AD_RENDER_FAILED / AD_RENDER_SUCCEEDED events to Prebid (prebid#152) * Add issue tracking workflow: automatically create project items for new issues * add .npmignore to not break jsdelivr * avoid code duplicates in gulpfile * fix renderCrossDomain after rebase * fixes post rebase * in order to support tree-shaking, environment is not an object anymore * remove deprecation warning from uid.js * update creative in the readme.md * add test for legacyNativeRender to accept only one argument * added package-lock so npm ci doesn't fail * fix to first argument of call method * fix for iframe width not being resized correctly when creative is safeframe * add generation of legacy files on watch * new package lock with newer dependencies Co-authored-by: Filip Stamenkovic <ficadub@gmail.com> Co-authored-by: Michele Nasti <michele@rtk.io> * add buil-dev task (prebid#189) Co-authored-by: Michele Nasti <michele@rtk.io> * make the project work with node latest; upgrade wdio (prebid#188) * make the project work with node latest; upgrade wdio * remove engine property Co-authored-by: Michele Nasti <michele@rtk.io> * Bump qs and body-parser (prebid#197) Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together. Updates `qs` from 6.9.0 to 6.11.0 - [Release notes](https://github.com/ljharb/qs/releases) - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.9.0...v6.11.0) Updates `body-parser` from 1.19.0 to 1.20.1 - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](expressjs/body-parser@1.19.0...1.20.1) --- updated-dependencies: - dependency-name: qs dependency-type: indirect - dependency-name: body-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump decode-uri-component from 0.2.0 to 0.2.2 (prebid#195) Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump engine.io from 6.2.0 to 6.2.1 (prebid#192) Bumps [engine.io](https://github.com/socketio/engine.io) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md) - [Commits](socketio/engine.io@6.2.0...6.2.1) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * hb_native_privicon (prebid#194) Co-authored-by: skoklowski <slawomir.koklowski@ringieraxelspringer.pl> * Prebid Universal Creative 1.15.0 release * Increment version to 1.16.0-pre * Add macro to track clicks (prebid#196) * added support for GAM macro %%CLICK_URL_UNESC%% * add tests for %%CLICK_URL_UNESC%% * add info about clickUrlUnesc in readme Co-authored-by: Michele Nasti <michele@rtk.io> * Update issue_tracker.yml for new GH API (prebid#203) * Replace all placeholders with the corresponding ortb assets (prebid#211) * Replace all placeholders with the corresponding ortb assets * Add test for replacing all placeholders * Use gulp in test script --------- Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> * Remove DOCTYPE from markup for app/amp/mobile (prebid#210) * Bump http-cache-semantics from 4.1.0 to 4.1.1 (prebid#205) Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/kornelski/http-cache-semantics/releases) - [Commits](kornelski/http-cache-semantics@v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: http-cache-semantics dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump ua-parser-js from 0.7.32 to 0.7.33 (prebid#202) Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.32 to 0.7.33. - [Release notes](https://github.com/faisalman/ua-parser-js/releases) - [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md) - [Commits](faisalman/ua-parser-js@0.7.32...0.7.33) --- updated-dependencies: - dependency-name: ua-parser-js dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump minimist, mkdirp, handlebars, karma-mocha and mocha (prebid#207) Bumps [minimist](https://github.com/minimistjs/minimist) to 1.2.8 and updates ancestor dependencies [minimist](https://github.com/minimistjs/minimist), [mkdirp](https://github.com/isaacs/node-mkdirp), [handlebars](https://github.com/wycats/handlebars.js), [karma-mocha](https://github.com/karma-runner/karma-mocha) and [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together. Updates `minimist` from 1.2.0 to 1.2.8 - [Release notes](https://github.com/minimistjs/minimist/releases) - [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md) - [Commits](minimistjs/minimist@v1.2.0...v1.2.8) Updates `mkdirp` from 0.5.1 to 0.5.6 - [Release notes](https://github.com/isaacs/node-mkdirp/releases) - [Changelog](https://github.com/isaacs/node-mkdirp/blob/main/CHANGELOG.md) - [Commits](isaacs/node-mkdirp@0.5.1...v0.5.6) Updates `handlebars` from 4.4.3 to 4.7.7 - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md) - [Commits](handlebars-lang/handlebars.js@v4.4.3...v4.7.7) Updates `karma-mocha` from 1.3.0 to 2.0.1 - [Release notes](https://github.com/karma-runner/karma-mocha/releases) - [Changelog](https://github.com/karma-runner/karma-mocha/blob/master/CHANGELOG.md) - [Commits](karma-runner/karma-mocha@v1.3.0...v2.0.1) Updates `mocha` from 5.2.0 to 10.2.0 - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md) - [Commits](mochajs/mocha@v5.2.0...v10.2.0) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect - dependency-name: mkdirp dependency-type: indirect - dependency-name: handlebars dependency-type: indirect - dependency-name: karma-mocha dependency-type: direct:development - dependency-name: mocha dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump socket.io-parser from 4.2.1 to 4.2.4 (prebid#214) Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](socketio/socket.io-parser@4.2.1...4.2.4) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Improve resize logic for native (prebid#193) * Log error when renderAd lookup failed (prebid#217) * Emit AD_RENDER_SUCCEEDED and AD_RENDER_FAILED for native ads (prebid#199) * Emit AD_RENDER_SUCCEEDED and AD_RENDER_FAILED for native ads * Merge master * Bump fsevents from 1.2.9 to 1.2.13 (prebid#220) Bumps [fsevents](https://github.com/fsevents/fsevents) from 1.2.9 to 1.2.13. - [Release notes](https://github.com/fsevents/fsevents/releases) - [Commits](fsevents/fsevents@v1.2.9...v1.2.13) --- updated-dependencies: - dependency-name: fsevents dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Prebid Universal Creative 1.16.0 release * re-applied freestar logic to new codebase --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jiří Leták <jiri.letak@ibillboard.com> Co-authored-by: Jason Snellbaker <jsnellbaker@appnexus.com> Co-authored-by: Yuriy Velichko <yuriy.velichko@postindustria.com> Co-authored-by: Yuriy Velichko <yuriy.velichko@openx.com> Co-authored-by: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com> Co-authored-by: Demetrio Girardi <demetrio.girardi@gmail.com> Co-authored-by: Demetrio Girardi <dgirardi@prebid.org> Co-authored-by: bretg <bgorsline@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: anitaschiller <77627311+anitaschiller@users.noreply.github.com> Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> Co-authored-by: Filip Stamenkovic <ficadub@gmail.com> Co-authored-by: Michele Nasti <michele@rtk.io> Co-authored-by: Michele Nasti <musikele@users.noreply.github.com> Co-authored-by: Prebid.js automated release <prebidjs-release@prebid.org> Co-authored-by: Sławomir Kokłowski <38455696+skoklowski@users.noreply.github.com> Co-authored-by: skoklowski <slawomir.koklowski@ringieraxelspringer.pl> Co-authored-by: Sir-Will <brieftaubenman@gmail.com>
At the moment only the first occurrence of an ortb placeholder is replaced by the asset value, the second one will be replaced by an empty string.
I found this issue because our native design template uses the same placeholder twice for responsiveness reasons. Depending on the viewport size, one of them has the CSS property
display: none
but they are both present in the template. When the second occurrence gets displayed, the html element is always empty - I would expect all placeholders with the corresponding asset id to be replaced though.Thank you for checking! 😊