describe("Class", function(){
    before(function(){
        enchant();
    });

    it("stands for Class");

    describe("#create", function(){
        it("throws Error when arguments are invalid", function(){
            expect(function(){enchant.Class.create();}).to.throw(/definition is undefined/);
            expect(function(){enchant.Class.create(null, {});}).to.throw(/superclass is undefined/);
        });

        it("creates independent class", function(){
            var TestClass = enchant.Class.create({
                foo: function(){
                    return 'foo';
                }
            });
            expect(TestClass.prototype.constructor).to.exist;
            expect(TestClass.prototype.initialize).to.exist;
            expect(TestClass.prototype.foo).to.exist;
            var tc = new TestClass();
            expect(tc.foo()).to.equal('foo');
        });

        it("creates a class inheritting 'Sprite'");
        it("creates a class inheritting 'Sprite' and overwrite constructor");
    });

    describe("#getInheritanceTree", function(){
        it("shows inheritance tree");
    });
});
@@ -934,95 +934,1308 @@
 ing 
-'
+existing Class%22, function()%7B%0A            var TestClass = enchant.Class.create(Sprite);%0A            expect(TestClass.prototype.initialize).to.deep.equal(Sprite.prototype.initialize);%0A            expect(TestClass.prototype.cvsRender, %22inherit from enchant.
 Sprite
-'
 %22)
-;%0A        it(%22creates a class inheritting 'Sprite' and overwrite constructor%22
+.to.exist;%0A            expect(TestClass.prototype.within, %22inherit from enchant.Entity%22).to.exist;%0A            var tc = new TestClass(10, 10);%0A            expect(tc.height).to.equal(10);%0A            expect(tc.width).to.equal(10);%0A        %7D);%0A%0A        it(%22creates a class inheritting existing Class and overwrite constructor%22, function()%7B%0A            var TestClass = enchant.Class.create(Sprite, %7B%0A                initialize: function(width, height)%7B%0A                    enchant.Sprite.call(this);%0A                    this.width = 2 * width%0A                    this.height = 2 * height;%0A                %7D%0A            %7D);%0A            expect(TestClass.prototype.initialize).not.to.deep.equal(Sprite.prototype.initialize);%0A            expect(TestClass.prototype.cvsRender, %22inherit from enchant.Sprite%22).to.exist;%0A            expect(TestClass.prototype.within, %22inherit from enchant.Entity%22).to.exist;%0A            var tc = new TestClass(10, 10);%0A            expect(tc.height).to.equal(20);%0A            expect(tc.width).to.equal(20);%0A        %7D
 );%0A 

add create Class inheritting from other class teset