Add reader factory, improve tests

This commit is contained in:
Vit Brunner
2013-06-15 18:12:24 +01:00
parent edd50af4a9
commit 303bac7bbe
6 changed files with 31 additions and 1 deletions
+1
View File
@@ -4,6 +4,7 @@ script(src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular.js")
script(src="//raw.github.com/chjj/marked/master/lib/marked.js")
script(src="scripts/app.js")
script(src="scripts/services.js")
script(src="scripts/reader/_factory.js")
script(src="scripts/reader/markdown.js")
script(src="scripts/reader/json.js")
script(src="scripts/controllers.js")
@@ -0,0 +1,11 @@
angular.module("sideBySide").factory("readerFactory", ($injector) ->
return (filename) ->
extension = filename.split(".").pop()
switch extension
when "json"
return $injector.get("jsonReader")
when "md", "markdown"
return $injector.get("markdownReader")
else
throw "Unknown extension '" + extension + "'."
)
@@ -0,0 +1,8 @@
this.injector = angular.injector(['ng', 'sideBySide'])
init = {
setup: () ->
this.$scope = injector.get('$rootScope').$new();
}
this.module('tests', init);
@@ -1,5 +1,4 @@
this.testReader = (name, testCases) ->
injector = angular.injector(["ng", "sideBySide"])
reader = injector.get(name)
for testCase in testCases
@@ -0,0 +1,9 @@
test("readerFactory", () ->
factory = injector.get("readerFactory")
ok(factory("somefile.md"))
ok(factory("otherfile.json"))
throws(() ->
factory("microsoft.doc")
, /unknown/i)
)
+2
View File
@@ -9,6 +9,8 @@ html
// test scripts
link(rel="stylesheet", type="text/css", href="//cdnjs.cloudflare.com/ajax/libs/qunit/1.11.0/qunit.css")
script(src="//cdnjs.cloudflare.com/ajax/libs/qunit/1.11.0/qunit.js")
script(src="scripts/tests/_setup.js")
script(src="scripts/tests/reader/_factory.js")
script(src="scripts/tests/reader/_abstract.js")
script(src="scripts/tests/reader/markdown.js")
script(src="scripts/tests/reader/json.js")