From 6ed4bce6ae3c425bdff82980e1278183f9e3fa93 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 28 Apr 2016 20:18:54 +0200 Subject: [PATCH] Add ComponentImageView tests --- src/dom_components/view/ComponentImageView.js | 11 ++-- test/runner/main.js | 2 +- test/specs/dom_components/main.js | 7 ++- .../dom_components/view/ComponentImageView.js | 57 +++++++++++++++++++ .../dom_components/view/ComponentTextView.js | 1 - 5 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 test/specs/dom_components/view/ComponentImageView.js diff --git a/src/dom_components/view/ComponentImageView.js b/src/dom_components/view/ComponentImageView.js index d59091c2c..8f3f562c1 100644 --- a/src/dom_components/view/ComponentImageView.js +++ b/src/dom_components/view/ComponentImageView.js @@ -13,22 +13,21 @@ define(['backbone', './ComponentView'], ComponentView.prototype.initialize.apply(this, arguments); this.listenTo( this.model, 'change:src', this.updateSrc); this.listenTo( this.model, 'dblclick', this.openModal); - this.classEmpty = this.config.stylePrefix + 'image-placeholder ' + this.config.imageCompClass; + var compCls = this.config.imageCompClass || ''; + this.classEmpty = this.pfx + 'image-placeholder' + (compCls ? ' ' + compCls : ''); if(!this.model.get('src')) this.$el.attr('class', this.classEmpty); if(this.config.modal) - this.modal = this.config.modal; + this.modal = this.config.modal; if(this.config.am) - this.am = this.config.am; + this.am = this.config.am; }, /** * Update src attribute - * - * @return void * @private * */ updateSrc: function(){ @@ -38,8 +37,6 @@ define(['backbone', './ComponentView'], /** * Open dialog for image changing * @param {Object} e Event - * - * @return void * @private * */ openModal: function(e){ diff --git a/test/runner/main.js b/test/runner/main.js index b0a04b652..993b3e6ca 100644 --- a/test/runner/main.js +++ b/test/runner/main.js @@ -16,7 +16,7 @@ require(['../src/config/require-config.js', 'config/config.js'], function() { 'specs/css_composer/main.js', 'specs/code_manager/main.js', 'specs/panels/main.js', - 'specs/commands/main.js', + 'specs/commands/main.js' ], function(chai) { var should = chai.should(), diff --git a/test/specs/dom_components/main.js b/test/specs/dom_components/main.js index 4744b89ae..fef7a7636 100644 --- a/test/specs/dom_components/main.js +++ b/test/specs/dom_components/main.js @@ -5,13 +5,15 @@ define([ modulePath + '/model/Component', modulePath + '/view/ComponentView', modulePath + '/view/ComponentsView', - modulePath + '/view/ComponentTextView' + modulePath + '/view/ComponentTextView', + modulePath + '/view/ComponentImageView' ], function(DomComponents, ComponentModels, ComponentView, ComponentsView, - ComponentTextView + ComponentTextView, + ComponentImageView ) { describe('DOM Components', function() { @@ -67,6 +69,7 @@ define([ ComponentView.run(); ComponentsView.run(); ComponentTextView.run(); + ComponentImageView.run(); }); }); \ No newline at end of file diff --git a/test/specs/dom_components/view/ComponentImageView.js b/test/specs/dom_components/view/ComponentImageView.js new file mode 100644 index 000000000..bd55f75cb --- /dev/null +++ b/test/specs/dom_components/view/ComponentImageView.js @@ -0,0 +1,57 @@ +var path = 'DomComponents/view/'; +define([path + 'ComponentImageView', 'DomComponents/model/Component'], + function(ComponentImageView, Component) { + + return { + run : function(){ + + describe('ComponentImageView', function() { + + var $fixtures; + var $fixture; + var model; + var view; + + before(function () { + $fixtures = $("#fixtures"); + $fixture = $('
'); + }); + + beforeEach(function () { + model = new Component(); + view = new ComponentImageView({ + model: model + }); + $fixture.empty().appendTo($fixtures); + $fixture.html(view.render().el); + }); + + afterEach(function () { + view.remove(); + }); + + after(function () { + $fixture.remove(); + }); + + it('Component empty', function() { + $fixture.html().should.equal(''); + }); + + it('TagName is ', function() { + view.el.tagName.should.equal('IMG'); + }); + + it('Update src attribute', function() { + model.set('src','./'); + view.el.getAttribute('src').should.equal('./'); + }); + + it('Renders correctly', function() { + view.render().should.be.ok; + }); + }); + } + }; + +}); \ No newline at end of file diff --git a/test/specs/dom_components/view/ComponentTextView.js b/test/specs/dom_components/view/ComponentTextView.js index 7a0ee9ead..e080c3323 100644 --- a/test/specs/dom_components/view/ComponentTextView.js +++ b/test/specs/dom_components/view/ComponentTextView.js @@ -11,7 +11,6 @@ define([path + 'ComponentTextView', 'DomComponents/model/Component'], var $fixture; var model; var view; - var hClass = 'hc-state'; before(function () { $fixtures = $("#fixtures");