Kaynağa Gözat

tests for loading indicator fixed

Adam Shaw 8 yıl önce
ebeveyn
işleme
7dcabdb83f

+ 47 - 0
tests/event-data/events-function.js

@@ -53,4 +53,51 @@ describe('events as a function', function() {
 			}
 		});
 	});
+
+	it('calls loading callback', function(done) {
+		var loadingCallArgs = [];
+
+		initCalendar({
+			loading: function(bool) {
+				loadingCallArgs.push(bool);
+			},
+			events: function(start, end, timezone, callback) {
+				setTimeout(function() {
+					expect(loadingCallArgs).toEqual([ true ]);
+					callback([]);
+					setTimeout(function() {
+						expect(loadingCallArgs).toEqual([ true, false ]);
+						done();
+					}, 0);
+				}, 0);
+			}
+		});
+	});
+
+	it('calls loading callback only once for multiple sources', function(done) {
+		var loadingCallArgs = [];
+
+		initCalendar({
+			loading: function(bool) {
+				loadingCallArgs.push(bool);
+			},
+			eventSources: [
+				function(start, end, timezone, callback) {
+					setTimeout(function() {
+						callback([]);
+					}, 0);
+				},
+				function(start, end, timezone, callback) {
+					setTimeout(function() {
+						callback([]);
+					}, 10);
+				}
+			]
+		});
+
+		setTimeout(function() {
+			expect(loadingCallArgs).toEqual([ true, false ]);
+			done();
+		}, 20);
+	});
 });

+ 15 - 0
tests/legacy/events-json-feed.js

@@ -119,4 +119,19 @@ describe('events as a json feed', function() {
 		$('#cal').fullCalendar(options);
 	});
 
+	it('calls loading callback', function(done) {
+		var loadingCallArgs = [];
+
+		initCalendar({
+			events: { url: 'my-feed.php' },
+			loading: function(bool) {
+				loadingCallArgs.push(bool);
+			},
+			eventAfterAllRender: function() {
+				expect(loadingCallArgs).toEqual([ true, false ]);
+				done();
+			}
+		});
+	});
+
 });