summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/test/upstream/transform/object.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ext/librethinkdbxx/test/upstream/transform/object.yaml')
-rw-r--r--ext/librethinkdbxx/test/upstream/transform/object.yaml147
1 files changed, 0 insertions, 147 deletions
diff --git a/ext/librethinkdbxx/test/upstream/transform/object.yaml b/ext/librethinkdbxx/test/upstream/transform/object.yaml
deleted file mode 100644
index 41f9aa91..00000000
--- a/ext/librethinkdbxx/test/upstream/transform/object.yaml
+++ /dev/null
@@ -1,147 +0,0 @@
-desc: Tests manipulation operations on objects
-tests:
-
- # Define some objects to work with
- - def: obj = r.expr({'a':1, 'b':2,'c':"str",'d':null,'e':{'f':'buzz'}})
-
- ## Get attr
-
- - cd: obj['a']
- js:
- - obj('a')
- - obj.getField('a')
- ot: 1
- - cd: obj['c']
- js:
- - obj('c')
- - obj.getField('c')
- ot: 'str'
-
- ## Has_Fields
-
- - cd: obj.has_fields('b')
- ot: true
- - cd: obj.keys().contains('d')
- ot: true
- - cd: obj.has_fields('d')
- ot: false
- - cd: obj.has_fields({'e':'f'})
- ot: true
- - cd: obj.has_fields({'e':'g'})
- ot: false
- - cd: obj.has_fields('f')
- ot: false
-
- # Has_Fields is variadic
- - cd: obj.has_fields('a', 'b')
- ot: true
- - cd: obj.has_fields('a', 'd')
- ot: false
- - cd: obj.has_fields('a', 'f')
- ot: false
- - cd: obj.has_fields('a', {'e':'f'})
- ot: true
-
- # Has_Fields is polymorphic
- - cd: r.expr([obj, obj.pluck('a', 'b')]).has_fields('a', 'b').count()
- ot: 2
- - cd: r.expr([obj, obj.pluck('a', 'b')]).has_fields('a', 'c').count()
- ot: 1
- - cd: r.expr([obj, obj.pluck('a', 'e')]).has_fields('a', {'e':'f'}).count()
- ot: 2
-
- ## Pluck
-
- - cd: obj.pluck('a')
- ot: {'a':1}
- - cd: obj.pluck('a', 'b')
- ot: {'a':1, 'b':2}
-
- ## Without
-
- - cd: obj.without('a')
- ot: {'b':2, 'c':'str', 'd':null, 'e':{'f':'buzz'}}
- - cd: obj.without('a', 'b')
- ot: {'c':'str', 'd':null,'e':{'f':'buzz'}}
- - cd: obj.without('a', 'b', 'c', 'd')
- ot: {'e':{'f':'buzz'}}
- - cd: obj.without({'e':'f'})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':{}}
- - cd: obj.without({'e':'buzz'})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':{'f':'buzz'}}
-
- ## Merge
- #obj = r.expr({'a':1, 'b':2,'c':"str",'d':null,'e':{'f':'buzz'}})
-
- # complete replacement
- - cd: obj.merge(1)
- ot: 1
-
- # add attr
- - cd: obj.merge({'e':-2})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':-2}
-
- # delete attr
- - cd: obj.merge({'e':r.literal()})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null}
-
- # recursive merge
- - cd: obj.merge({'e':{'f':'quux'}})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':{'f':'quux'}}
-
- - cd: obj.merge({'e':{'g':'quux'}})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':{'f':'buzz', 'g':'quux'}}
-
- - cd: obj.merge({'e':r.literal({'g':'quux'})})
- ot: {'a':1, 'b':2, 'c':'str', 'd':null, 'e':{'g':'quux'}}
-
- # overwrite
- - cd: obj.merge({'a':-1})
- ot: {'a':-1, 'b':2, 'c':'str', 'd':null, 'e':{'f':'buzz'}}
-
- - def: errmsg = 'Stray literal keyword found:'+' literal is only legal inside of the object passed to merge or update and cannot nest inside other literals.'
-
- # errors
- - cd: r.literal('foo')
- ot: err("ReqlQueryLogicError", errmsg, [])
-
- - cd: obj.merge(r.literal('foo'))
- ot: err("ReqlQueryLogicError", errmsg, [])
-
- - cd: obj.merge({'foo':r.literal(r.literal('foo'))})
- ot: err("ReqlQueryLogicError", errmsg, [])
-
- - def: o = r.expr({'a':{'b':1, 'c':2}, 'd':3})
-
- - cd: o.merge({'e':4}, {'f':5})
- ot: ({'a':{'b':1, 'c':2}, 'd':3, 'e':4, 'f':5})
-
- - rb: r.expr([o, o.merge({'d':4})]).merge{|row| {'e':row['d']}}
- py: r.expr([o, o.merge({'d':4})]).merge(lambda row:{'e':row['d']})
- js: r.expr([o, o.merge({'d':4})]).merge(function(row){return {'e':row('d')}})
- ot: ([{'a':{'b':1, 'c':2}, 'd':3, 'e':3}, {'a':{'b':1, 'c':2}, 'd':4, 'e':4}])
-
- - py: r.expr([o, o.merge({'d':4})]).merge({'e':r.row['d']})
- js: r.expr([o, o.merge({'d':4})]).merge({'e':r.row('d')})
- ot: ([{'a':{'b':1, 'c':2}, 'd':3, 'e':3}, {'a':{'b':1, 'c':2}, 'd':4, 'e':4}])
-
- - rb: r.expr([o, o.merge({'d':4})]).merge{|row| {'a':{'b':2}}}
- py: r.expr([o, o.merge({'d':4})]).merge(lambda row:{'a':{'b':2}})
- js: r.expr([o, o.merge({'d':4})]).merge(function(row){return {'a':{'b':2}}})
- ot: ([{'a':{'b':2, 'c':2}, 'd':3}, {'a':{'b':2, 'c':2}, 'd':4}])
-
- - rb: r.expr([o, o.merge({'d':4})]).merge{|row| {'a':r.literal({'b':2})}}
- py: r.expr([o, o.merge({'d':4})]).merge(lambda row:{'a':r.literal({'b':2})})
- js: r.expr([o, o.merge({'d':4})]).merge(function(row){return {'a':r.literal({'b':2})}})
- ot: ([{'a':{'b':2}, 'd':3}, {'a':{'b':2}, 'd':4}])
-
- ## keys
- - cd: obj.keys()
- ot: (['a', 'b', 'c', 'd', 'e'])
-
- - cd: obj.values()
- ot: ([1, 2, 'str', null, {'f':'buzz'}])
-
- ## count
- - cd: obj.count()
- ot: 5