mirror of
https://github.com/wassname/side-by-side.git
synced 2026-09-10 12:37:06 +08:00
Add reader factory, improve tests
This commit is contained in:
@@ -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)
|
||||
)
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user