我一直在拉着我的头发试图找出如何sqlite3.Cursor专门模拟这个fetchall方法的类.
请考虑以下代码示例
import sqlite3
from mock import Mock, patch
from nose.tools import assert_false
class Foo:
def check_name(name):
conn = sqlite3.connect('temp.db')
c = conn.cursor()
c.execute('SELECT * FROM foo where name = ?', name)
if len(c.fetchall()) > 0:
return True
return False
@patch('sqlite3.Cursor.fetchall', Mock(return_value=['John', 'Bob']))
def test_foo():
foo = Foo()
assert_false(foo.check_name('Cane'))
Run Code Online (Sandbox Code Playgroud)
运行nosetests结果没有有趣的错误
E
======================================================================
ERROR: temp.test_foo
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/koddsson/.virtualenvs/temp/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/koddsson/.virtualenvs/temp/lib/python2.7/site-packages/mock.py", line 1214, in patched
patching.__exit__(*exc_info) …Run Code Online (Sandbox Code Playgroud) 所以我在HTML5中使用SVG元素遇到了一个奇怪的大小问题.这比我怀疑的空间要大得多.图像中的每个小矩形都是一个矩形元素,宽度和高度为"20".
SVG元素的高度和宽度应为20*10 = 200,但尺寸为680x508.
您可以在此处查看经过检查的svg元素 - > http://i.stack.imgur.com/xrofn.png
HTML看起来像这样:
<svg>
<rect x='0' y='0' height='20' width='20' stroke='black' stroke-width=''/>
<rect x='0' y='20' height='20' width='20' stroke='black' stroke-width=''/>
<rect x='0' y='40' height='20' width='20' stroke='black' stroke-width=''/>
...
</svg>
Run Code Online (Sandbox Code Playgroud)
应该注意的是,我正在运行node.js和mustache.js.
编辑:显然SVG在不确定宽度/高度时会做一些事情.手动设置可以解决问题.
<svg height="200" width="200">
Run Code Online (Sandbox Code Playgroud) 我试图隐藏ClojureScript中的一个元素,更具体地说是Dommy库.这是我到目前为止所得到的:
ClojureScript:
(ns fucking_about
(:require
[dommy.utils :as utils]
[dommy.core :as dommy])
(:use-macros
[dommy.macros :only [node sel sel1]]))
(map dommy/toggle! (sel :.hide))
Run Code Online (Sandbox Code Playgroud)
HTML:
<html>
<head><title></title></head>
<body>
<ul>
<li class="show">Derp</li>
<li class="hide">Herp</li>
<li class="show">ies!</li>
</ul>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是在浏览器中打开网站时我没有得到任何结果,我不明白为什么:<我在Github页面之外找不到任何关于ClojureScript的文档.
我在Clojure特别是Noir web框架中乱搞并试图生成一个随机的瓷砖网格.
这可能是非常糟糕的代码,但我正在学习!:d
(def tiles [:stairs :stone :monster])
(defpage "/" []
(common/layout
[:div {:class "level"}
(repeatedly 10 [:div {:class "row"}
(repeatedly 10
[:div {:class (str "tile " (name (rand-nth tiles)))}])])]))
Run Code Online (Sandbox Code Playgroud)
但是这段代码抛出异常:
Wrong number of args (0) passed to: PersistentVector - (class clojure.lang.ArityException)
Run Code Online (Sandbox Code Playgroud) 我正在尝试4clojure上的挑战,并陷入以下代码
(ns com.koddsson.for-clojure
(:use [clojure.test :only [is deftest run-tests]]))
(defn my-flatten
([x] (if (not (and (seq? x) (vector? x)))
x ; If x is not a sequence nor a vector
(map my-flatten x)))) ; else recursivly apply the flatten function
(deftest test28
(is (= (my-flatten '((1 2) 3 [4 [5 6]])) '(1 2 3 4 5 6)))
(is (= (my-flatten ["a" ["b"] "c"]) '("a" "b" "c")))
(is (= (my-flatten '((((:a))))) '(:a))))
(run-tests)
Run Code Online (Sandbox Code Playgroud)
它生成以下输出.
? bubblegum 20 ? ? …Run Code Online (Sandbox Code Playgroud)