我正在尝试根据html 5画布中绘制的矢量构建我的第一个几乎复杂的地图.
除了缩放之外,它运行良好.我注意到以下几点:
我一开始以为这是我的错,也许画布没有被清除.但经过一些测试,"幽灵"消失了,新鬼出现了.
如果有人可以提供帮助,那将会很酷.
代码 - HTML:
<div>
<div style="position:absolute;top:30px;z-index:102;">
<canvas id="canvas" width="1386" height="747" style="position:absolute;"></canvas>
</div>
<div style="position:absolute; top:30px;" id="debugText">Debug</div>
<div style="position:absolute;top:30px; visibility: hidden;">
<canvas id="debugCanvas" width="1386" height="747"></canvas>
</div>
<div style="position:absolute; left: 200px;z-index:99;" id="debugContols">
<a href="#" onClick="javascript:zoomIn(0, 0, 0.5);">Zoom 0.5</a>
<a href="#" onClick="javascript:zoomIn(0, 0, 2);">Zoom 2</a>
<a href="#" onClick="javascript:zoomIn(0, 0, 3);">Zoom 3</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
代码 - Javascript:
var canvas = document.getElementById("canvas");
var debugCanvas = document.getElementById("debugCanvas");
var ctx = canvas.getContext("2d");
var ctxDebug = debugCanvas.getContext("2d");
var context …Run Code Online (Sandbox Code Playgroud) 我知道这个问题已被问过多次,但没有一个答案对我有用。这是我想测试的模拟函数:
MOCK_METHOD2(sendInternal, void(uint8_t data[], uint8_t size));
Run Code Online (Sandbox Code Playgroud)
测试是这样的
uint8_t expectedMessageData[3] = { 0x08, 0xda, 0xff };
EXPECT_CALL(*serverFake, sendInternal(testing::_,3))
.With(testing::Args<0, 1>(ElementsAre(0x08, 0xda, 0xff)))
.Times(1);
Run Code Online (Sandbox Code Playgroud)
但这导致
预期参数:是一个元组,其字段 (#0, #1) 有 2 个元素,其中元素 #0 等于 '\b' (8),元素 #1 等于 '\xDA' (218) 实际:don' t 匹配,其字段 (#0, #1) 为 (0x7fcfd9500590, '\x11' (3)),有 3 个元素
对我来说,Gmock 似乎会比较参数而不是数组的元素。
我什至构建了一个自定义匹配器:
MATCHER_P2(HasBytes, bytes, size, "") {
uint8_t * dataToCheck = arg;
bool isMatch = (memcmp(dataToCheck, bytes, size) == 0);
return isMatch;
}
Run Code Online (Sandbox Code Playgroud)
我可以看到(在调试时) isMatch == true 但测试仍然失败。
请帮忙!