191eff22b5d7f8fe551bae01331948858ce932a96Chris Craik/*
291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * Copyright (C) 2016 The Android Open Source Project
391eff22b5d7f8fe551bae01331948858ce932a96Chris Craik *
491eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * Licensed under the Apache License, Version 2.0 (the "License");
591eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * you may not use this file except in compliance with the License.
691eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * You may obtain a copy of the License at
791eff22b5d7f8fe551bae01331948858ce932a96Chris Craik *
891eff22b5d7f8fe551bae01331948858ce932a96Chris Craik *      http://www.apache.org/licenses/LICENSE-2.0
991eff22b5d7f8fe551bae01331948858ce932a96Chris Craik *
1091eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * Unless required by applicable law or agreed to in writing, software
1191eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * distributed under the License is distributed on an "AS IS" BASIS,
1291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1391eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * See the License for the specific language governing permissions and
1491eff22b5d7f8fe551bae01331948858ce932a96Chris Craik * limitations under the License.
1591eff22b5d7f8fe551bae01331948858ce932a96Chris Craik */
1691eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
1791eff22b5d7f8fe551bae01331948858ce932a96Chris Craik#include <gtest/gtest.h>
1891eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
1991eff22b5d7f8fe551bae01331948858ce932a96Chris Craik#include "tests/common/TestUtils.h"
2091eff22b5d7f8fe551bae01331948858ce932a96Chris Craik#include "OpDumper.h"
2191eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
2291eff22b5d7f8fe551bae01331948858ce932a96Chris Craikusing namespace android;
2391eff22b5d7f8fe551bae01331948858ce932a96Chris Craikusing namespace android::uirenderer;
2491eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
2591eff22b5d7f8fe551bae01331948858ce932a96Chris CraikTEST(OpDumper, dump) {
2691eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    SkPaint paint;
2791eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    RectOp op(uirenderer::Rect(100, 100), Matrix4::identity(), nullptr, &paint);
2891eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
2991eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    std::stringstream stream;
3091eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    OpDumper::dump(op, stream);
3191eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    EXPECT_STREQ("RectOp [100 x 100]", stream.str().c_str());
3291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
3391eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    stream.str("");
3491eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    OpDumper::dump(op, stream, 2);
3591eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    EXPECT_STREQ("    RectOp [100 x 100]", stream.str().c_str());
3691eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
3791eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    ClipRect clipRect(uirenderer::Rect(50, 50));
3891eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    op.localClip = &clipRect;
3991eff22b5d7f8fe551bae01331948858ce932a96Chris Craik
4091eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    stream.str("");
4191eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    OpDumper::dump(op, stream, 2);
4291eff22b5d7f8fe551bae01331948858ce932a96Chris Craik    EXPECT_STREQ("    RectOp [100 x 100] clip=[50 x 50] mode=0", stream.str().c_str());
4391eff22b5d7f8fe551bae01331948858ce932a96Chris Craik}
44