diff deck.js/test/spec.menu.js @ 0:dd1c78c6398f

add having slides
author taiki <taiki@cr.ie.u-ryukyu.ac.jp>
date Mon, 25 Mar 2013 05:14:03 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deck.js/test/spec.menu.js	Mon Mar 25 05:14:03 2013 +0900
@@ -0,0 +1,66 @@
+describe('Deck JS Menu', function() {
+	var $d = $(document),
+	dsc = defaults.selectors.container;
+	
+	beforeEach(function() {
+		loadFixtures('standard.html');
+		if (Modernizr.history) {
+			history.replaceState({}, "", "#")
+		}
+		else {
+			window.location.hash = '#';
+		}
+		$.deck('.slide');
+	});
+	
+	describe('showMenu()', function() {
+		it('should show the menu', function() {
+			expect($(dsc)).not.toHaveClass(defaults.classes.menu);
+			$.deck('showMenu');
+			expect($(dsc)).toHaveClass(defaults.classes.menu);
+		});
+		
+		it('should do nothing if menu is already showing', function() {
+			if (Modernizr.csstransforms) {
+				$.deck('showMenu');
+				$.deck('showMenu');
+				$.deck('hideMenu');
+				expect($('.slide').attr('style')).toBeFalsy();
+			}
+		});
+	});
+	
+	describe('hideMenu()', function() {
+		it('should hide the menu', function() {
+			$.deck('showMenu');
+			$.deck('hideMenu');
+			expect($(dsc)).not.toHaveClass(defaults.classes.menu);
+		});
+	});
+	
+	describe('toggleMenu()', function() {
+		it('should toggle menu on and off', function() {
+			expect($(dsc)).not.toHaveClass(defaults.classes.menu);
+			$.deck('toggleMenu');
+			expect($(dsc)).toHaveClass(defaults.classes.menu);
+			$.deck('toggleMenu');
+			expect($(dsc)).not.toHaveClass(defaults.classes.menu);
+		});
+	});
+	
+	describe('key bindings', function() {
+		var e;
+
+		beforeEach(function() {
+			e = jQuery.Event('keydown.deckmenu');
+		});
+		
+		it('should toggle the menu if the specified key is pressed', function() {
+			e.which = 77; // m
+			$d.trigger(e);
+			expect($(dsc)).toHaveClass(defaults.classes.menu);
+			$d.trigger(e);
+			expect($(dsc)).not.toHaveClass(defaults.classes.menu);
+		});
+	});
+});
\ No newline at end of file