From 8bddfd9ad64fa56953b246ab7e080447017d25bd Mon Sep 17 00:00:00 2001 From: Jimmy Schementi Date: Sun, 22 Jun 2008 04:04:56 -0700 Subject: [PATCH] Essential HTML spec --- .../lib/silverline/essential/html.rb | 2 +- .../silverline/essential/essential_spec.rb | 4 +- .../silverline/essential/generator_spec.rb | 6 +-- .../spec/silverline/essential/html_spec.rb | 45 +++++++++++++++++++ .../spec/silverline/silverline_spec.rb | 5 +++ vendor/plugins/silverline/spec/spec_init.rb | 2 +- 6 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 vendor/plugins/silverline/spec/silverline/essential/html_spec.rb diff --git a/vendor/plugins/silverline/lib/silverline/essential/html.rb b/vendor/plugins/silverline/lib/silverline/essential/html.rb index 5dfb900..0f765ea 100755 --- a/vendor/plugins/silverline/lib/silverline/essential/html.rb +++ b/vendor/plugins/silverline/lib/silverline/essential/html.rb @@ -1,6 +1,6 @@ module Silverline::Essential::Html - def silverlight_include_tag(options) + def silverlight_include_tag(options = :defaults) templatify("head.html.erb", binding) end diff --git a/vendor/plugins/silverline/spec/silverline/essential/essential_spec.rb b/vendor/plugins/silverline/spec/silverline/essential/essential_spec.rb index 32a5143..c125a80 100644 --- a/vendor/plugins/silverline/spec/silverline/essential/essential_spec.rb +++ b/vendor/plugins/silverline/spec/silverline/essential/essential_spec.rb @@ -15,6 +15,8 @@ class Base describe Silverline::Essential do before do + Object.instance_eval{remove_const :FileSystemWatcher} if defined?(::FileSystemWatcher) + ::FileSystemWatcher = mock("FileSystemWatcher", :null_object => true) require 'silverline/essential' end @@ -31,7 +33,7 @@ class Base end it "should tell the generator to register itself" do - Silverline::Essential.instance_eval{remove_const :Generator} + Silverline::Essential.instance_eval{remove_const :Generator} if defined?(Silverline::Essential::Generator) gen = Silverline::Essential::Generator = mock("Generator") gen.should_receive(:register) load 'silverline/essential.rb' diff --git a/vendor/plugins/silverline/spec/silverline/essential/generator_spec.rb b/vendor/plugins/silverline/spec/silverline/essential/generator_spec.rb index bfa6979..ac3a700 100644 --- a/vendor/plugins/silverline/spec/silverline/essential/generator_spec.rb +++ b/vendor/plugins/silverline/spec/silverline/essential/generator_spec.rb @@ -1,9 +1,9 @@ require File.dirname(__FILE__) + '/../../spec_nonrails.rb' -Silverline.instance_eval{remove_const :Essential} if defined?(Silveline::Essential) +Silverline.instance_eval{remove_const :Essential} if defined?(Silverline::Essential) Silverline::Essential = Module.new -Silverline::Essential.instance_eval{remove_const :Xap} if defined?(Silveline::Essential::Xap) +Silverline::Essential.instance_eval{remove_const :Xap} if defined?(Silverline::Essential::Xap) Silverline::Essential::Xap = :chiron load 'silverline/essential/generator.rb' @@ -11,7 +11,7 @@ describe Silverline::Essential::Generator do before do - Silverline::Essential.instance_eval{remove_const :Generator} + Silverline::Essential.instance_eval{remove_const :Generator} if defined?(Silverline::Essential::Generator) Silverline::Essential::Generator = Module.new end diff --git a/vendor/plugins/silverline/spec/silverline/essential/html_spec.rb b/vendor/plugins/silverline/spec/silverline/essential/html_spec.rb new file mode 100644 index 0000000..ccf366c --- /dev/null +++ b/vendor/plugins/silverline/spec/silverline/essential/html_spec.rb @@ -0,0 +1,45 @@ +require File.dirname(__FILE__) + '/../../spec_nonrails.rb' + +Silverline.instance_eval{remove_const :Essential} if defined?(Silverline::Essential) +Silverline::Essential = Module.new + +load 'silverline/essential/html.rb' + +Object.instance_eval{remove_const :HtmlTesttHost} if defined? HtmlTesttHost +HtmlTesttHost = Class.new +HtmlTesttHost.class_eval { include Silverline::Essential::Html } + +describe Silverline::Essential::Html do + + before(:each) do + @html = HtmlTesttHost.new + end + + it "should render a silverlight include tag" do + @html.should_receive(:templatify).with("head.html.erb", anything) + @html.silverlight_include_tag + end + + it "should render a silverlight control" do + @html.should_receive(:require).with('erb') + @html.stub!(:public_xap_file).and_return "/public.xap" + @html.stub!(:generate_init_params).and_return "debug=true" + result = @html.silverlight_object + result['position: absolute'].should_not be_nil + result[''].should_not be_nil + result['width="1" height="1"'].should_not be_nil + result[''].should_not be_nil + end + +end + +describe "Private functionality of essential HTML" do + it "should know the HTTP_HOST" + it "should generate initParams for Silverlight and the DLR" + it "should know the XAP file location" + it "should know how to put JSON in initParams" + it "should know how to render a template" +end \ No newline at end of file diff --git a/vendor/plugins/silverline/spec/silverline/silverline_spec.rb b/vendor/plugins/silverline/spec/silverline/silverline_spec.rb index ebcc92f..33b0eb1 100755 --- a/vendor/plugins/silverline/spec/silverline/silverline_spec.rb +++ b/vendor/plugins/silverline/spec/silverline/silverline_spec.rb @@ -1,6 +1,11 @@ require File.dirname(__FILE__) + '/../spec_helper.rb' describe Silverline do + before do + Object.instance_eval{remove_const :FileSystemWatcher} if defined?(::FileSystemWatcher) + ::FileSystemWatcher = mock("FileSystemWatcher", :null_object => true) + end + it "should define path to Rails views" do Silverline::RAILS_VIEWS.should be_relative_to("app/views") end diff --git a/vendor/plugins/silverline/spec/spec_init.rb b/vendor/plugins/silverline/spec/spec_init.rb index 1fc4e55..9759c10 100644 --- a/vendor/plugins/silverline/spec/spec_init.rb +++ b/vendor/plugins/silverline/spec/spec_init.rb @@ -7,4 +7,4 @@ require 'rubygems' require 'ruby-debug' -Debugger.start \ No newline at end of file +#Debugger.start \ No newline at end of file