Sha256: a050c5bfdf2414178a87f847e6005ba8f2dc34860b92f1696297db8a03e1a1f7

Contents?: true

Size: 949 Bytes

Versions: 6

Compression:

Stored size: 949 Bytes

Contents

#include "../ast.hpp"
#include "../context.hpp"
#include "../parser.hpp"
#include "../to_string.hpp"
#include <string>

using namespace Sass;

Context ctx = Context(Context::Data());
To_String to_string;

Compound_Selector* selector(std::string src)
{ return Parser::from_c_str(src.c_str(), ctx, "", Position()).parse_compound_selector(); }

void unify(std::string lhs, std::string rhs)
{
  Compound_Selector* unified = selector(lhs + ";")->unify_with(selector(rhs + ";"), ctx);
  std::cout << lhs << " UNIFIED WITH " << rhs << " =\t" << (unified ? unified->perform(&to_string) : "NOTHING") << std::endl;
}

int main()
{
  unify(".foo", ".foo.bar");
  unify("div:nth-of-type(odd)", "div:first-child");
  unify("div", "span:whatever");
  unify("div", "span");
  unify("foo:bar::after", "foo:bar::first-letter");
  unify(".foo#bar.hux", ".hux.foo#bar");
  unify(".foo#bar.hux", ".hux.foo#baz");
  unify("*:blah:fudge", "p:fudge:blah");

  return 0;
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sassc-1.8.3 ext/libsass/test/test_unification.cpp
sassc-1.8.2 ext/libsass/test/test_unification.cpp
sassc-1.8.1 ext/libsass/test/test_unification.cpp
sassc-1.8.0 ext/libsass/test/test_unification.cpp
sassc-1.8.0.pre2 ext/libsass/test/test_unification.cpp
sassc-1.8.0.pre1 ext/libsass/test/test_unification.cpp