コード例 #1
0
def test_error_handling(context):
    "SleepyHollow#evaluate_javascript handles errors"
    sl = SleepyHollow()

    script1 = r'''(function(){
        return foo;
    })()'''

    expect(sl.evaluate_javascript).when.called_with(
        script1, pedantic=True).to.throw(
            InvalidJSONError,
            "'ReferenceError: Can't find variable: foo' undefined:2")
    sl.evaluate_javascript("'SUCCESS!'").should.equal("SUCCESS!")
コード例 #2
0
def test_error_handling(context):
    "SleepyHollow#evaluate_javascript handles errors"
    sl = SleepyHollow()

    script1 = r'''(function(){
        return foo;
    })()'''

    expect(sl.evaluate_javascript).when.called_with(script1, pedantic=True).to.throw(
        InvalidJSONError,
        "'ReferenceError: Can't find variable: foo' undefined:2"
    )
    sl.evaluate_javascript("'SUCCESS!'").should.equal("SUCCESS!")
コード例 #3
0
def test_decode_complex_object(context):
    "SleepyHollow#evaluate_javascript maps the type `dict`"
    sl = SleepyHollow()
    evaluated = sl.evaluate_javascript(r'''(function(){
        var data = {};
        data["name"] = "Gabriel Falcão \"gabrielfalcao\"";
        data["github"] = "http://github.com/gabrielfalcao";
        data["projects"] = ["cello", "sleepyhollow"];
        data["coder"] = true;
        data["age"] = 24;
        data["weight"] = 77.5;
        data["more"] = null;
        return data;
    })()''')

    expect(evaluated).to.equal({
        'name': 'Gabriel Falcão "gabrielfalcao"',
        'github': u'http://github.com/gabrielfalcao',
        'projects': [u'cello', u'sleepyhollow'],
        'coder': True,
        'age': 24,
        'weight': 77.5,
        'more': "",
    })
コード例 #4
0
def test_decode_complex_object(context):
    "SleepyHollow#evaluate_javascript maps the type `dict`"
    sl = SleepyHollow()
    evaluated = sl.evaluate_javascript(r'''(function(){
        var data = {};
        data["name"] = "Gabriel Falcão \"gabrielfalcao\"";
        data["github"] = "http://github.com/gabrielfalcao";
        data["projects"] = ["cello", "sleepyhollow"];
        data["coder"] = true;
        data["age"] = 24;
        data["weight"] = 77.5;
        data["more"] = null;
        return data;
    })()''')

    expect(evaluated).to.equal({
        'name': 'Gabriel Falcão "gabrielfalcao"',
        'github': u'http://github.com/gabrielfalcao',
        'projects': [u'cello', u'sleepyhollow'],
        'coder': True,
        'age': 24,
        'weight': 77.5,
        'more': "",
    })
コード例 #5
0
def test_decode_dict(context):
    "SleepyHollow#evaluate_javascript maps the type `dict`"
    sl = SleepyHollow()
    sl.evaluate_javascript(u'(function(){return {name: "GABRIEL FALCÃO".toLowerCase()}})();').should.equal({'name': 'gabriel falcão'})
コード例 #6
0
def test_decode_list(context):
    "SleepyHollow#evaluate_javascript maps the type `list`"
    sl = SleepyHollow()
    sl.evaluate_javascript("['gabriel', 'falcao']").should.equal(['gabriel', 'falcao'])
コード例 #7
0
def test_decode_int(context):
    "SleepyHollow#evaluate_javascript maps the type `int`"
    sl = SleepyHollow()
    sl.evaluate_javascript("1").should.equal(1)
コード例 #8
0
def test_decode_float(context):
    "SleepyHollow#evaluate_javascript maps the type `float`"
    sl = SleepyHollow()
    sl.evaluate_javascript("1.4").should.equal(1.4)
コード例 #9
0
def test_decode_string_with_double_quotes(context):
    "SleepyHollow#evaluate_javascript maps the type `string` with double quotes"
    sl = SleepyHollow()
    sl.evaluate_javascript(r'"\"NICE\""').should.equal('"NICE"')
コード例 #10
0
def test_decode_string(context):
    "SleepyHollow#evaluate_javascript maps the type `string`"
    sl = SleepyHollow()
    sl.evaluate_javascript(r'"GABRIEL\'s".toLowerCase()').should.equal("gabriel's")
コード例 #11
0
def test_error_handling_non_strict(context):
    "SleepyHollow#evaluate_javascript returns None if code is invalid"
    sl = SleepyHollow()

    script1 = r'''(foo)'''
    expect(sl.evaluate_javascript(script1)).to.be.none
コード例 #12
0
def test_decode_dict(context):
    "SleepyHollow#evaluate_javascript maps the type `dict`"
    sl = SleepyHollow()
    sl.evaluate_javascript(
        u'(function(){return {name: "GABRIEL FALCÃO".toLowerCase()}})();'
    ).should.equal({'name': 'gabriel falcão'})
コード例 #13
0
def test_decode_list(context):
    "SleepyHollow#evaluate_javascript maps the type `list`"
    sl = SleepyHollow()
    sl.evaluate_javascript("['gabriel', 'falcao']").should.equal(
        ['gabriel', 'falcao'])
コード例 #14
0
def test_decode_int(context):
    "SleepyHollow#evaluate_javascript maps the type `int`"
    sl = SleepyHollow()
    sl.evaluate_javascript("1").should.equal(1)
コード例 #15
0
def test_decode_float(context):
    "SleepyHollow#evaluate_javascript maps the type `float`"
    sl = SleepyHollow()
    sl.evaluate_javascript("1.4").should.equal(1.4)
コード例 #16
0
def test_decode_string_with_double_quotes(context):
    "SleepyHollow#evaluate_javascript maps the type `string` with double quotes"
    sl = SleepyHollow()
    sl.evaluate_javascript(r'"\"NICE\""').should.equal('"NICE"')
コード例 #17
0
def test_error_handling_non_strict(context):
    "SleepyHollow#evaluate_javascript returns None if code is invalid"
    sl = SleepyHollow()

    script1 = r'''(foo)'''
    expect(sl.evaluate_javascript(script1)).to.be.none
コード例 #18
0
def test_decode_string(context):
    "SleepyHollow#evaluate_javascript maps the type `string`"
    sl = SleepyHollow()
    sl.evaluate_javascript(r'"GABRIEL\'s".toLowerCase()').should.equal(
        "gabriel's")