Sha256: a254c25c47c752e0f155738142b86765b583cab08f30bb058cd7f15b574ae428
Contents?: true
Size: 1.68 KB
Versions: 2
Compression:
Stored size: 1.68 KB
Contents
$:.unshift(File.dirname(__FILE__)+"/../lib") require 'rspec' #require 'spec/autorun' require 'rubyvis' require 'pp' require 'nokogiri' $PROTOVIS_DIR=File.dirname(__FILE__)+"/../vendor/protovis/src" module Rubyvis class JohnsonLoader begin require 'johnson' def self.available? true end rescue LoadError def self.available? false end end attr_accessor :runtime def initialize(*files) files=["/pv.js","/pv-internals.js", "/data/Arrays.js","/data/Numbers.js", "/data/Scale.js", "/data/QuantitativeScale.js", "/data/LinearScale.js","/color/Color.js","/color/Colors.js","/text/Format.js", "/text/DateFormat.js","/text/NumberFormat.js","/text/TimeFormat.js"]+files files.uniq! files=files.map {|v| $PROTOVIS_DIR+v} @runtime = Johnson.load(*files) end end end # Spec matcher RSpec::Matchers.define :have_svg_attributes do |exp| match do |obs| exp.each {|k,v| obs.attributes[k].value.should==v } end end RSpec::Matchers.define :have_path_data_close_to do |exp| def path_scan(path) path.scan(/([MmCcZzLlHhVvSsQqTtAa, ])(\d+(?:\.\d+)?)/).map {|v| v[0]="," if v[0]==" " v[1]=v[1].to_f v } end match do |obs| correct=true obs_array=path_scan(obs.attributes["d"].value) exp_array=path_scan(exp) obs_array.each_with_index {|v,i| if (v[0]!=exp_array[i][0]) or (v[1]-exp_array[i][1]).abs>0.001 correct=false break end } correct end failure_message_for_should do |obs| obs_array=path_scan(obs.attributes["d"].value) exp_array=path_scan(exp) "\n#{obs_array} path should be equal to \n#{exp_array}" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubyvis-0.3.5 | spec/spec_helper.rb |
rubyvis-0.3.4 | spec/spec_helper.rb |