Commit Graph

17 Commits

Author SHA1 Message Date
Chris Eppstein
d37d63cce3 Make these damn tests pass in ruby 1.9. Evidently, you have to read from $stdin explicitly. 2010-01-18 12:34:37 -08:00
Chris Eppstein
bdd1e2de33 Make the tests pass in ruby 1.9 2009-11-19 02:26:35 -08:00
Chris Eppstein
373ac11329 Removes some tests about YUI. 2009-08-29 14:52:30 -07:00
Chris Eppstein
f59ca512ce Refactor of the internal datastructures used to access project
configuration. Configuration is now a singly linked list of configuration objects
that inherit values and defaults from the next configuration instance.
All instances hold a reference to the top of the configuration chain.

There is now a consistent API for reading configuration property values:

                <attr>: Reads the fully-resolved attribute after taking
                        configuration inheritance and defaults into account.
            raw_<attr>: reads attribute from a configuration object without
                        inheritance or defaults.
   default_for(<attr>): reads the default value for an attribute
    default_for_<attr>: specifies the default value for an attribute.
<attr>_without_default: reads the inherited attribute without applying defaults.
    comment_for_<attr>: Specifies a comment that will be emitted above the
                        property when serializing the configuration to a file.

Additionally, method_missing and respond_to both work down the
configuration chain, so any method that is added to a configuration
instance, can be accessed from the top level.

The distinction between default and explicitly set values allows compass
to more correctly manage the serialization of attributes when creating
configuration files for projects.

The compass configuration can still be accessed via
Compass.configuration, however, the configuration object is no longer a
singleton. This means that you can build several configuration chains
to track several projects at once. This should ease the use of compass
in other frameworks and plugins that want to use compass internally.
2009-08-29 13:20:32 -07:00
Chris Eppstein
7d47649248 Fix build failure in the RunCodeRun environment. 2009-08-22 08:25:39 -07:00
Chris Eppstein
8a7c92a40d [Unit Tests] Extracted rails tests to their own test suite. 2009-06-20 12:29:30 -07:00
Chris Eppstein
2b3b781c33 [Examples] Refactor the module and file loading for Sass Extensions and application integration. Fixed broken unit tests. 2009-06-20 12:29:14 -07:00
Chris Eppstein
d4aa36f0f0 Fix some failing tests and refactor the tests to make better use of new compass facilities that didn't exist when the tests were first written. 2009-05-08 08:09:43 -07:00
Chris Eppstein
9a9b0b3d43 Update unit tests to work with the new timestamp checking support for the compass compiler. 2009-05-07 12:29:06 -07:00
Chris Eppstein
559b981015 All commands must implement execute now. 2009-04-07 00:22:22 -07:00
Chris Eppstein
10e6808648 Detect identical files when writing files during install, compile, etc. Also centralize the actions to use the write_file action as much as possible. 2009-02-08 03:46:47 -08:00
Chris Eppstein
98a2f0538b Use the Compass.configuration singleton for updates. 2009-02-08 03:46:46 -08:00
Chris Eppstein
a7406659b6 New Ruby on Rails project installer. 2009-02-08 03:46:46 -08:00
Chris Eppstein
1e5502159b Refactor the Compass commands to centralize and cleanup the project commands. 2009-01-25 14:27:08 -08:00
Chris Eppstein
8fc0c48dd5 Unit test for the compass rails installer. 2009-01-19 11:04:25 -08:00
Chris Eppstein
a9aa79d9a7 Support for testing the compass command line when it expects stdin responses. 2009-01-19 11:02:51 -08:00
Chris Eppstein
d5b711170c First pass at testing the command line tool. 2009-01-19 07:53:51 -08:00