From 2f571a9c830df814902fbdda1e9240b36bb64e3e Mon Sep 17 00:00:00 2001 From: Matias Niemelä Date: Thu, 16 May 2013 14:55:56 -0400 Subject: chore(ngdocs): move angular-bootstrap.js to be generated only inside the docs and remove from the build process --- docs/component-spec/bootstrap/bootstrapSpec.js | 157 +++++++++++++++++++++++++ docs/component-spec/bootstrap/code.html | 91 ++++++++++++++ 2 files changed, 248 insertions(+) create mode 100644 docs/component-spec/bootstrap/bootstrapSpec.js create mode 100644 docs/component-spec/bootstrap/code.html (limited to 'docs/component-spec') diff --git a/docs/component-spec/bootstrap/bootstrapSpec.js b/docs/component-spec/bootstrap/bootstrapSpec.js new file mode 100644 index 00000000..2c8d89fa --- /dev/null +++ b/docs/component-spec/bootstrap/bootstrapSpec.js @@ -0,0 +1,157 @@ +'use strict'; + +describe('bootstrap', function() { + var $compile, $rootScope, element; + + function clickTab(element, index) { + browserTrigger(element.children().eq(0).children().eq(index)); + } + + beforeEach(module('bootstrap')); + beforeEach(inject(function(_$compile_, _$rootScope_) { + $compile = _$compile_; + $rootScope = _$rootScope_; + })); + beforeEach(function(){ + function findTab(element, index) { + return _jQuery(element[0]).find('> .nav-tabs > li').eq(index); + } + function findTabPane(element, index) { + return _jQuery(element[0]).find('> .tab-content > .tab-pane').eq(index); + } + + this.addMatchers({ + toHaveTab: function(index, title) { + var tab = findTab(element, index); + + this.message = function() { + if (tab.length) { + return 'Expect tab index ' + index + ' to be ' + toJson(title) + ' but was ' + toJson(tab.text()); + } else { + return 'Expect tab index ' + index + ' to be ' + toJson(title) + ' but there are only ' + + element.children().length + ' tabs.'; + } + }; + + return tab.length && tab.text() == title; + }, + + toHaveTabPane: function(index, title) { + var tabPane = findTabPane(element, index); + + this.message = function() { + if (tabPane.length) { + return 'Expect tab pane index ' + index + ' to be ' + toJson(title) + ' but was ' + toJson(tabPane.text()); + } else { + return 'Expect tab pane index ' + index + ' to be ' + toJson(title) + ' but there are only ' + + element.children().length + 'tab panes.'; + } + }; + + return tabPane.length && tabPane.text() == title; + }, + + toHaveSelected: function(index) { + var tab = findTab(element, index); + var tabPane = findTabPane(element, index); + + this.message = function() { + return 'Expect tab index ' + index + ' to be selected\n' + + ' TAB: ' + angular.mock.dump(tab) + '\n' + + 'TAB-PANE: ' + angular.mock.dump(tabPane); + }; + + return tabPane.hasClass('active') && tab.hasClass('active'); + } + }); + }); + + afterEach(function() { + dealoc(element); + }); + + describe('tabbable', function() { + + it('should create the right structure', function() { + element = $compile( + '
prettify+ <p>Sample text here...</p> ++ + +
ng-set-textng-html-wrapng-embed-appdrop-down-toggletabbable