Skip to content
This repository has been archived by the owner on Oct 30, 2018. It is now read-only.

Commit

Permalink
Merge pull request #726 from drewfish/perf-unit
Browse files Browse the repository at this point in the history
fixed unit tests (again)
  • Loading branch information
drewfish committed Nov 8, 2012
2 parents 1f4a31d + 51c96a2 commit f2d36f5
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 100 deletions.
79 changes: 24 additions & 55 deletions tests/unit/lib/app/addons/rs/test-url.js
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ YUI().use('addon-rs-url', 'base', 'oop', 'test', function(Y) {
A.areSame('/static/X/controller--controller.common.ext', store._mojitRVs.X[0].url);
A.areSame(2, store._mojitRVs.Y.length);
A.areSame('/static/Y/controller--controller.client.ext', store._mojitRVs.Y[0].url);
A.areSame('/static/Y/controller--controller.server.ext', store._mojitRVs.Y[1].url);
A.isUndefined(store._mojitRVs.Y[1].url);
},


Expand Down Expand Up @@ -226,39 +226,8 @@ YUI().use('addon-rs-url', 'base', 'oop', 'test', function(Y) {
store._makeResource('mojito', 'shared', 'x', 'y', 'common');
store._makeResource('orange', 'shared', 'x', 'y', 'common');
store.resolveResourceVersions();
A.areSame('/FFF/x--y.common.ext', store._mojitRVs.shared[0].url);
A.areSame('/AAA/x--y.common.ext', store._mojitRVs.shared[1].url);
},


'assume rollups': function() {
var fixtures = libpath.join(__dirname, '../../../../fixtures/store');
var store = new MockRS({
root: fixtures,
appConfig: {
staticHandling: { assumeRollups: true }
}
});
store.plug(Y.mojito.addons.rs.url, { appRoot: fixtures, mojitoRoot: mojitoRoot } );

store._makeResource('mojito', 'shared', 'x', 'y', 'common', 'red');
store._makeResource('orange', 'shared', 'x', 'y', 'common', 'red');
store._makeResource('orange', null, 'mojit', 'X', 'common');
store._makeResource('orange', 'X', 'x', 'y', 'common', 'red');
store._makeResource('orange', null, 'mojit', 'Y', 'common');
store._makeResource('orange', 'Y', 'x', 'y', 'common', 'red');
store._makeResource('orange', 'Y', 'not', 'yui', 'common');
store.resolveResourceVersions();
A.areSame('/static/store/rollup.client.js', store._mojitRVs.shared[0].url);
A.areSame(libpath.join(fixtures, 'rollup.client.js'), store._mojitRVs.shared[0].source.fs.rollupPath);
A.areSame('/static/store/rollup.client.js', store._mojitRVs.shared[1].url);
A.areSame(libpath.join(fixtures, 'rollup.client.js'), store._mojitRVs.shared[1].source.fs.rollupPath);
A.areSame('/static/X/rollup.client.js', store._mojitRVs.X[0].url);
A.areSame('path/for/mojit--X.common.ext/rollup.client.js', store._mojitRVs.X[0].source.fs.rollupPath);
A.areSame('/static/Y/rollup.client.js', store._mojitRVs.Y[0].url);
A.areSame('path/for/mojit--Y.common.ext/rollup.client.js', store._mojitRVs.Y[0].source.fs.rollupPath);
A.areSame('/static/Y/not--yui.common.ext', store._mojitRVs.Y[1].url);
A.isUndefined(store._mojitRVs.Y[1].source.fs.rollupPath);
A.areSame('/static/FFF/x--y.common.ext', store._mojitRVs.shared[0].url);
A.areSame('/static/AAA/x--y.common.ext', store._mojitRVs.shared[1].url);
},


Expand Down Expand Up @@ -297,51 +266,51 @@ YUI().use('addon-rs-url', 'base', 'oop', 'test', function(Y) {
store.plug(Y.mojito.addons.rs.url, {appRoot: fixtures, mojitoRoot: mojitoRoot});

store._makeResource('mojito', 'shared', 'x', 'y', 'common', 'red');
store._makeResource('orange', 'shared', 'x', 'y', 'common', 'red');
store._makeResource('orange', 'shared', 'x', 'y', 'common', 'blue');
store.resolveResourceVersions();
cb(store);
}

runTest({appName: '/'}, function(store) {
A.areSame('/static/mojito/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with appName /');
A.areSame('/static/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with /');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with appName /');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with /');
});
runTest({appName: '/AAA'}, function(store) {
A.areSame('/static/mojito/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with appName /AAA');
A.areSame('/static/AAA/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with appName /AAA');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with appName /AAA');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with appName /AAA');
});
runTest({appName: 'AAA/'}, function(store) {
A.areSame('/static/mojito/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with appName AAA/');
A.areSame('/static/AAA/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with appName AAA/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with appName AAA/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with appName AAA/');
});
runTest({appName: '/AAA/'}, function(store) {
A.areSame('/static/mojito/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with appName /AAA/');
A.areSame('/static/AAA/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with appName /AAA/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with appName /AAA/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with appName /AAA/');
});
runTest({appName: '/AAA/BBB/'}, function(store) {
A.areSame('/static/mojito/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with appName /AAA/BBB/');
A.areSame('/static/AAA/BBB/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with appName /AAA/BBB/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with appName /AAA/BBB/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with appName /AAA/BBB/');
});

runTest({frameworkName: '/'}, function(store) {
A.areSame('/static/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with frameworkName /');
A.areSame('/static/store/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with frameworkName /');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with frameworkName /');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with frameworkName /');
});
runTest({frameworkName: '/FFF'}, function(store) {
A.areSame('/static/FFF/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF');
A.areSame('/static/store/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF');
});
runTest({frameworkName: 'FFF/'}, function(store) {
A.areSame('/static/FFF/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with frameworkName FFF/');
A.areSame('/static/store/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with frameworkName FFF/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with frameworkName FFF/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with frameworkName FFF/');
});
runTest({frameworkName: '/FFF/'}, function(store) {
A.areSame('/static/FFF/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF/');
A.areSame('/static/store/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF/');
});
runTest({frameworkName: '/FFF/BBB/'}, function(store) {
A.areSame('/static/FFF/BBB/x--y.common.ext', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF/BBB/');
A.areSame('/static/store/x--y.common.ext', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF/BBB/');
A.areSame('/static/red.js', store._mojitRVs.shared[0].url, 'mojito with frameworkName /FFF/BBB/');
A.areSame('/static/blue.js', store._mojitRVs.shared[1].url, 'shared with frameworkName /FFF/BBB/');
});
}

Expand Down
72 changes: 34 additions & 38 deletions tests/unit/lib/app/addons/rs/test-yui.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@ YUI().use(


function parseConfig(config) {
var ctx = { x: undefined };
var ctx = {
Y: {
config: {},
merge: Y.merge
},
x: undefined
};
config = 'x = ' + config + ';';
libvm.runInNewContext(config, ctx, 'config');
return ctx.x;
Expand Down Expand Up @@ -566,26 +572,21 @@ YUI().use(

series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({type: 'yui-loader', subtype:'app-base', name:'en-US' });
ress = store.getResourceVersions({mojit: 'shared', type: 'yui-module', subtype:'synthetic', name:'loader-app-base-en-US' });
A.isArray(ress);
A.areSame(1, ress.length);
A.areSame(1, ress.length, "didn't find yui-module-synthetic-loader-app-base-en-US");
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNull(stat);
A.isNull(err, 'error');
A.isNotNull(stat, 'stat');
meta = buffer.toString();
var matches = meta.match(/Y\.applyConfig\(([\s\S]+?)\);/);
var config = parseConfig(matches[1]);
A.isObject(config);
A.isObject(config.groups);
A.areSame(1, Object.keys(config.groups).length);
A.isObject(config.groups.app);
A.isTrue(config.groups.app.combine);
A.areSame(1024, config.groups.app.maxURLLength);
A.areSame('/static/', config.groups.app.base);
A.areSame('/static/combo?', config.groups.app.comboBase);
A.areSame('', config.groups.app.root);
// we'll just spot-check a few things
A.isObject(config.groups.app.modules);
A.isObject(config.groups.app.modules['lang/PagedFlickr_en-US']);
Expand All @@ -603,26 +604,21 @@ YUI().use(
});
series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({type: 'yui-loader', subtype:'app-full', name:'en-US' });
ress = store.getResourceVersions({mojit: 'shared', type: 'yui-module', subtype:'synthetic', name:'loader-app-resolved-en-US' });
A.isArray(ress);
A.areSame(1, ress.length);
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNull(stat);
A.isNull(err, 'err');
A.isNotNull(stat, 'stat');
meta = buffer.toString();
var matches = meta.match(/Y\.applyConfig\(([\s\S]+?)\);/);
var config = parseConfig(matches[1]);
A.isObject(config);
A.isObject(config.groups);
A.areSame(1, Object.keys(config.groups).length);
A.isObject(config.groups.app);
A.isTrue(config.groups.app.combine);
A.areSame(1024, config.groups.app.maxURLLength);
A.areSame('/static/', config.groups.app.base);
A.areSame('/static/combo?', config.groups.app.comboBase);
A.areSame('', config.groups.app.root);
// we'll just spot-check a few things
A.isObject(config.groups.app.modules);
A.isObject(config.groups.app.modules['lang/PagedFlickr_en-US']);
Expand All @@ -640,7 +636,7 @@ YUI().use(
obj = config.groups.app.modules[i];
A.isNotUndefined(obj.name);
A.isNotUndefined(obj.type);
A.isNotUndefined(obj.fullpath);
A.isNotUndefined(obj.path);
A.isNotUndefined(obj.requires);
A.isNotUndefined(obj.defaults);
// language bundles don't have expanded_map
Expand All @@ -656,29 +652,14 @@ YUI().use(
});
series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({type: 'yui-loader', subtype:'rollup', name:'' });
ress = store.getResourceVersions({mojit: 'shared', type: 'yui-module', subtype:'synthetic', name:'loader-yui3-base-en-US' });
A.isArray(ress);
A.areSame(1, ress.length);
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNull(stat);
meta = buffer.toString();
A.areSame('YUI.add("loader",function(Y){},"",{requires:["loader-base","loader-yui3","loader-app-base"]});', meta);
next();
});
});
series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({type: 'yui-loader', subtype:'yui-base', name:'en-US' });
A.isArray(ress);
A.areSame(1, ress.length);
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNull(stat);
A.isNotNull(stat);
meta = buffer.toString();
var matches = meta.match(/\.modules=[^|]+\|\|([\s\S]+?);},"",{requires:/);
var config = parseConfig(matches[1]);
Expand All @@ -694,14 +675,14 @@ YUI().use(
});
series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({type: 'yui-loader', subtype:'yui-full', name:'en-US' });
ress = store.getResourceVersions({mojit: 'shared', type: 'yui-module', subtype:'synthetic', name:'loader-yui3-resolved-en-US' });
A.isArray(ress);
A.areSame(1, ress.length);
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNull(stat);
A.isNotNull(stat);
meta = buffer.toString();
var matches = meta.match(/\.modules=[^|]+\|\|([\s\S]+?);},"",{requires:/);
var config = parseConfig(matches[1]);
Expand All @@ -725,6 +706,21 @@ YUI().use(
next();
});
});
series.push(function(next) {
var res, ress;
ress = store.getResourceVersions({mojit: 'shared', type: 'yui-module', subtype:'synthetic', name:'loader-app' });
A.isArray(ress);
A.areSame(1, ress.length);
res = ress[0];
A.isObject(res);
store.getResourceContent(res, function(err, buffer, stat) {
A.isNull(err);
A.isNotNull(stat);
meta = buffer.toString();
A.areSame('YUI.add("loader",function(Y){},"",{requires:["loader-base","loader-yui3","loader-app"]});', meta);
next();
});
});
libasync.series(series, function(err) {
A.isNull(err, 'no errors for all tests');
});
Expand Down
11 changes: 4 additions & 7 deletions tests/unit/lib/app/autoload/test-store.server.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,19 +265,16 @@ YUI().use(
'expandInstance caching': function() {
var inInstance = {
base: 'a',
action: 'b',
type: 'c',
id: 'd'
type: 'c'
};
var context = {};
var key = Y.JSON.stringify([inInstance, ['*'], context.lang]);
store._expandInstanceCache.server[key] = { x: 'y' };
store.expandInstance(inInstance, context, function(err, outInstance) {
A.areEqual(5, Object.keys(outInstance).length);
A.isNull(err);
A.areEqual(3, Object.keys(outInstance).length);
A.areEqual('a', outInstance.base);
A.areEqual('b', outInstance.action);
A.areEqual('c', outInstance.type);
A.areEqual('d', outInstance.id);
A.areEqual('y', outInstance.x);
});
},
Expand Down Expand Up @@ -448,7 +445,7 @@ YUI().use(
'appConfig staticHandling.prefix': function() {
var spec = { type: 'PagedFlickr' };
store.expandInstance(spec, {}, function(err, instance) {
A.areSame('/PagedFlickr/assets', instance.assetsRoot);
A.areSame('/static/PagedFlickr/assets', instance.assetsRoot);
});
}

Expand Down

0 comments on commit f2d36f5

Please sign in to comment.