#!/usr/bin/env ruby require File.join(File.dirname(__FILE__), "..", "spec_helper") describe "load" do before do delete_project create_project end after do delete_project end it "should raise an error unless PROJECT is a valid project directory" do delete_project lambda { Glyph.run! 'load:all' }.should raise_error end it "[snippets] should load snippet definitions" do lambda { Glyph.run! 'load:snippets'}.should_not raise_error Glyph::SNIPPETS[:test].blank?.should == false end it "[snippets] should not load snippets.xml in Lite mode" do Glyph.lite_mode = true lambda { Glyph.run! 'load:snippets'}.should_not raise_error Glyph::SNIPPETS[:test].blank?.should == true Glyph.lite_mode = false end it "[macros] should load macro definitions" do lambda { Glyph.run! 'load:macros'}.should_not raise_error Glyph::MACROS[:note].blank?.should == false Glyph::MACROS[:"#"].blank?.should == false end it "[macros] should be able to load only core macros" do language 'core' output_for("$:[language.set|glyph]").blank?.should == true Glyph['language.set'].should == 'glyph' end it "[macros] should be able to load only filter macros" do language 'filters' output_for("textile[*test*]").should == "<p><strong>test</strong></p>" end it "[config] should load configuration files and apply overrides" do Glyph.config_refresh lambda { Glyph.run! 'load:config'}.should_not raise_error Glyph['system.quiet'] = true Glyph::PROJECT_CONFIG.blank?.should == false Glyph::SYSTEM_CONFIG.blank?.should == false Glyph['system.structure.headers'].class.to_s.should == "Array" end end