summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua')
-rw-r--r--Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua b/Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua
new file mode 100644
index 0000000..144cb9f
--- /dev/null
+++ b/Data/BuiltIn/Libraries/middleclass/spec/class_spec.lua
@@ -0,0 +1,28 @@
+local class = require 'middleclass'
+
+describe('class()', function()
+
+ describe('when given no params', function()
+ it('it throws an error', function()
+ assert.error(class)
+ end)
+ end)
+
+ describe('when given a name', function()
+ it('the resulting class has the correct name and Object as its superclass', function()
+ local TheClass = class('TheClass')
+ assert.equal(TheClass.name, 'TheClass')
+ assert.is_nil(TheClass.super)
+ end)
+ end)
+
+ describe('when given a name and a superclass', function()
+ it('the resulting class has the correct name and superclass', function()
+ local TheSuperClass = class('TheSuperClass')
+ local TheSubClass = class('TheSubClass', TheSuperClass)
+ assert.equal(TheSubClass.name, 'TheSubClass')
+ assert.equal(TheSubClass.super, TheSuperClass)
+ end)
+ end)
+
+end)