Esempio n. 1
0
TEST(TestValidate, Simple)
{
    boost::shared_ptr<SimpleTest> n(new SimpleTest());

    {
        Reporter reporter;
        NodeReporter node_reporter(reporter, n);

        ASSERT_EQ(0UL, reporter.num_errors());
        ASSERT_EQ(0UL, reporter.num_warnings());

        n->pre_transform(node_reporter);
        EXPECT_EQ(1UL, reporter.num_errors());
        EXPECT_EQ(3UL, reporter.num_warnings());
        EXPECT_TRUE(n->pre_transform_called);
        EXPECT_FALSE(n->post_transform_called);
    }

    n->add_child(node_p(new Null()));

    {
        Reporter reporter;
        NodeReporter node_reporter(reporter, n);

        ASSERT_EQ(0UL, reporter.num_errors());
        ASSERT_EQ(0UL, reporter.num_warnings());

        n->pre_transform_called = false;
        n->post_transform(node_reporter);
        EXPECT_EQ(0UL, reporter.num_errors());
        EXPECT_EQ(3UL, reporter.num_warnings());
        EXPECT_FALSE(n->pre_transform_called);
        EXPECT_TRUE(n->post_transform_called);
    }
}