describe("My demo suite", function() {
	it("contains spec with my demo expectation", function() {
		expect(1).toBe(1);
	});
});

describe("My suite is just a function", function() {
	var a = false;
	
	it("and so is a spec", function(){
		expect(a).toBe(false);
	});
	
	it("the spec is using not matcher", function() {
		expect(a).not.toBe(true);
		expect(a).not.toBe(null);
	});
});

describe("My suite on toBe", function() {
	it("also work for object", function() {
		var person = {
			name: "Philip",
			age: 36
		};
		
		var me = {
			name: "Philip",
			age: 36
		};
		
		expect(person).toEqual(me);
	});
	
	it("works for regular expressions the same", function(){
		var msg = "philip cen dai";
		
		expect(msg).toMatch(/cen/);
		expect(msg).toMatch(/Dai$/i);
		expect(msg).not.toMatch(/developer/);
	});
	
	it("Test on 'toBeDefined' matcher compare against 'undefined'", function() {
		var a = {
			foo: "foo"
		};
		
		expect(a.foo).toBeDefined();
		expect(a.bar).toBeUndefined();

	});
	
	it("Test on 'toBeNull' matcher compare against null", function() {
		var a = null;
		var foo = "foo";
		
		expect(null).toBeNull();
		expect(a).toBeNull();
		expect(foo).not.toBeNull();
	});
	
	it("Test on 'toBeTruthy'", function() {
		var a, me = "Philip Dai"
		expect(me).toBeTruthy();
		expect(a).not.toBeTruthy();
	});
});

@@ -1248,16 +1248,17 @@
 lip Dai%22
+;
 %0A%09%09expec
@@ -1304,20 +1304,150 @@
 eTruthy();%0A%09%7D);%0A
+%09%0A%09it(%22Test on 'toBeFalsy'%22, function() %7B%0A%09%09var a, me = %22Philip Dai%22;%0A%09%09expect(a).toBeFalsy();%0A%09%09expect(me).not.toBeFalsy();%0A%09%7D);%0A
 %7D);%0A

Test on toBeFalsy