/** * Provides helper methods for invoking Studio modal windows in Jasmine tests. */ define(["jquery", "underscore"], function($, _) { var installTemplate, installTemplates; installTemplate = function(templateFile, isFirst, templateId) { var template = readFixtures(templateFile + '.underscore'), templateName = templateFile, slashIndex = _.lastIndexOf(templateName, "/"); if (slashIndex >= 0) { templateName = templateFile.substring(slashIndex + 1); } if (!templateId) { templateId = templateName + '-tpl'; } if (isFirst) { setFixtures($('<script>', { id: templateId, type: 'text/template' }).text(template)); } else { appendSetFixtures($('<script>', { id: templateId, type: 'text/template' }).text(template)); } }; installTemplates = function(templateNames, isFirst) { if (!$.isArray(templateNames)) { templateNames = [templateNames]; } $.each(templateNames, function(index, templateName) { installTemplate(templateName, isFirst); if (isFirst) { isFirst = false; } }); }; return { 'installTemplate': installTemplate, 'installTemplates': installTemplates }; });