asyncTest("preloader", function () { AssetList.empty(); AssetList.load(function () { equal(AssetList.loaded, AssetList.size(), 'assets loaded'); start(); }); });
require(['app'], function (app) { var BgView = require('app/views/bg-view'), Vars = require('app/models/vars'), AssetList = require('app/collections/asset-list'), SpeechCommand = require('app/views/components/speech-command'), Recipes = require('app/collections/recipes'), RecipeTemplate = require('text!templates/recipe-template.html'), TimerView = require('app/views/timer-view'), RecipeQuantityView = require('app/views/recipe-quantity-view'); require('balance'); AssetList.load(function () {}); app.start(); test( "hello test", function() { ok( 1 == "1", "Passed!" ); }); //bg transitions test( "bg test", function () { var bg = new BgView(); var goto = 1; var transition = Vars.get('pages').findWhere({id: goto}).get('transition'); equal(bg.currentTransition, 0, 'bg first currentTransition is 0'); bg.goto(goto); equal(bg.nextTransition, transition, 'bg goto nextTransition matches'); }); test('timer', function () { var timer = new TimerView(); timer.reset(); equal(timer.running, false, 'timer is initially stopped'); timer.start(); equal(timer.running, true, 'timer start works'); timer.pause(); equal(timer.running, false, 'timer pause works'); timer.reset(); equal(timer.running, false, 'timer reset stops running'); equal(timer.parseTime(30), '00:00:30', '30 seconds'); equal(timer.parseTime(60), '00:01:00', '1 minute'); equal(timer.parseTime(90), '00:01:30', '1 minute 30 seconds'); equal(timer.parseTime(120), '00:02:00', '2 minutes'); equal(timer.parseTime(3600), '01:00:00', '1 hour'); equal(timer.parseTime(5400), '01:30:00', '1 hour 30 minutes'); equal(timer.parseTime(7200), '02:00:00', '2 hours'); }); //preloader asyncTest("preloader", function () { AssetList.empty(); AssetList.load(function () { equal(AssetList.loaded, AssetList.size(), 'assets loaded'); start(); }); }); //transition test asyncTest( "transition anim callbacks", function() { var bg = new BgView(); bg.transitions[0].animIn(function () { ok( true, "animIn callback works" ); start(); }); }); //bg test asyncTest( "bg goto", function() { var bg = new BgView(); var goto = 1; var transition = Vars.get('pages').findWhere({id: goto}).get('transition'); equal(bg.currentTransition, 0, 'bg first currentTransition is 0'); bg.goto(goto); setTimeout(function() { equal(bg.currentTransition, transition, 'currentTransition updates'); start(); }, 1001); }); //test for audio api test('speech command', function () { equal(SpeechCommand.queryResult('asdf'), false, 'query not found'); equal(SpeechCommand.queryResult('go to cupcakes'), 'view-go-to', 'query found'); }); //test for templates test('recipe templates', function () { var template = _.template(RecipeTemplate), compiled = template({recipe: Recipes.models[0].toJSON()}); equal(compiled, Recipes.getTemplate(Recipes.models[0].get('id')), 'templates match'); }); //navigate test("navigate", function() { app.navigate('view-go-to'); equal(app.first, false, 'is not initial view'); equal(app.currentPage, 1, 'navigate updates view'); app.navigate('view-cover'); equal(app.first, false, 'is not initial view'); equal(app.currentPage, 0, 'navigate updates view'); }); test("navigate recipe", function () { app.recipe('chocolate-cupcake'); equal(app.recipeView.visible, true, 'navigate to recipe works'); app.navigate('view-go-to/chocolate'); equal(app.recipeView.visible, false, 'navigate from recipe works'); }); test('fraction to decimial', function () { var qv = new RecipeQuantityView(); equal(qv.fractionToDecimal('½'), 0.5, 'converts 1/2'); equal(qv.fractionToDecimal('¾'), 0.75, 'converts 3/4'); equal(qv.fractionToDecimal('1½'), 1.5, 'converts 1 1/2'); equal(qv.fractionToDecimal('2¾'), 2.75, 'converts 2¾'); }); test('decimal to fraction', function () { var qv = new RecipeQuantityView(); equal(qv.decimalToFraction(0.25), '¼', 'converts 0.25'); equal(qv.decimalToFraction(0.5), '½', 'converts 0.5'); equal(qv.decimalToFraction(0.75), '¾', 'converts 0.75'); equal(qv.decimalToFraction(1.5), '1½', 'converts 1.5'); equal(qv.decimalToFraction(4.25), '4¼', 'converts 4.25'); }); });