Skip to content

Commit d8d155c

Browse files
author
Brad Berger
committed
Adds a few basic tests and renames classes for prev/next btns
1 parent cfca989 commit d8d155c

6 files changed

+55
-5
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# AngularJS Material Calendar
22

33
[![Build Status](https://semaphoreci.com/api/v1/projects/be573f04-507e-4659-ad3b-0611db2227eb/540401/badge.svg)](https://semaphoreci.com/brad/angular-material-calendar)
4+
[![Code Climate](https://codeclimate.com/github/bradberger/angular-material-calendar/badges/gpa.svg)](https://codeclimate.com/github/bradberger/angular-material-calendar)
45

56
A calendar directive for AngularJS and Angular Material Design.
67
It's lightweight at ~2.1 kB, and has a lot of configurability.

dist/angular-material-calendar.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<md-content class='calendar-md' layout='column' layout-fill flex md-swipe-left='next()' md-swipe-right='prev()'><md-toolbar><div class='md-toolbar-tools' layout='row'><md-button class='calendar-md-left-btn' ng-click='prev()'>&laquo;</md-button><h2 class='calendar-md-title' flex><span>{{ calendar.start | date:titleFormat:timezone }}</span></h2><md-button class='calendar-md-left-btn' ng-click='next()'>&raquo;</md-button></div></md-toolbar><md-content flex layout='column' layout-fill><div class='calendar-md-subheader' layout='row' layout-fill layout-padding layout-align='space-between center' ng-hide='weekLayout == &quot;column&quot;'><div class='calendar-md-subheader-day' flex ng-repeat='day in calendar.weeks[0]'><md-tooltip>{{ day | date:dayLabelTooltipFormat:timezone }}</md-tooltip>{{ day | date:dayLabelFormat:timezone }}</div></div><div flex class='calendar-md-month' layout='column'><div flex class='calendar-md-week' ng-class='calendarDirection' layout='{{ weekLayout }}' layout-fill ng-repeat='week in calendar.weeks'><div class='calendar-md-day' ng-hide='! sameMonth(day) && weekLayout == columnWeekLayout' ng-class='{&quot;calendar-md-day-inactive&quot; : ! sameMonth(day), active: active === day }' flex layout layout-fill ng-click='handleDayClick(day)' ng-repeat='day in week' ng-class='{ active: active === day }'><md-tooltip>{{ day | date:dayTooltipFormat:timezone }}</md-tooltip><div class='calendar-md-number'>{{ day | date:dayFormat:timezone }}</div><div class='calendar-md-content' flex ng-bind-html='getDayContent(day)'></div></div></div></div></md-content></md-content>
1+
<md-content class='calendar-md' layout='column' layout-fill flex md-swipe-left='next()' md-swipe-right='prev()'><md-toolbar><div class='md-toolbar-tools' layout='row'><md-button class='calendar-md-prev-btn' ng-click='prev()'>&laquo;</md-button><h2 class='calendar-md-title' flex><span>{{ calendar.start | date:titleFormat:timezone }}</span></h2><md-button class='calendar-md-next-btn' ng-click='next()'>&raquo;</md-button></div></md-toolbar><md-content flex layout='column' layout-fill><div class='calendar-md-subheader' layout='row' layout-fill layout-padding layout-align='space-between center' ng-hide='weekLayout == &quot;column&quot;'><div class='calendar-md-subheader-day' flex ng-repeat='day in calendar.weeks[0]'><md-tooltip>{{ day | date:dayLabelTooltipFormat:timezone }}</md-tooltip>{{ day | date:dayLabelFormat:timezone }}</div></div><div flex class='calendar-md-month' layout='column'><div flex class='calendar-md-week' ng-class='calendarDirection' layout='{{ weekLayout }}' layout-fill ng-repeat='week in calendar.weeks'><div class='calendar-md-day' ng-hide='! sameMonth(day) && weekLayout == columnWeekLayout' ng-class='{&quot;calendar-md-day-inactive&quot; : ! sameMonth(day), active: active === day }' flex layout layout-fill ng-click='handleDayClick(day)' ng-repeat='day in week' ng-class='{ active: active === day }'><md-tooltip>{{ day | date:dayTooltipFormat:timezone }}</md-tooltip><div class='calendar-md-number'>{{ day | date:dayFormat:timezone }}</div><div class='calendar-md-content' flex ng-bind-html='getDayContent(day)'></div></div></div></div></md-content></md-content>

dist/angular-material-calendar.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/angular-material-calendar.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<md-content class='calendar-md' layout='column' layout-fill flex md-swipe-left='next()' md-swipe-right='prev()'>
22
<md-toolbar>
33
<div class='md-toolbar-tools' layout='row'>
4-
<md-button class='calendar-md-left-btn' ng-click='prev()'>&laquo;</md-button>
4+
<md-button class='calendar-md-prev-btn' ng-click='prev()'>&laquo;</md-button>
55
<h2 class='calendar-md-title' flex><span>{{ calendar.start | date:titleFormat:timezone }}</span></h2>
6-
<md-button class='calendar-md-left-btn' ng-click='next()'>&raquo;</md-button>
6+
<md-button class='calendar-md-next-btn' ng-click='next()'>&raquo;</md-button>
77
</div>
88
</md-toolbar>
99
<md-content flex layout="column" layout-fill>

test/calendarMdDirective.spec.js

+43
Original file line numberDiff line numberDiff line change
@@ -1 +1,44 @@
11
/* eslint-env protractor, jasmine */
2+
describe("calendarMd directive test suite", function() {
3+
4+
beforeEach(function() {
5+
browser.get("http://localhost:3000/");
6+
});
7+
8+
it("should compile", function() {
9+
expect(element(by.css(".calendar-md")).isPresent()).toBeTruthy();
10+
});
11+
12+
it("should have a prev btn", function() {
13+
expect(element(by.css(".calendar-md-prev-btn")).isPresent()).toBeTruthy();
14+
});
15+
16+
it("should have a next btn", function() {
17+
expect(element(by.css(".calendar-md-next-btn")).isPresent()).toBeTruthy();
18+
});
19+
20+
it("should have a toolbar", function() {
21+
expect(element(by.css(".calendar-md md-toolbar")).isPresent()).toBeTruthy();
22+
});
23+
24+
it("should have a subheader", function() {
25+
expect(element(by.css(".calendar-md-subheader")).isPresent()).toBeTruthy();
26+
});
27+
28+
it("should have seven days in the subheader", function() {
29+
var elements = element.all(by.css(".calendar-md-subheader .calendar-md-subheader-day"));
30+
expect(elements.count()).toEqual(7);
31+
});
32+
33+
it("should have at least four weeks", function() {
34+
var elements = element.all(by.css(".calendar-md-week"));
35+
expect(elements.count()).toBeGreaterThan(3);
36+
});
37+
38+
it("should have a week repeater", function() {
39+
element.all(by.css(".calendar-md-week")).count().then(function(weekCt) {
40+
expect(element.all(by.repeater("week in calendar.weeks")).count()).toBe(weekCt);
41+
});
42+
});
43+
44+
});

test/website.spec.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
/* eslint-env protractor, jasmine */
2-
describe("Website Test Suite", function() {
2+
describe("website test suite", function() {
3+
34
it("should have a title", function() {
45
browser.get("http://localhost:3000/");
56
expect(browser.getTitle()).toEqual("Angular Material Calendar");
67
});
8+
9+
it("should have a demo calendar", function() {
10+
expect(element(by.css("calendar-md")).isPresent()).toBeTruthy();
11+
});
12+
713
});

0 commit comments

Comments
 (0)