documentation for registering custom template engines
This commit is contained in:
parent
02c8312a20
commit
5df54e4e28
27
index.md
27
index.md
@ -254,7 +254,7 @@ with the `--runner-out` option to write HTML runner files to a place where the b
|
|||||||
a Sprockets-managed project.
|
a Sprockets-managed project.
|
||||||
|
|
||||||
JavaScript Templates are supported too, including [haml-sprockets](https://github.com/dharanasoft/haml-sprockets). Use them as you would any other
|
JavaScript Templates are supported too, including [haml-sprockets](https://github.com/dharanasoft/haml-sprockets). Use them as you would any other
|
||||||
JavaScript file, and ensure the load order is right, and the necessary code in the JST namespace will be created.
|
JavaScript file, and ensure the load order is right, and the necessary code in the JST namespace will be created. To use an alternative template, like [handlebars](http://handlebarsjs.com/) or [dust](http://akdubya.github.com/dustjs/), you can [register a custom template engine](#register-custom-template).
|
||||||
|
|
||||||
Since any gem with `vendor/assets/javascripts` is usable, that means Jasmine-specific gems are possible now. [jasmine-spec-extras](https://github.com/johnbintz/jasmine-spec-extras)
|
Since any gem with `vendor/assets/javascripts` is usable, that means Jasmine-specific gems are possible now. [jasmine-spec-extras](https://github.com/johnbintz/jasmine-spec-extras)
|
||||||
is the first such gem, which provides `jasmine-jquery`, `sinon`, and any other useful Jasmine helpers, vendored into the gem so you can easily include
|
is the first such gem, which provides `jasmine-jquery`, `sinon`, and any other useful Jasmine helpers, vendored into the gem so you can easily include
|
||||||
@ -629,6 +629,31 @@ Additionally, you can set the `EXECJS_RUNTIME` environment variable to a [valid
|
|||||||
|
|
||||||
export EXECJS_RUNTIME=Node
|
export EXECJS_RUNTIME=Node
|
||||||
|
|
||||||
|
<div id="register-custom-template"></div>
|
||||||
|
## Register Custom Javascript Template Engine
|
||||||
|
|
||||||
|
You may have a preference for a javascript template engine not currently supported by `jasmine-headless-webkit` out of the box. As an alternative, you can register a custom [tilt](https://github.com/rtomayko/tilt) template engine in your spec helper file to adapt your preferred template to the `jasmine-headless-webkit` runner. The one shown below was written to enable handlebars templates provided by the [handlebars_assets](https://github.com/leshill/handlebars_assets) gem.
|
||||||
|
|
||||||
|
# spec/javascripts/helpers/spec_helper.rb
|
||||||
|
|
||||||
|
require 'sprockets'
|
||||||
|
require 'handlebars_assets'
|
||||||
|
|
||||||
|
module MyExtension
|
||||||
|
class HandlebarsTemplate < HandlebarsAssets::TiltHandlebars
|
||||||
|
include Jasmine::Headless::FileChecker
|
||||||
|
def evaluate(*args)
|
||||||
|
if bad_format?(file)
|
||||||
|
alert_bad_format(file)
|
||||||
|
return ''
|
||||||
|
end
|
||||||
|
%{<script type="text/javascript">#{super}</script>}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Jasmine::Headless.register_engine '.hbs', MyExtension::HandlebarsTemplate
|
||||||
|
|
||||||
## I have a problem or helpful suggestion, good sir.
|
## I have a problem or helpful suggestion, good sir.
|
||||||
|
|
||||||
Here's what you can do:
|
Here's what you can do:
|
||||||
|
Loading…
Reference in New Issue
Block a user