script_core 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -1
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/Gemfile +8 -1
- data/{LICENSE → MIT-LICENSE} +0 -0
- data/bootstrap.sh +1 -1
- data/dev.yml +1 -2
- data/ext/enterprise_script_service/Rakefile +7 -1
- data/ext/enterprise_script_service/data.cpp +21 -11
- data/ext/enterprise_script_service/libseccomp/.gitignore +4 -0
- data/ext/enterprise_script_service/libseccomp/.mailmap +10 -0
- data/ext/enterprise_script_service/libseccomp/.travis.yml +71 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +33 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +134 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +16 -1
- data/ext/enterprise_script_service/libseccomp/Makefile.am +32 -1
- data/ext/enterprise_script_service/libseccomp/README.md +113 -0
- data/ext/enterprise_script_service/libseccomp/RELEASE_PROCESS.md +97 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +8 -1
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +3 -1
- data/ext/enterprise_script_service/libseccomp/doc/credits_updater +35 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man1/scmp_sys_resolver.1 +3 -1
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +101 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_set.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +1 -1
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +23 -4
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +2 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +80 -15
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_resolve_name.3 +15 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +185 -22
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +13 -4
- data/ext/enterprise_script_service/libseccomp/src/api.c +87 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +510 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.c +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +38 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +19 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +43 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +43 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-check.c +56 -53
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +23 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +52 -49
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +41 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch.c +48 -83
- data/ext/enterprise_script_service/libseccomp/src/arch.h +4 -21
- data/ext/enterprise_script_service/libseccomp/src/db.c +1184 -541
- data/ext/enterprise_script_service/libseccomp/src/db.h +12 -32
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +43 -24
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +20 -7
- data/ext/enterprise_script_service/libseccomp/src/hash.c +65 -649
- data/ext/enterprise_script_service/libseccomp/src/hash.h +3 -13
- data/ext/enterprise_script_service/libseccomp/src/helper.c +49 -0
- data/ext/enterprise_script_service/libseccomp/src/helper.h +27 -0
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +9 -4
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +9 -0
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +72 -8
- data/ext/enterprise_script_service/libseccomp/src/python/setup.py +0 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +137 -4
- data/ext/enterprise_script_service/libseccomp/src/system.h +32 -2
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +17 -0
- data/ext/enterprise_script_service/libseccomp/tests/01-sim-allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/05-sim-long_jumps.tests +18 -18
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.py +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +13 -8
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.c +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.tests +27 -27
- data/ext/enterprise_script_service/libseccomp/tests/09-sim-syscall_priority_pre.tests +7 -7
- data/ext/enterprise_script_service/libseccomp/tests/10-sim-syscall_priority_post.tests +7 -7
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/12-sim-basic_masked_ops.tests +29 -29
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +37 -0
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -0
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +79 -21
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +44 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.c +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.py +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +12 -12
- data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.tests +4 -4
- data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.py +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.py +3 -2
- data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/25-sim-multilevel_chains_adv.tests +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.c +6 -0
- data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.py +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/27-sim-bpf_blk_state.tests +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/28-sim-arch_x86.py +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/29-sim-pseudo_syscall.py +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.c +74 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.py +45 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.c +73 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +56 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +39 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.c +109 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.py +55 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.tests +27 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.c +104 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +67 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +68 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.c +59 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.py +47 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.tests +21 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.c +63 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.py +44 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.tests +19 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.c +198 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.py +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.tests +54 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.c +132 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.py +62 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.tests +55 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.c +178 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.py +107 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.c +108 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.py +48 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.tests +16 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.c +78 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.py +47 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.tests +16 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +102 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.py +68 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.c +84 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.py +50 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.tests +38 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.c +56 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.py +45 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.tests +25 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +68 -6
- data/ext/enterprise_script_service/libseccomp/tests/miniseq.c +3 -2
- data/ext/enterprise_script_service/libseccomp/tests/regression +102 -10
- data/ext/enterprise_script_service/libseccomp/tests/util.c +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/util.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tools/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +5 -1
- data/ext/enterprise_script_service/libseccomp/tools/bpf.h +8 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_api_level.c +39 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +6 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +14 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +12 -2
- data/ext/enterprise_script_service/libseccomp/tools/util.c +4 -0
- data/ext/enterprise_script_service/mruby/.gitignore +15 -8
- data/ext/enterprise_script_service/mruby/.travis.yml +3 -4
- data/ext/enterprise_script_service/mruby/.yardopts +1 -1
- data/ext/enterprise_script_service/mruby/AUTHORS +6 -2
- data/ext/enterprise_script_service/mruby/LEGAL +1 -1
- data/ext/enterprise_script_service/mruby/LICENSE +20 -0
- data/ext/enterprise_script_service/mruby/README.md +2 -2
- data/ext/enterprise_script_service/mruby/Rakefile +28 -12
- data/ext/enterprise_script_service/mruby/TODO +0 -2
- data/ext/enterprise_script_service/mruby/appveyor.yml +11 -7
- data/ext/enterprise_script_service/mruby/benchmark/bm_app_lc_fizzbuzz.rb +1 -2
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -2
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +7 -2
- data/ext/enterprise_script_service/mruby/doc/limitations.md +69 -7
- data/ext/enterprise_script_service/mruby/doc/opcode.md +127 -0
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +2 -2
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +9 -3
- data/ext/enterprise_script_service/mruby/include/mruby.h +45 -34
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +17 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +1 -1
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +12 -4
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +18 -15
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +6 -1
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -5
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -4
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +1 -1
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +56 -9
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +17 -4
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +5 -6
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +47 -139
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +117 -0
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +8 -8
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +29 -5
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +20 -10
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +4 -0
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +7 -4
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +7 -7
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +23 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +35 -9
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +5 -5
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +5 -3
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +26 -27
- data/ext/enterprise_script_service/mruby/minirake +136 -15
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +54 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +9 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +23 -0
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config.bat +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +13 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +9 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +7 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +7 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +24 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +8 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +22 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +84 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +38 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +60 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +1 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/mrblib/module.rb +89 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/test/module.rb +55 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +918 -767
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/node.h +4 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +552 -273
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrbgem.rake +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +60 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +76 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +57 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +10 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +47 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +22 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +90 -40
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +33 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +15 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +42 -47
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +4 -47
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +12 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.rb +17 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +11 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +128 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +17 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +16 -53
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +12 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +4 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +7 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +31 -51
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +702 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +369 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/kernel.rb +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +8 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +27 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +7 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +126 -79
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/mrblib/proc.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +34 -19
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +18 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +7 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +13 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +27 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/example/sleep.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +135 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/test/sleep_test.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrblib/socket.rb +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.cstub +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.def +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +48 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/addrinfo.rb +5 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/socket.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +14 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +6 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +96 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +626 -190
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +102 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +15 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +16 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +13 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +21 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +22 -39
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +22 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +25 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +26 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +70 -40
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +4 -3
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +17 -46
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +1 -4
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +7 -8
- data/ext/enterprise_script_service/mruby/mrblib/symbol.rb +7 -0
- data/ext/enterprise_script_service/mruby/src/array.c +97 -44
- data/ext/enterprise_script_service/mruby/src/backtrace.c +14 -16
- data/ext/enterprise_script_service/mruby/src/class.c +156 -464
- data/ext/enterprise_script_service/mruby/src/codedump.c +436 -364
- data/ext/enterprise_script_service/mruby/src/debug.c +42 -45
- data/ext/enterprise_script_service/mruby/src/dump.c +27 -152
- data/ext/enterprise_script_service/mruby/src/enum.c +18 -2
- data/ext/enterprise_script_service/mruby/src/error.c +5 -4
- data/ext/enterprise_script_service/mruby/src/etc.c +1 -0
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +15 -1
- data/ext/enterprise_script_service/mruby/src/gc.c +76 -30
- data/ext/enterprise_script_service/mruby/src/hash.c +768 -256
- data/ext/enterprise_script_service/mruby/src/kernel.c +24 -446
- data/ext/enterprise_script_service/mruby/src/load.c +35 -35
- data/ext/enterprise_script_service/mruby/src/mruby_core.rake +2 -3
- data/ext/enterprise_script_service/mruby/src/numeric.c +96 -32
- data/ext/enterprise_script_service/mruby/src/object.c +88 -43
- data/ext/enterprise_script_service/mruby/src/proc.c +16 -14
- data/ext/enterprise_script_service/mruby/src/range.c +186 -176
- data/ext/enterprise_script_service/mruby/src/state.c +5 -5
- data/ext/enterprise_script_service/mruby/src/string.c +79 -93
- data/ext/enterprise_script_service/mruby/src/symbol.c +173 -85
- data/ext/enterprise_script_service/mruby/src/variable.c +283 -177
- data/ext/enterprise_script_service/mruby/src/vm.c +711 -688
- data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +4 -3
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +3 -2
- data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +1 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +1 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +4 -6
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +0 -2
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +12 -11
- data/ext/enterprise_script_service/mruby/test/assert.rb +114 -121
- data/ext/enterprise_script_service/mruby/test/bintest.rb +10 -1
- data/ext/enterprise_script_service/mruby/test/t/array.rb +11 -11
- data/ext/enterprise_script_service/mruby/test/t/bs_block.rb +32 -31
- data/ext/enterprise_script_service/mruby/test/t/class.rb +11 -23
- data/ext/enterprise_script_service/mruby/test/t/codegen.rb +3 -3
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +41 -2
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +6 -5
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +26 -44
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +7 -119
- data/ext/enterprise_script_service/mruby/test/t/literals.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/module.rb +93 -282
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +40 -11
- data/ext/enterprise_script_service/mruby/test/t/proc.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/range.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/string.rb +17 -24
- data/ext/enterprise_script_service/mruby/test/t/symbol.rb +6 -2
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +191 -3
- data/ext/enterprise_script_service/mruby/travis_config.rb +1 -1
- data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/.travis.yml +77 -44
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +75 -0
- data/ext/enterprise_script_service/msgpack/CMakeLists.txt +187 -50
- data/ext/enterprise_script_service/msgpack/Doxyfile +1 -1
- data/ext/enterprise_script_service/msgpack/Files.cmake +87 -0
- data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +3 -3
- data/ext/enterprise_script_service/msgpack/QUICKSTART-CPP.md +1 -1
- data/ext/enterprise_script_service/msgpack/README.md +15 -7
- data/ext/enterprise_script_service/msgpack/appveyor.yml +9 -5
- data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +2 -2
- data/ext/enterprise_script_service/msgpack/ci/build_regression.sh +49 -0
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_array.hpp.erb +4 -2
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_map.hpp.erb +2 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +25 -18
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone_decl.hpp.erb +8 -0
- data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +28 -1
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +104 -0
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv_zlib.cpp +176 -0
- data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +4 -2
- data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint32_array.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint64_array.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +15 -3
- data/ext/enterprise_script_service/msgpack/example/cpp03/class_non_intrusive.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +5 -1
- data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +12 -4
- data/ext/enterprise_script_service/msgpack/example/x3/parse.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/example/x3/stream_unpack.cpp +9 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitattributes +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitignore +3 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.project +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.pydevproject +5 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.travis.yml +109 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/appveyor.yml +149 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/build.jam +6 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/check/predef.jam +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/.gitignore +1 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/build.jam +100 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/hardware_simd.qbk +89 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/history.qbk +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/predef.qbk +734 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/todo.qbk +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/detail/endian.hpp +11 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef.h +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture.h +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/alpha.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/arm.h +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/blackfin.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/convex.h +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ia64.h +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/m68k.h +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/mips.h +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/parisc.h +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ppc.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ptx.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/pyramid.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/rs6k.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sparc.h +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/superh.h +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys370.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys390.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86.h +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/32.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/64.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/z.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/borland.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/clang.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/comeau.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/compaq.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/diab.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/digitalmars.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/dignus.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/edg.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ekopath.h +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc.h +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc_xml.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/greenhills.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/hp_acc.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/iar.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ibm.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/intel.h +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/kai.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/llvm.h +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metaware.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metrowerks.h +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/microtec.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/mpw.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/nvcc.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/palm.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/pgi.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sgi_mipspro.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sunpro.h +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/tendra.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/visualc.h +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/watcom.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_cassert.h +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_exception.h +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/comp_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/endian_compat.h +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/os_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/platform_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test.h +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test_def.h +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd.h +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm/versions.h +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc.h +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc/versions.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86.h +123 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86/versions.h +129 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language.h +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/cuda.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/objc.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdc.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdcpp.h +121 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c.h +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/_prefix.h +13 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/cloudabi.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/gnu.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/uc.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/vms.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/zos.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std.h +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/_prefix.h +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/cxx.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/dinkumware.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/libcomo.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/modena.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/msl.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/roguewave.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/sgi.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stdcpp3.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stlport.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/vacpp.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/make.h +97 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os.h +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/aix.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/amigaos.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/android.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/beos.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd.h +103 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/bsdi.h +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/dragonfly.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/free.h +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/net.h +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/open.h +251 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/cygwin.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/haiku.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/hpux.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/ios.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/irix.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/linux.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/macos.h +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/os400.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/qnxnto.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/solaris.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/unix.h +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/vms.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/windows.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/endian.h +203 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/workaround.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform.h +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/cloudabi.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/ios.h +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw.h +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw32.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw64.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_desktop.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_phone.h +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_runtime.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_server.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_store.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_system.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_uwp.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version.h +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version_number.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/index.html +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/meta/libraries.json +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/.gitignore +3 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/build.jam +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/check_value.cpp +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_endian.c +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_vs_bsd.c +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/make.cpp +94 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/platform_windows.cpp +177 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/predef_info.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at.cpp +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at_outdated.cpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/version.cpp +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround.cpp +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround_strict_config.cpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/build.jam +9 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef.jam +202 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check.h +98 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc.h +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/build_log.py +428 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/common.py +878 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/library_test.py +198 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.gitattributes +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.travis.yml +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/appveyor.yml +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html +2494 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/acknowledgements.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/bibliography.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/contents.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/arrays.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/lists.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/sequences.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/tuples.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/array_arithmetic.c +196 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/catch_builtin.cpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/delay.c +95 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/duffs_device.c +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/is_integral.cpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/linear_fib.c +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers.html +249 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/add.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/dec.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/div.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/inc.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mod.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mul.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/sub.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/data.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/elem.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/enum.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/insert.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_back.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_front.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_back.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_front.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/remove.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/replace.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/reverse.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/size.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_list.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_seq.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_tuple.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/assert_msg.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/cat.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/not_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/limits.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/variadics.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/deduce_d.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_iif.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/iif.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/while.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/assert.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/line.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/dec.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/empty.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwad.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expand.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expr_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/apply.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/empty.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/expand.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/identity.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/intercept.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/overload.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/for.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/identity.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/inc.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iterate.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/iterate.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/local.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/self.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/library.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/limits.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/adt.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/append.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/at.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/cat.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/filter.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/first_n.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_left.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_right.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_i.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_product.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/rest_n.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/reverse.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/size.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_array.html +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_seq.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_tuple.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/transform.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/and.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitand.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitnor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitxor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bool.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/compl.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/nor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/not.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/or.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/xor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/max.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/min.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/preprocessor.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma_if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/is_begin_parens.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/remove_parens.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_2nd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_3rd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_2nd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_3rd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_r.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_z.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_binary_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwad.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwd.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/esbp.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/etbp.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/for.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat_from_to.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/max.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/min.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/cat.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/elem.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/enum.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/filter.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/first_n.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_left.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_right.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_i.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_product.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/insert.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_back.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_front.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_back.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_front.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/remove.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/replace.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/rest_n.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/reverse.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/seq.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/size.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/subseq.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_array.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_list.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_tuple.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/transform.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/variadic_seq_to_seq.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/counter.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/slot.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/stringize.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/eat.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/elem.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/enum.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/insert.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_back.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_front.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_back.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_front.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/rem.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/remove.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/replace.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/reverse.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/size.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_array.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_list.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_seq.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/elem.html +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/size.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_array.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_list.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_seq.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_tuple.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/while.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/wstringize.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/index.html +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/miscellanea.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref.html +319 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add_d.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/and.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/apply.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_data.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_elem.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_enum.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back_z.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front_z.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_back.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_front.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove_d.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace_d.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_reverse.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_size.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_list.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_seq.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_tuple.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert.html +114 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert_msg.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assign_slot.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitand.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitnor.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitor.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitxor.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bool.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/cat.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma_if.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/compl.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/config_extended_line_info.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/counter.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/dec.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_d.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_r.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_z.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div_d.html +85 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/empty.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params_z.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_a_default.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_defaults.html +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_z.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params_z.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_z.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params_z.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_z.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_z.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbp.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbpz.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbp.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbpz.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expand.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_if.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_iif.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/filename_x.html +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for.html +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r.html +148 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r_macros.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_finish.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_flags.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_iteration.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_start.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity_n.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/if.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iif.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/inc.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/include_self.html +101 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/indirect_self.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/intercept.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_begin_parens.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_iterating.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_selfish.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iterate.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_depth.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_finish.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_flags.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_limits.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_params_x.html +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_start.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_dim.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_for.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration_dim.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_mag.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_repeat.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_seq.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_count.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_sig.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_tuple.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_variadic.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_while.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/line.html +112 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append_d.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat_d.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cons.html +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum_r.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n_d.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d_old.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d_old.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i_r.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product_r.html +118 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_r.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_cons.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_nil.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_nil.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n_d.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size_d.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array_d.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq_r.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple_r.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_iterate.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_limits.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_macro.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen.html +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen_if.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod_d.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul_d.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nil.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nor.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/or.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/overload.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_finish.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_flags.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_iteration.html +101 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_start.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/remove_parens.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_1st.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_2nd.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_3rd.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to.html +102 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_1st.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_2nd.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_3rd.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d_z.html +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_z.html +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z.html +92 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z_macros.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen.html +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen_if.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat_s.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_elem.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_enum.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter_s.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_first_n.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left_s.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right.html +92 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right_s.html +97 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i_r.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product.html +100 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product_r.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_r.html +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_head.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_insert.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_nil.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_back.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_front.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_back.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_front.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_remove.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_replace.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_rest_n.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse_s.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_size.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_subseq.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_tail.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_array.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_list.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_tuple.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform_s.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/slot.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/stringize.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub_d.html +85 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_eat.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_elem.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_enum.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert_d.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back_z.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front_z.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_back.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_front.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem_ctor.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove_d.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace_d.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_reverse.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_size.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_array.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_list.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_seq.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/update_counter.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/value.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_elem.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_seq_to_seq.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_size.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_array.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_list.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_seq.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_tuple.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadics.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while.html +116 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d.html +117 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d_macros.html +89 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/wstringize.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/xor.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/styles.css +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/syntax.html +307 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms.html +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/evaluated.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/named_external.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/title.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/top.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/evaluated_slots.html +157 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/file_iteration.html +1044 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/incompatible.html +140 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/local_iteration.html +156 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/motivation.html +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/problems.html +135 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/reentrancy.html +298 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/techniques.html +350 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/variadic_macros.html +262 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/add.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/dec.hpp +289 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/div.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/inc.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mul.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/sub.hpp +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/data.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/detail/get_data.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/elem.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/enum.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/insert.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_back.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_front.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_back.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_front.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/remove.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/replace.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/reverse.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/size.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_list.hpp +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_seq.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_tuple.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/assert_msg.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/cat.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma_if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/equal.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater_equal.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less_equal.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/not_equal.hpp +814 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/config.hpp +106 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/limits.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/deduce_d.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/edg/while.hpp +534 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/while.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_if.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_iif.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/if.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/iif.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/while.hpp +312 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/assert.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/error.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/line.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/dec.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/auto_rec.hpp +293 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/check.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_binary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_nullary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_unary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/null.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/split.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/empty.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted_params.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expand.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expr_if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/apply.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/empty.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/expand.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/identity.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/intercept.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_1.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty.hpp +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_or_1.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/overload.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/for.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/identity.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/inc.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iterate.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/finish.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/local.hpp +812 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/self.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/start.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/iterate.hpp +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/local.hpp +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/self.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/library.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/limits.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/adt.hpp +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/append.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/at.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/cat.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_left.hpp +279 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_right.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/enum.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/filter.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/first_n.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_left.hpp +303 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_right.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_i.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_product.hpp +141 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/rest_n.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/reverse.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/size.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_array.hpp +155 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_seq.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_tuple.hpp +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/transform.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/and.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitand.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitnor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitxor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bool.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/compl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/nor.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/not.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/or.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/xor.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/max.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/min.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma_if.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren_if.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_2nd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_3rd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_r.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_z.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/for.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum.hpp +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/for.hpp +324 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat.hpp +825 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/max.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/min.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/cat.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/binary_transform.hpp +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/split.hpp +284 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/elem.hpp +304 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/enum.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/filter.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/first_n.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_left.hpp +1070 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_right.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each.hpp +107 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_i.hpp +109 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_product.hpp +126 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/insert.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_back.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_front.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_back.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_front.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/remove.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/replace.hpp +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/rest_n.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/reverse.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/seq.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/size.hpp +548 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/subseq.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_array.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_list.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_tuple.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/transform.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/counter.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/counter.hpp +269 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/def.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/shared.hpp +247 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot1.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot2.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot3.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot4.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot5.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/slot.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/stringize.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/eat.hpp +115 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/elem.hpp +201 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/enum.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/insert.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_back.hpp +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_front.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_back.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_front.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/rem.hpp +149 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/remove.hpp +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/replace.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/reverse.hpp +117 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/size.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_array.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_list.hpp +118 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_seq.hpp +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/elem.hpp +94 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/size.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_array.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_list.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_seq.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_tuple.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/while.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/wstringize.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/index.html +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/meta/libraries.json +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/Jamfile.v2 +252 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cxx +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cxx +192 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.c +13 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cxx +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/config_info.cpp +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cxx +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cxx +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cxx +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cxx +145 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cxx +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cxx +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.cpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.h +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cxx +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cxx +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cxx +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/repetition.cpp +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cxx +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cxx +222 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cxx +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/test.h +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cxx +266 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple_elem_bug_test.cxx +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cxx +56 -0
- data/ext/enterprise_script_service/msgpack/fuzz/CMakeLists.txt +43 -0
- data/ext/enterprise_script_service/msgpack/fuzz/regression_runner.cpp +50 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer.cpp +23 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray +1 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject +1 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting +2 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground +0 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/array_ref_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/check_container_size_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/chrono.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/carray_byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/vector_byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/define_decl.hpp +25 -24
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/ext_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/fixint_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/int_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/map_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/msgpack_tuple_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/nil_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/raw_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/size_equal_only_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/v4raw_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/cpp_config_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/fbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/iterator_decl.hpp +2 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/meta_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +28 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse_return.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/arm.h +11 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/parisc.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/ptx.h +44 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/intel.h +17 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/nvcc.h +60 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/visualc.h +15 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/arm.h +3 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/x86_amd/versions.h +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language/cuda.h +52 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c/cloudabi.h +53 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/make.h +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/android.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/free.h +10 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/open.h +80 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/endian.h +1 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/workaround.h +87 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform.h +9 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/cloudabi.h +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/ios.h +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw.h +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw32.h +63 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw64.h +63 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_desktop.h +9 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_phone.h +7 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_runtime.h +13 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_server.h +47 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_store.h +11 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_system.h +47 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_uwp.h +60 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version_number.h +20 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/cat.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/config/config.hpp +13 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/binary_transform.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/to_list.hpp +12 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/sbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +31 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/timestamp.h +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +13 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/fusion.hpp +48 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/carray.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/char_ptr.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_char.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +215 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/tuple.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/byte.hpp +74 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp +109 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +119 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/deque.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +1088 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +32 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +4 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +4 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +40 -24
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +55 -33
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/list.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/pair.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/string.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_bool.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +9 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +9 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config_decl.hpp +6 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +41 -34
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone_decl.hpp +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +25 -19
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone_decl.hpp +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +768 -404
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_decl.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +15 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +14 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor.hpp +5 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_decl.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/pack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +41 -23
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse_decl.hpp +79 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack.hpp +7 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack_decl.hpp +8 -36
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse_decl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack.hpp +13 -12
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/cpp_config_decl.hpp +84 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/fbuffer_decl.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/iterator_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/meta_decl.hpp +50 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/null_visitor_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_decl.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd.hpp +70 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd_decl.hpp +75 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/pack_decl.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +677 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_decl.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_return.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/sbuffer_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +192 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack_decl.hpp +304 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_parse_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack.hpp +97 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zbuffer_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zone_decl.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/versioning.hpp +3 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer.h +1 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/makedist.sh +2 -0
- data/ext/enterprise_script_service/msgpack/msgpack-config.cmake.in +23 -0
- data/ext/enterprise_script_service/msgpack/src/objectc.c +1 -1
- data/ext/enterprise_script_service/msgpack/src/unpack.c +8 -8
- data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +13 -1
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +13 -6
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +31 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +3 -3
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +8 -0
- data/ext/enterprise_script_service/msgpack/test/json.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +114 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +188 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +333 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +11 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +9 -3
- data/ext/enterprise_script_service/msgpack/test/object.cpp +11 -2
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +72 -8
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +96 -0
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +38 -13
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +350 -6
- data/ext/enterprise_script_service/msgpack/update_version.sh +17 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/script_core.rake +5 -2
- data/script_core.gemspec +0 -1
- data/spec/dummy/app/controllers/application_controller.rb +18 -0
- data/spec/dummy/app/controllers/fields/choices_controller.rb +50 -0
- data/spec/dummy/app/controllers/forms/formulas/playgrounds_controller.rb +2 -2
- data/spec/dummy/app/controllers/playgrounds_controller.rb +18 -3
- data/spec/dummy/app/controllers/time_zones_controller.rb +14 -0
- data/spec/dummy/app/helpers/fields_helper.rb +0 -4
- data/spec/dummy/app/lib/script_engine.rb +18 -7
- data/spec/dummy/app/models/choice.rb +10 -0
- data/spec/dummy/app/models/concerns/fields/helper.rb +23 -0
- data/spec/dummy/app/models/concerns/fields/validations/acceptance.rb +1 -1
- data/spec/dummy/app/models/concerns/fields/validations/confirmation.rb +1 -1
- data/spec/dummy/app/models/concerns/fields/validations/exclusion.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/format.rb +5 -7
- data/spec/dummy/app/models/concerns/fields/validations/inclusion.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/length.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/numericality.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/presence.rb +1 -1
- data/spec/dummy/app/models/field.rb +8 -8
- data/spec/dummy/app/models/field_options.rb +16 -8
- data/spec/dummy/app/models/fields.rb +4 -0
- data/spec/dummy/app/models/fields/boolean_field.rb +1 -1
- data/spec/dummy/app/models/fields/date_field.rb +24 -0
- data/spec/dummy/app/models/fields/datetime_field.rb +24 -0
- data/spec/dummy/app/models/fields/multiple_nested_form_field.rb +8 -3
- data/spec/dummy/app/models/fields/multiple_select_field.rb +42 -0
- data/spec/dummy/app/models/fields/nested_form_field.rb +6 -5
- data/spec/dummy/app/models/fields/options/date_field.rb +138 -0
- data/spec/dummy/app/models/fields/options/datetime_field.rb +138 -0
- data/spec/dummy/app/models/fields/options/multiple_select_field.rb +7 -0
- data/spec/dummy/app/models/fields/options/select_field.rb +7 -0
- data/spec/dummy/app/models/fields/select_field.rb +25 -0
- data/spec/dummy/app/models/fields/validations/boolean_field.rb +1 -1
- data/spec/dummy/app/models/fields/validations/date_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/datetime_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/decimal_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/integer_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/multiple_nested_form_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/multiple_select_field.rb +8 -0
- data/spec/dummy/app/models/fields/validations/nested_form_field.rb +1 -1
- data/spec/dummy/app/models/fields/validations/select_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/text_field.rb +3 -3
- data/spec/dummy/app/models/metal_form.rb +4 -0
- data/spec/dummy/app/models/non_configurable.rb +4 -0
- data/spec/dummy/app/models/virtual_model.rb +8 -0
- data/spec/dummy/app/presenters/fields/date_field_presenter.rb +53 -0
- data/spec/dummy/app/presenters/fields/datetime_field_presenter.rb +53 -0
- data/spec/dummy/app/presenters/fields/field_presenter.rb +3 -2
- data/spec/dummy/app/presenters/fields/multiple_select_field_presenter.rb +37 -0
- data/spec/dummy/app/presenters/fields/select_field_presenter.rb +26 -0
- data/spec/dummy/app/views/_form_core/field_options/_date_field.html.erb +97 -0
- data/spec/dummy/app/views/_form_core/field_options/_datetime_field.html.erb +97 -0
- data/spec/dummy/app/views/_form_core/field_options/_multiple_select_field.html.erb +12 -0
- data/spec/dummy/app/views/_form_core/field_options/_select_field.html.erb +12 -0
- data/spec/dummy/app/views/_form_core/fields/_date_field.html.erb +9 -0
- data/spec/dummy/app/views/_form_core/fields/_datetime_field.html.erb +9 -0
- data/spec/dummy/app/views/_form_core/fields/_multiple_select_field.html.erb +18 -0
- data/spec/dummy/app/views/_form_core/fields/_select_field.html.erb +17 -0
- data/spec/dummy/app/views/fields/choices/_form.html.erb +34 -0
- data/spec/dummy/app/views/fields/choices/edit.html.erb +6 -0
- data/spec/dummy/app/views/fields/choices/index.html.erb +27 -0
- data/spec/dummy/app/views/fields/choices/new.html.erb +6 -0
- data/spec/dummy/app/views/forms/fields/index.html.erb +4 -1
- data/spec/dummy/app/views/forms/formulas/playgrounds/create.html.erb +1 -1
- data/spec/dummy/app/views/layouts/_nav.html.erb +22 -0
- data/spec/dummy/app/views/nested_forms/fields/index.html.erb +10 -3
- data/spec/dummy/app/views/playgrounds/_form.html.erb +1 -1
- data/spec/dummy/config/application.rb +2 -1
- data/spec/dummy/config/initializers/validates_timeliness.rb +42 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/db/migrate/20180916202025_create_forms.form_core.rb +1 -0
- data/spec/dummy/db/migrate/20180916202122_create_choices.rb +12 -0
- data/spec/dummy/db/migrate/20180916202123_add_position_to_choices.rb +9 -0
- data/spec/dummy/db/schema.rb +19 -5
- data/spec/dummy/lib/monkey_patches/big_decimal.rb +7 -3
- data/spec/dummy/lib/monkey_patches/date.rb +12 -0
- data/spec/dummy/lib/monkey_patches/time.rb +12 -0
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/dummy/mruby/lib/core_ext.rb +64 -2
- data/spec/dummy/mruby/lib/input.rb +16 -4
- data/spec/dummy/mruby/lib/io.rb +4 -3
- data/spec/dummy/mruby/lib/output.rb +2 -28
- data/spec/dummy/mruby/lib/script_kernel.rb +8 -7
- data/spec/script_core_spec.rb +2 -2
- data/tests/googletest/.clang-format +4 -0
- data/tests/googletest/.gitignore +82 -0
- data/tests/googletest/.travis.yml +68 -29
- data/tests/googletest/BUILD.bazel +179 -0
- data/tests/googletest/CMakeLists.txt +21 -4
- data/tests/googletest/CONTRIBUTING.md +161 -0
- data/tests/googletest/LICENSE +28 -0
- data/tests/googletest/Makefile.am +12 -0
- data/tests/googletest/README.md +28 -41
- data/tests/googletest/WORKSPACE +10 -0
- data/tests/googletest/appveyor.yml +118 -35
- data/tests/googletest/ci/build-linux-autotools.sh +44 -0
- data/tests/googletest/ci/build-linux-bazel.sh +36 -0
- data/tests/googletest/ci/build-platformio.sh +2 -0
- data/tests/googletest/ci/env-linux.sh +41 -0
- data/tests/googletest/ci/env-osx.sh +47 -0
- data/tests/googletest/ci/get-nprocessors.sh +48 -0
- data/tests/googletest/ci/install-linux.sh +49 -0
- data/tests/googletest/ci/install-osx.sh +40 -0
- data/tests/googletest/ci/install-platformio.sh +5 -0
- data/tests/googletest/ci/log-config.sh +51 -0
- data/tests/googletest/ci/travis.sh +44 -0
- data/tests/googletest/configure.ac +16 -0
- data/tests/googletest/googlemock/CMakeLists.txt +78 -55
- data/tests/googletest/googlemock/Makefile.am +6 -8
- data/tests/googletest/googlemock/README.md +33 -73
- data/tests/googletest/googlemock/cmake/gmock.pc.in +11 -0
- data/tests/googletest/googlemock/cmake/gmock_main.pc.in +11 -0
- data/tests/googletest/googlemock/configure.ac +6 -18
- data/tests/googletest/googlemock/docs/CheatSheet.md +126 -99
- data/tests/googletest/googlemock/docs/CookBook.md +271 -286
- data/tests/googletest/googlemock/docs/DesignDoc.md +29 -27
- data/tests/googletest/googlemock/docs/Documentation.md +7 -4
- data/tests/googletest/googlemock/docs/ForDummies.md +41 -33
- data/tests/googletest/googlemock/docs/FrequentlyAskedQuestions.md +28 -29
- data/tests/googletest/googlemock/include/gmock/gmock-actions.h +232 -240
- data/tests/googletest/googlemock/include/gmock/gmock-cardinalities.h +12 -6
- data/tests/googletest/googlemock/include/gmock/gmock-function-mocker.h +218 -0
- data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h +304 -796
- data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +18 -184
- data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h +330 -673
- data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +77 -141
- data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h +293 -1372
- data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump +22 -345
- data/tests/googletest/googlemock/include/gmock/gmock-matchers.h +1382 -1218
- data/tests/googletest/googlemock/include/gmock/gmock-more-actions.h +12 -96
- data/tests/googletest/googlemock/include/gmock/gmock-more-matchers.h +39 -5
- data/tests/googletest/googlemock/include/gmock/gmock-nice-strict.h +215 -0
- data/tests/googletest/googlemock/include/gmock/gmock-spec-builders.h +362 -228
- data/tests/googletest/googlemock/include/gmock/gmock.h +10 -3
- data/tests/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +2 -0
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +3 -1
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +5 -8
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +3 -10
- data/tests/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +114 -54
- data/tests/googletest/googlemock/include/gmock/internal/gmock-port.h +13 -17
- data/tests/googletest/googlemock/include/gmock/internal/gmock-pp.h +317 -0
- data/tests/googletest/googlemock/make/Makefile +23 -7
- data/tests/googletest/googlemock/msvc/2010/gmock.sln +14 -0
- data/tests/googletest/googlemock/msvc/2010/gmock.vcxproj +69 -6
- data/tests/googletest/googlemock/msvc/2010/gmock_config.props +2 -2
- data/tests/googletest/googlemock/msvc/2010/gmock_main.vcxproj +69 -6
- data/tests/googletest/googlemock/msvc/2010/gmock_test.vcxproj +83 -8
- data/tests/googletest/googlemock/msvc/2015/gmock.sln +14 -0
- data/tests/googletest/googlemock/msvc/2015/gmock.vcxproj +63 -2
- data/tests/googletest/googlemock/msvc/2015/gmock_main.vcxproj +63 -2
- data/tests/googletest/googlemock/msvc/2015/gmock_test.vcxproj +76 -3
- data/tests/googletest/googlemock/scripts/fuse_gmock_files.py +1 -1
- data/tests/googletest/googlemock/scripts/generator/README +4 -5
- data/tests/googletest/googlemock/scripts/generator/cpp/ast.py +6 -3
- data/tests/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +18 -0
- data/tests/googletest/googlemock/scripts/upload.py +4 -4
- data/tests/googletest/googlemock/src/gmock-all.cc +1 -2
- data/tests/googletest/googlemock/src/gmock-cardinalities.cc +7 -8
- data/tests/googletest/googlemock/src/gmock-internal-utils.cc +38 -12
- data/tests/googletest/googlemock/src/gmock-matchers.cc +127 -163
- data/tests/googletest/googlemock/src/gmock-spec-builders.cc +150 -86
- data/tests/googletest/googlemock/src/gmock.cc +41 -11
- data/tests/googletest/googlemock/src/gmock_main.cc +14 -3
- data/tests/googletest/googlemock/test/BUILD.bazel +106 -0
- data/tests/googletest/googlemock/test/gmock-actions_test.cc +370 -328
- data/tests/googletest/googlemock/test/gmock-cardinalities_test.cc +5 -6
- data/tests/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
- data/tests/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
- data/tests/googletest/googlemock/test/gmock-function-mocker_test.cc +660 -0
- data/tests/googletest/googlemock/test/gmock-generated-actions_test.cc +137 -301
- data/tests/googletest/googlemock/test/gmock-generated-function-mockers_test.cc +80 -43
- data/tests/googletest/googlemock/test/gmock-generated-matchers_test.cc +239 -201
- data/tests/googletest/googlemock/test/gmock-internal-utils_test.cc +126 -68
- data/tests/googletest/googlemock/test/gmock-matchers_test.cc +1811 -674
- data/tests/googletest/googlemock/test/gmock-more-actions_test.cc +162 -171
- data/tests/googletest/googlemock/test/gmock-nice-strict_test.cc +121 -45
- data/tests/googletest/googlemock/test/gmock-port_test.cc +1 -2
- data/tests/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
- data/tests/googletest/googlemock/test/gmock-pp_test.cc +73 -0
- data/tests/googletest/googlemock/test/gmock-spec-builders_test.cc +152 -23
- data/tests/googletest/googlemock/test/gmock_all_test.cc +1 -3
- data/tests/googletest/googlemock/test/gmock_ex_test.cc +4 -5
- data/tests/googletest/googlemock/test/gmock_leak_test.py +0 -4
- data/tests/googletest/googlemock/test/gmock_leak_test_.cc +1 -2
- data/tests/googletest/googlemock/test/gmock_link2_test.cc +2 -3
- data/tests/googletest/googlemock/test/gmock_link_test.cc +2 -3
- data/tests/googletest/googlemock/test/gmock_link_test.h +45 -24
- data/tests/googletest/googlemock/test/gmock_output_test.py +10 -9
- data/tests/googletest/googlemock/test/gmock_output_test_.cc +21 -3
- data/tests/googletest/googlemock/test/gmock_output_test_golden.txt +8 -1
- data/tests/googletest/googlemock/test/gmock_stress_test.cc +7 -89
- data/tests/googletest/googlemock/test/gmock_test.cc +57 -96
- data/tests/googletest/googlemock/test/gmock_test_utils.py +5 -9
- data/tests/googletest/googletest/CMakeLists.txt +122 -83
- data/tests/googletest/googletest/Makefile.am +103 -75
- data/tests/googletest/googletest/README.md +236 -189
- data/tests/googletest/googletest/cmake/Config.cmake.in +9 -0
- data/tests/googletest/googletest/cmake/gtest.pc.in +10 -0
- data/tests/googletest/googletest/cmake/gtest_main.pc.in +11 -0
- data/tests/googletest/googletest/cmake/internal_utils.cmake +158 -58
- data/tests/googletest/googletest/cmake/libgtest.la.in +21 -0
- data/tests/googletest/googletest/configure.ac +2 -2
- data/tests/googletest/googletest/docs/Pkgconfig.md +146 -0
- data/tests/googletest/googletest/docs/PumpManual.md +5 -5
- data/tests/googletest/googletest/docs/XcodeGuide.md +9 -9
- data/tests/googletest/googletest/docs/advanced.md +2523 -0
- data/tests/googletest/googletest/docs/faq.md +770 -0
- data/tests/googletest/googletest/docs/primer.md +564 -0
- data/tests/googletest/googletest/docs/samples.md +22 -0
- data/tests/googletest/googletest/include/gtest/gtest-death-test.h +60 -11
- data/tests/googletest/googletest/include/gtest/gtest-matchers.h +741 -0
- data/tests/googletest/googletest/include/gtest/gtest-message.h +12 -44
- data/tests/googletest/googletest/include/gtest/gtest-param-test.h +139 -1080
- data/tests/googletest/googletest/include/gtest/gtest-printers.h +202 -268
- data/tests/googletest/googletest/include/gtest/gtest-spi.h +13 -7
- data/tests/googletest/googletest/include/gtest/gtest-test-part.h +21 -16
- data/tests/googletest/googletest/include/gtest/gtest-typed-test.h +157 -84
- data/tests/googletest/googletest/include/gtest/gtest.h +494 -277
- data/tests/googletest/googletest/include/gtest/gtest_pred_impl.h +41 -40
- data/tests/googletest/googletest/include/gtest/gtest_prod.h +10 -7
- data/tests/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest-port.h +1 -33
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +2 -2
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest.h +1 -5
- data/tests/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +80 -95
- data/tests/googletest/googletest/include/gtest/internal/gtest-filepath.h +8 -3
- data/tests/googletest/googletest/include/gtest/internal/gtest-internal.h +415 -231
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util.h +323 -174
- data/tests/googletest/googletest/include/gtest/internal/gtest-port-arch.h +19 -5
- data/tests/googletest/googletest/include/gtest/internal/gtest-port.h +289 -549
- data/tests/googletest/googletest/include/gtest/internal/gtest-string.h +4 -4
- data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h +23 -7
- data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump +24 -7
- data/tests/googletest/googletest/make/Makefile +13 -7
- data/tests/googletest/googletest/msvc/2010/gtest-md.sln +55 -0
- data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj +149 -0
- data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest.sln +55 -0
- data/tests/googletest/googletest/msvc/2010/gtest.vcxproj +149 -0
- data/tests/googletest/googletest/msvc/2010/gtest.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj +154 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj +162 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj +199 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters +26 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj +191 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters +26 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj +188 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj +180 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters +18 -0
- data/tests/googletest/googletest/samples/prime_tables.h +13 -10
- data/tests/googletest/googletest/samples/sample1.cc +1 -3
- data/tests/googletest/googletest/samples/sample1.h +0 -2
- data/tests/googletest/googletest/samples/sample10_unittest.cc +4 -9
- data/tests/googletest/googletest/samples/sample1_unittest.cc +2 -4
- data/tests/googletest/googletest/samples/sample2.cc +1 -3
- data/tests/googletest/googletest/samples/sample2.h +4 -8
- data/tests/googletest/googletest/samples/sample2_unittest.cc +5 -7
- data/tests/googletest/googletest/samples/sample3-inl.h +9 -9
- data/tests/googletest/googletest/samples/sample3_unittest.cc +13 -15
- data/tests/googletest/googletest/samples/sample4.cc +10 -2
- data/tests/googletest/googletest/samples/sample4.h +3 -3
- data/tests/googletest/googletest/samples/sample4_unittest.cc +11 -3
- data/tests/googletest/googletest/samples/sample5_unittest.cc +11 -14
- data/tests/googletest/googletest/samples/sample6_unittest.cc +12 -12
- data/tests/googletest/googletest/samples/sample7_unittest.cc +14 -27
- data/tests/googletest/googletest/samples/sample8_unittest.cc +20 -39
- data/tests/googletest/googletest/samples/sample9_unittest.cc +6 -10
- data/tests/googletest/googletest/scripts/fuse_gtest_files.py +1 -1
- data/tests/googletest/googletest/scripts/gen_gtest_pred_impl.py +10 -10
- data/tests/googletest/googletest/scripts/upload.py +5 -5
- data/tests/googletest/googletest/src/gtest-all.cc +3 -3
- data/tests/googletest/googletest/src/gtest-death-test.cc +417 -121
- data/tests/googletest/googletest/src/gtest-filepath.cc +15 -23
- data/tests/googletest/googletest/src/gtest-internal-inl.h +145 -122
- data/tests/googletest/googletest/src/gtest-matchers.cc +97 -0
- data/tests/googletest/googletest/src/gtest-port.cc +263 -129
- data/tests/googletest/googletest/src/gtest-printers.cc +92 -24
- data/tests/googletest/googletest/src/gtest-test-part.cc +13 -19
- data/tests/googletest/googletest/src/gtest-typed-test.cc +5 -5
- data/tests/googletest/googletest/src/gtest.cc +1469 -742
- data/tests/googletest/googletest/src/gtest_main.cc +12 -3
- data/tests/googletest/googletest/test/BUILD.bazel +518 -0
- data/tests/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
- data/tests/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
- data/tests/googletest/googletest/test/googletest-catch-exceptions-test.py +231 -0
- data/tests/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
- data/tests/googletest/googletest/test/googletest-color-test.py +127 -0
- data/tests/googletest/googletest/test/googletest-color-test_.cc +62 -0
- data/tests/googletest/googletest/test/googletest-death-test-test.cc +1458 -0
- data/tests/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
- data/tests/googletest/googletest/test/googletest-env-var-test.py +117 -0
- data/tests/googletest/googletest/test/googletest-env-var-test_.cc +122 -0
- data/tests/googletest/googletest/test/googletest-filepath-test.cc +649 -0
- data/tests/googletest/googletest/test/googletest-filter-unittest.py +639 -0
- data/tests/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
- data/tests/googletest/googletest/test/googletest-json-outfiles-test.py +185 -0
- data/tests/googletest/googletest/test/googletest-json-output-unittest.py +758 -0
- data/tests/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
- data/tests/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
- data/tests/googletest/googletest/test/googletest-listener-test.cc +407 -0
- data/tests/googletest/googletest/test/googletest-message-test.cc +158 -0
- data/tests/googletest/googletest/test/googletest-options-test.cc +216 -0
- data/tests/googletest/googletest/test/googletest-output-test-golden-lin.txt +1128 -0
- data/tests/googletest/googletest/test/googletest-output-test.py +346 -0
- data/tests/googletest/googletest/test/googletest-output-test_.cc +1145 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
- data/tests/googletest/googletest/test/googletest-param-test-test.cc +1055 -0
- data/tests/googletest/googletest/test/googletest-param-test-test.h +51 -0
- data/tests/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
- data/tests/googletest/googletest/test/googletest-port-test.cc +1290 -0
- data/tests/googletest/googletest/test/googletest-printers-test.cc +1561 -0
- data/tests/googletest/googletest/test/googletest-shuffle-test.py +323 -0
- data/tests/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
- data/tests/googletest/googletest/test/googletest-test-part-test.cc +230 -0
- data/tests/googletest/googletest/test/googletest-test2_test.cc +61 -0
- data/tests/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
- data/tests/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
- data/tests/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
- data/tests/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
- data/tests/googletest/googletest/test/gtest-typed-test2_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest-typed-test_test.cc +144 -63
- data/tests/googletest/googletest/test/gtest-typed-test_test.h +4 -5
- data/tests/googletest/googletest/test/gtest-unittest-api_test.cc +122 -123
- data/tests/googletest/googletest/test/gtest_all_test.cc +10 -11
- data/tests/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
- data/tests/googletest/googletest/test/gtest_environment_test.cc +3 -7
- data/tests/googletest/googletest/test/gtest_help_test.py +1 -3
- data/tests/googletest/googletest/test/gtest_help_test_.cc +1 -2
- data/tests/googletest/googletest/test/gtest_json_test_utils.py +60 -0
- data/tests/googletest/googletest/test/gtest_list_output_unittest.py +141 -0
- data/tests/googletest/googletest/test/gtest_list_output_unittest_.cc +51 -0
- data/tests/googletest/googletest/test/gtest_main_unittest.cc +3 -4
- data/tests/googletest/googletest/test/gtest_no_test_unittest.cc +0 -2
- data/tests/googletest/googletest/test/gtest_pred_impl_unittest.cc +11 -11
- data/tests/googletest/googletest/test/gtest_premature_exit_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest_prod_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest_repeat_test.cc +8 -28
- data/tests/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
- data/tests/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
- data/tests/googletest/googletest/test/gtest_skip_test.cc +55 -0
- data/tests/googletest/googletest/test/gtest_sole_header_test.cc +1 -2
- data/tests/googletest/googletest/test/gtest_stress_test.cc +3 -11
- data/tests/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
- data/tests/googletest/googletest/test/gtest_test_utils.py +15 -22
- data/tests/googletest/googletest/test/gtest_testbridge_test.py +63 -0
- data/tests/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
- data/tests/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +2 -4
- data/tests/googletest/googletest/test/gtest_unittest.cc +770 -924
- data/tests/googletest/googletest/test/gtest_xml_outfile1_test_.cc +2 -8
- data/tests/googletest/googletest/test/gtest_xml_outfile2_test_.cc +2 -8
- data/tests/googletest/googletest/test/gtest_xml_outfiles_test.py +14 -11
- data/tests/googletest/googletest/test/gtest_xml_output_unittest.py +132 -51
- data/tests/googletest/googletest/test/gtest_xml_output_unittest_.cc +21 -14
- data/tests/googletest/googletest/test/gtest_xml_test_utils.py +24 -22
- data/tests/googletest/googletest/test/production.cc +2 -3
- data/tests/googletest/googletest/test/production.h +2 -3
- data/tests/googletest/googletest/xcode/Config/DebugProject.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/General.xcconfig +3 -3
- data/tests/googletest/googletest/xcode/Config/ReleaseProject.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Scripts/versiongenerate.py +4 -4
- data/tests/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj +51 -16
- data/tests/googletest/library.json +59 -0
- data/tests/googletest/platformio.ini +31 -0
- metadata +1391 -137
- data/ext/enterprise_script_service/libseccomp/README +0 -65
- data/ext/enterprise_script_service/libseccomp/SUBMITTING_PATCHES +0 -123
- data/ext/enterprise_script_service/mruby/MITL +0 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +0 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/gc_filedes.sh +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/init_mrbtest.c +0 -38
- data/ext/enterprise_script_service/mruby/mrblib/float.rb +0 -9
- data/ext/enterprise_script_service/mruby/src/ext/.gitkeep +0 -0
- data/ext/enterprise_script_service/mruby/test/report.rb +0 -4
- data/spec/dummy/app/models/fields/options/boolean_field.rb +0 -6
- data/spec/dummy/app/models/fields/options/multiple_nested_form_field.rb +0 -6
- data/spec/dummy/app/models/fields/options/nested_form_field.rb +0 -6
- data/tests/googletest/googlemock/CHANGES +0 -126
- data/tests/googletest/googlemock/docs/DevGuide.md +0 -132
- data/tests/googletest/googlemock/docs/v1_5/CheatSheet.md +0 -525
- data/tests/googletest/googlemock/docs/v1_5/CookBook.md +0 -3250
- data/tests/googletest/googlemock/docs/v1_5/Documentation.md +0 -11
- data/tests/googletest/googlemock/docs/v1_5/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +0 -624
- data/tests/googletest/googlemock/docs/v1_6/CheatSheet.md +0 -534
- data/tests/googletest/googlemock/docs/v1_6/CookBook.md +0 -3342
- data/tests/googletest/googlemock/docs/v1_6/Documentation.md +0 -12
- data/tests/googletest/googlemock/docs/v1_6/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +0 -628
- data/tests/googletest/googlemock/docs/v1_7/CheatSheet.md +0 -556
- data/tests/googletest/googlemock/docs/v1_7/CookBook.md +0 -3432
- data/tests/googletest/googlemock/docs/v1_7/Documentation.md +0 -12
- data/tests/googletest/googlemock/docs/v1_7/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +0 -628
- data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h +0 -397
- data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +0 -161
- data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +0 -279
- data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
- data/tests/googletest/googlemock/test/gmock-generated-internal-utils_test.cc +0 -127
- data/tests/googletest/googletest/.gitignore +0 -2
- data/tests/googletest/googletest/CHANGES +0 -157
- data/tests/googletest/googletest/build-aux/.keep +0 -0
- data/tests/googletest/googletest/docs/AdvancedGuide.md +0 -2182
- data/tests/googletest/googletest/docs/DevGuide.md +0 -126
- data/tests/googletest/googletest/docs/Documentation.md +0 -14
- data/tests/googletest/googletest/docs/FAQ.md +0 -1087
- data/tests/googletest/googletest/docs/Primer.md +0 -502
- data/tests/googletest/googletest/docs/Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_5_AdvancedGuide.md +0 -2096
- data/tests/googletest/googletest/docs/V1_5_Documentation.md +0 -12
- data/tests/googletest/googletest/docs/V1_5_FAQ.md +0 -886
- data/tests/googletest/googletest/docs/V1_5_Primer.md +0 -497
- data/tests/googletest/googletest/docs/V1_5_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_5_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/docs/V1_6_AdvancedGuide.md +0 -2178
- data/tests/googletest/googletest/docs/V1_6_Documentation.md +0 -14
- data/tests/googletest/googletest/docs/V1_6_FAQ.md +0 -1038
- data/tests/googletest/googletest/docs/V1_6_Primer.md +0 -501
- data/tests/googletest/googletest/docs/V1_6_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_6_Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_6_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/docs/V1_7_AdvancedGuide.md +0 -2181
- data/tests/googletest/googletest/docs/V1_7_Documentation.md +0 -14
- data/tests/googletest/googletest/docs/V1_7_FAQ.md +0 -1082
- data/tests/googletest/googletest/docs/V1_7_Primer.md +0 -501
- data/tests/googletest/googletest/docs/V1_7_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_7_Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_7_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/include/gtest/gtest-param-test.h.pump +0 -510
- data/tests/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
- data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
- data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
- data/tests/googletest/googletest/msvc/gtest-md.sln +0 -45
- data/tests/googletest/googletest/msvc/gtest-md.vcproj +0 -126
- data/tests/googletest/googletest/msvc/gtest.sln +0 -45
- data/tests/googletest/googletest/msvc/gtest.vcproj +0 -126
- data/tests/googletest/googletest/msvc/gtest_main-md.vcproj +0 -129
- data/tests/googletest/googletest/msvc/gtest_main.vcproj +0 -129
- data/tests/googletest/googletest/msvc/gtest_prod_test-md.vcproj +0 -164
- data/tests/googletest/googletest/msvc/gtest_prod_test.vcproj +0 -164
- data/tests/googletest/googletest/msvc/gtest_unittest-md.vcproj +0 -147
- data/tests/googletest/googletest/msvc/gtest_unittest.vcproj +0 -147
- data/tests/googletest/googletest/test/gtest-death-test_ex_test.cc +0 -93
- data/tests/googletest/googletest/test/gtest-death-test_test.cc +0 -1427
- data/tests/googletest/googletest/test/gtest-filepath_test.cc +0 -662
- data/tests/googletest/googletest/test/gtest-linked_ptr_test.cc +0 -154
- data/tests/googletest/googletest/test/gtest-listener_test.cc +0 -311
- data/tests/googletest/googletest/test/gtest-message_test.cc +0 -159
- data/tests/googletest/googletest/test/gtest-options_test.cc +0 -215
- data/tests/googletest/googletest/test/gtest-param-test2_test.cc +0 -65
- data/tests/googletest/googletest/test/gtest-param-test_test.cc +0 -1055
- data/tests/googletest/googletest/test/gtest-param-test_test.h +0 -57
- data/tests/googletest/googletest/test/gtest-port_test.cc +0 -1304
- data/tests/googletest/googletest/test/gtest-printers_test.cc +0 -1635
- data/tests/googletest/googletest/test/gtest-test-part_test.cc +0 -208
- data/tests/googletest/googletest/test/gtest-tuple_test.cc +0 -320
- data/tests/googletest/googletest/test/gtest_break_on_failure_unittest.py +0 -212
- data/tests/googletest/googletest/test/gtest_break_on_failure_unittest_.cc +0 -88
- data/tests/googletest/googletest/test/gtest_catch_exceptions_test.py +0 -237
- data/tests/googletest/googletest/test/gtest_catch_exceptions_test_.cc +0 -311
- data/tests/googletest/googletest/test/gtest_color_test.py +0 -130
- data/tests/googletest/googletest/test/gtest_color_test_.cc +0 -71
- data/tests/googletest/googletest/test/gtest_env_var_test.py +0 -117
- data/tests/googletest/googletest/test/gtest_env_var_test_.cc +0 -126
- data/tests/googletest/googletest/test/gtest_filter_unittest.py +0 -636
- data/tests/googletest/googletest/test/gtest_filter_unittest_.cc +0 -140
- data/tests/googletest/googletest/test/gtest_list_tests_unittest.py +0 -207
- data/tests/googletest/googletest/test/gtest_list_tests_unittest_.cc +0 -157
- data/tests/googletest/googletest/test/gtest_output_test.py +0 -340
- data/tests/googletest/googletest/test/gtest_output_test_.cc +0 -1062
- data/tests/googletest/googletest/test/gtest_output_test_golden_lin.txt +0 -743
- data/tests/googletest/googletest/test/gtest_shuffle_test.py +0 -325
- data/tests/googletest/googletest/test/gtest_shuffle_test_.cc +0 -103
- data/tests/googletest/googletest/test/gtest_throw_on_failure_test.py +0 -171
- data/tests/googletest/googletest/test/gtest_throw_on_failure_test_.cc +0 -72
- data/tests/googletest/googletest/test/gtest_uninitialized_test.py +0 -70
- data/tests/googletest/googletest/test/gtest_uninitialized_test_.cc +0 -43
- data/tests/googletest/travis.sh +0 -15
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
29
|
-
|
|
30
|
-
// Author: wan@google.com (Zhanyong Wan)
|
|
29
|
+
|
|
31
30
|
|
|
32
31
|
// Google Mock - a framework for writing C++ mock classes.
|
|
33
32
|
//
|
|
@@ -49,7 +48,7 @@
|
|
|
49
48
|
// implementation. It must come before gtest-internal-inl.h is
|
|
50
49
|
// included, or there will be a compiler error. This trick is to
|
|
51
50
|
// prevent a user from accidentally including gtest-internal-inl.h in
|
|
52
|
-
//
|
|
51
|
+
// their code.
|
|
53
52
|
#define GTEST_IMPLEMENTATION_ 1
|
|
54
53
|
#include "src/gtest-internal-inl.h"
|
|
55
54
|
#undef GTEST_IMPLEMENTATION_
|
|
@@ -58,8 +57,6 @@
|
|
|
58
57
|
# include <sys/types.h> // For ssize_t. NOLINT
|
|
59
58
|
#endif
|
|
60
59
|
|
|
61
|
-
class ProtocolMessage;
|
|
62
|
-
|
|
63
60
|
namespace proto2 {
|
|
64
61
|
class Message;
|
|
65
62
|
} // namespace proto2
|
|
@@ -69,6 +66,26 @@ namespace internal {
|
|
|
69
66
|
|
|
70
67
|
namespace {
|
|
71
68
|
|
|
69
|
+
TEST(JoinAsTupleTest, JoinsEmptyTuple) {
|
|
70
|
+
EXPECT_EQ("", JoinAsTuple(Strings()));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
TEST(JoinAsTupleTest, JoinsOneTuple) {
|
|
74
|
+
const char* fields[] = {"1"};
|
|
75
|
+
EXPECT_EQ("1", JoinAsTuple(Strings(fields, fields + 1)));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
TEST(JoinAsTupleTest, JoinsTwoTuple) {
|
|
79
|
+
const char* fields[] = {"1", "a"};
|
|
80
|
+
EXPECT_EQ("(1, a)", JoinAsTuple(Strings(fields, fields + 2)));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
TEST(JoinAsTupleTest, JoinsTenTuple) {
|
|
84
|
+
const char* fields[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
|
|
85
|
+
EXPECT_EQ("(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)",
|
|
86
|
+
JoinAsTuple(Strings(fields, fields + 10)));
|
|
87
|
+
}
|
|
88
|
+
|
|
72
89
|
TEST(ConvertIdentifierNameToWordsTest, WorksWhenNameContainsNoWord) {
|
|
73
90
|
EXPECT_EQ("", ConvertIdentifierNameToWords(""));
|
|
74
91
|
EXPECT_EQ("", ConvertIdentifierNameToWords("_"));
|
|
@@ -104,15 +121,9 @@ TEST(ConvertIdentifierNameToWordsTest, WorksWhenNameIsMixture) {
|
|
|
104
121
|
}
|
|
105
122
|
|
|
106
123
|
TEST(PointeeOfTest, WorksForSmartPointers) {
|
|
107
|
-
CompileAssertTypesEqual<const char,
|
|
108
|
-
PointeeOf<internal::linked_ptr<const char> >::type>();
|
|
109
|
-
#if GTEST_HAS_STD_UNIQUE_PTR_
|
|
110
124
|
CompileAssertTypesEqual<int, PointeeOf<std::unique_ptr<int> >::type>();
|
|
111
|
-
#endif // GTEST_HAS_STD_UNIQUE_PTR_
|
|
112
|
-
#if GTEST_HAS_STD_SHARED_PTR_
|
|
113
125
|
CompileAssertTypesEqual<std::string,
|
|
114
126
|
PointeeOf<std::shared_ptr<std::string> >::type>();
|
|
115
|
-
#endif // GTEST_HAS_STD_SHARED_PTR_
|
|
116
127
|
}
|
|
117
128
|
|
|
118
129
|
TEST(PointeeOfTest, WorksForRawPointers) {
|
|
@@ -122,26 +133,17 @@ TEST(PointeeOfTest, WorksForRawPointers) {
|
|
|
122
133
|
}
|
|
123
134
|
|
|
124
135
|
TEST(GetRawPointerTest, WorksForSmartPointers) {
|
|
125
|
-
#if GTEST_HAS_STD_UNIQUE_PTR_
|
|
126
136
|
const char* const raw_p1 = new const char('a'); // NOLINT
|
|
127
137
|
const std::unique_ptr<const char> p1(raw_p1);
|
|
128
138
|
EXPECT_EQ(raw_p1, GetRawPointer(p1));
|
|
129
|
-
#endif // GTEST_HAS_STD_UNIQUE_PTR_
|
|
130
|
-
#if GTEST_HAS_STD_SHARED_PTR_
|
|
131
139
|
double* const raw_p2 = new double(2.5); // NOLINT
|
|
132
140
|
const std::shared_ptr<double> p2(raw_p2);
|
|
133
141
|
EXPECT_EQ(raw_p2, GetRawPointer(p2));
|
|
134
|
-
#endif // GTEST_HAS_STD_SHARED_PTR_
|
|
135
|
-
|
|
136
|
-
const char* const raw_p4 = new const char('a'); // NOLINT
|
|
137
|
-
const internal::linked_ptr<const char> p4(raw_p4);
|
|
138
|
-
EXPECT_EQ(raw_p4, GetRawPointer(p4));
|
|
139
142
|
}
|
|
140
143
|
|
|
141
144
|
TEST(GetRawPointerTest, WorksForRawPointers) {
|
|
142
|
-
int* p =
|
|
143
|
-
|
|
144
|
-
EXPECT_TRUE(NULL == GetRawPointer(p));
|
|
145
|
+
int* p = nullptr;
|
|
146
|
+
EXPECT_TRUE(nullptr == GetRawPointer(p));
|
|
145
147
|
int n = 1;
|
|
146
148
|
EXPECT_EQ(&n, GetRawPointer(&n));
|
|
147
149
|
}
|
|
@@ -289,26 +291,23 @@ TEST(LosslessArithmeticConvertibleTest, FloatingPointToFloatingPoint) {
|
|
|
289
291
|
// Tests the TupleMatches() template function.
|
|
290
292
|
|
|
291
293
|
TEST(TupleMatchesTest, WorksForSize0) {
|
|
292
|
-
tuple<> matchers;
|
|
293
|
-
tuple<> values;
|
|
294
|
+
std::tuple<> matchers;
|
|
295
|
+
std::tuple<> values;
|
|
294
296
|
|
|
295
297
|
EXPECT_TRUE(TupleMatches(matchers, values));
|
|
296
298
|
}
|
|
297
299
|
|
|
298
300
|
TEST(TupleMatchesTest, WorksForSize1) {
|
|
299
|
-
tuple<Matcher<int> > matchers(Eq(1));
|
|
300
|
-
tuple<int> values1(1),
|
|
301
|
-
values2(2);
|
|
301
|
+
std::tuple<Matcher<int> > matchers(Eq(1));
|
|
302
|
+
std::tuple<int> values1(1), values2(2);
|
|
302
303
|
|
|
303
304
|
EXPECT_TRUE(TupleMatches(matchers, values1));
|
|
304
305
|
EXPECT_FALSE(TupleMatches(matchers, values2));
|
|
305
306
|
}
|
|
306
307
|
|
|
307
308
|
TEST(TupleMatchesTest, WorksForSize2) {
|
|
308
|
-
tuple<Matcher<int>, Matcher<char> > matchers(Eq(1), Eq('a'));
|
|
309
|
-
tuple<int, char> values1(1, 'a'),
|
|
310
|
-
values2(1, 'b'),
|
|
311
|
-
values3(2, 'a'),
|
|
309
|
+
std::tuple<Matcher<int>, Matcher<char> > matchers(Eq(1), Eq('a'));
|
|
310
|
+
std::tuple<int, char> values1(1, 'a'), values2(1, 'b'), values3(2, 'a'),
|
|
312
311
|
values4(2, 'b');
|
|
313
312
|
|
|
314
313
|
EXPECT_TRUE(TupleMatches(matchers, values1));
|
|
@@ -318,12 +317,12 @@ TEST(TupleMatchesTest, WorksForSize2) {
|
|
|
318
317
|
}
|
|
319
318
|
|
|
320
319
|
TEST(TupleMatchesTest, WorksForSize5) {
|
|
321
|
-
tuple<Matcher<int>, Matcher<char>, Matcher<bool>,
|
|
322
|
-
|
|
320
|
+
std::tuple<Matcher<int>, Matcher<char>, Matcher<bool>,
|
|
321
|
+
Matcher<long>, // NOLINT
|
|
322
|
+
Matcher<std::string> >
|
|
323
323
|
matchers(Eq(1), Eq('a'), Eq(true), Eq(2L), Eq("hi"));
|
|
324
|
-
tuple<int, char, bool, long, string> // NOLINT
|
|
325
|
-
values1(1, 'a', true, 2L, "hi"),
|
|
326
|
-
values2(1, 'a', true, 2L, "hello"),
|
|
324
|
+
std::tuple<int, char, bool, long, std::string> // NOLINT
|
|
325
|
+
values1(1, 'a', true, 2L, "hi"), values2(1, 'a', true, 2L, "hello"),
|
|
327
326
|
values3(2, 'a', true, 2L, "hi");
|
|
328
327
|
|
|
329
328
|
EXPECT_TRUE(TupleMatches(matchers, values1));
|
|
@@ -369,13 +368,11 @@ TEST(ExpectTest, FailsNonfatallyOnFalse) {
|
|
|
369
368
|
|
|
370
369
|
class LogIsVisibleTest : public ::testing::Test {
|
|
371
370
|
protected:
|
|
372
|
-
|
|
373
|
-
original_verbose_ = GMOCK_FLAG(verbose);
|
|
374
|
-
}
|
|
371
|
+
void SetUp() override { original_verbose_ = GMOCK_FLAG(verbose); }
|
|
375
372
|
|
|
376
|
-
|
|
373
|
+
void TearDown() override { GMOCK_FLAG(verbose) = original_verbose_; }
|
|
377
374
|
|
|
378
|
-
string original_verbose_;
|
|
375
|
+
std::string original_verbose_;
|
|
379
376
|
};
|
|
380
377
|
|
|
381
378
|
TEST_F(LogIsVisibleTest, AlwaysReturnsTrueIfVerbosityIsInfo) {
|
|
@@ -402,9 +399,9 @@ TEST_F(LogIsVisibleTest, WorksWhenVerbosityIsWarning) {
|
|
|
402
399
|
|
|
403
400
|
// Verifies that Log() behaves correctly for the given verbosity level
|
|
404
401
|
// and log severity.
|
|
405
|
-
void TestLogWithSeverity(const string& verbosity, LogSeverity severity,
|
|
402
|
+
void TestLogWithSeverity(const std::string& verbosity, LogSeverity severity,
|
|
406
403
|
bool should_print) {
|
|
407
|
-
const string old_flag = GMOCK_FLAG(verbose);
|
|
404
|
+
const std::string old_flag = GMOCK_FLAG(verbose);
|
|
408
405
|
GMOCK_FLAG(verbose) = verbosity;
|
|
409
406
|
CaptureStdout();
|
|
410
407
|
Log(severity, "Test log.\n", 0);
|
|
@@ -423,7 +420,7 @@ void TestLogWithSeverity(const string& verbosity, LogSeverity severity,
|
|
|
423
420
|
// Tests that when the stack_frames_to_skip parameter is negative,
|
|
424
421
|
// Log() doesn't include the stack trace in the output.
|
|
425
422
|
TEST(LogTest, NoStackTraceWhenStackFramesToSkipIsNegative) {
|
|
426
|
-
const string saved_flag = GMOCK_FLAG(verbose);
|
|
423
|
+
const std::string saved_flag = GMOCK_FLAG(verbose);
|
|
427
424
|
GMOCK_FLAG(verbose) = kInfoVerbosity;
|
|
428
425
|
CaptureStdout();
|
|
429
426
|
Log(kInfo, "Test log.\n", -1);
|
|
@@ -432,11 +429,11 @@ TEST(LogTest, NoStackTraceWhenStackFramesToSkipIsNegative) {
|
|
|
432
429
|
}
|
|
433
430
|
|
|
434
431
|
struct MockStackTraceGetter : testing::internal::OsStackTraceGetterInterface {
|
|
435
|
-
|
|
432
|
+
std::string CurrentStackTrace(int max_depth, int skip_count) override {
|
|
436
433
|
return (testing::Message() << max_depth << "::" << skip_count << "\n")
|
|
437
434
|
.GetString();
|
|
438
435
|
}
|
|
439
|
-
|
|
436
|
+
void UponLeavingGTest() override {}
|
|
440
437
|
};
|
|
441
438
|
|
|
442
439
|
// Tests that in opt mode, a positive stack_frames_to_skip argument is
|
|
@@ -447,11 +444,11 @@ TEST(LogTest, NoSkippingStackFrameInOptMode) {
|
|
|
447
444
|
|
|
448
445
|
CaptureStdout();
|
|
449
446
|
Log(kWarning, "Test log.\n", 100);
|
|
450
|
-
const string log = GetCapturedStdout();
|
|
447
|
+
const std::string log = GetCapturedStdout();
|
|
451
448
|
|
|
452
|
-
string expected_trace =
|
|
449
|
+
std::string expected_trace =
|
|
453
450
|
(testing::Message() << GTEST_FLAG(stack_trace_depth) << "::").GetString();
|
|
454
|
-
string expected_message =
|
|
451
|
+
std::string expected_message =
|
|
455
452
|
"\nGMOCK WARNING:\n"
|
|
456
453
|
"Test log.\n"
|
|
457
454
|
"Stack trace:\n" +
|
|
@@ -474,7 +471,7 @@ TEST(LogTest, NoSkippingStackFrameInOptMode) {
|
|
|
474
471
|
AllOf(Ge(expected_skip_count), Le(expected_skip_count + 10)));
|
|
475
472
|
|
|
476
473
|
// Restores the default OS stack trace getter.
|
|
477
|
-
GetUnitTestImpl()->set_os_stack_trace_getter(
|
|
474
|
+
GetUnitTestImpl()->set_os_stack_trace_getter(nullptr);
|
|
478
475
|
}
|
|
479
476
|
|
|
480
477
|
// Tests that all logs are printed when the value of the
|
|
@@ -521,12 +518,6 @@ TEST(TypeTraitsTest, is_reference) {
|
|
|
521
518
|
EXPECT_TRUE(is_reference<const int&>::value);
|
|
522
519
|
}
|
|
523
520
|
|
|
524
|
-
TEST(TypeTraitsTest, is_pointer) {
|
|
525
|
-
EXPECT_FALSE(is_pointer<int>::value);
|
|
526
|
-
EXPECT_FALSE(is_pointer<char&>::value);
|
|
527
|
-
EXPECT_TRUE(is_pointer<const int*>::value);
|
|
528
|
-
}
|
|
529
|
-
|
|
530
521
|
TEST(TypeTraitsTest, type_equals) {
|
|
531
522
|
EXPECT_FALSE((type_equals<int, const int>::value));
|
|
532
523
|
EXPECT_FALSE((type_equals<int, int&>::value));
|
|
@@ -547,7 +538,7 @@ TEST(TypeTraitsTest, remove_reference) {
|
|
|
547
538
|
// Verifies that Log() behaves correctly for the given verbosity level
|
|
548
539
|
// and log severity.
|
|
549
540
|
std::string GrabOutput(void(*logger)(), const char* verbosity) {
|
|
550
|
-
const string saved_flag = GMOCK_FLAG(verbose);
|
|
541
|
+
const std::string saved_flag = GMOCK_FLAG(verbose);
|
|
551
542
|
GMOCK_FLAG(verbose) = verbosity;
|
|
552
543
|
CaptureStdout();
|
|
553
544
|
logger();
|
|
@@ -565,7 +556,7 @@ void ExpectCallLogger() {
|
|
|
565
556
|
DummyMock mock;
|
|
566
557
|
EXPECT_CALL(mock, TestMethod());
|
|
567
558
|
mock.TestMethod();
|
|
568
|
-
}
|
|
559
|
+
}
|
|
569
560
|
|
|
570
561
|
// Verifies that EXPECT_CALL logs if the --gmock_verbose flag is set to "info".
|
|
571
562
|
TEST(ExpectCallTest, LogsWhenVerbosityIsInfo) {
|
|
@@ -588,7 +579,7 @@ TEST(ExpectCallTest, DoesNotLogWhenVerbosityIsError) {
|
|
|
588
579
|
void OnCallLogger() {
|
|
589
580
|
DummyMock mock;
|
|
590
581
|
ON_CALL(mock, TestMethod());
|
|
591
|
-
}
|
|
582
|
+
}
|
|
592
583
|
|
|
593
584
|
// Verifies that ON_CALL logs if the --gmock_verbose flag is set to "info".
|
|
594
585
|
TEST(OnCallTest, LogsWhenVerbosityIsInfo) {
|
|
@@ -668,22 +659,25 @@ TEST(StlContainerViewTest, WorksForStaticNativeArray) {
|
|
|
668
659
|
|
|
669
660
|
TEST(StlContainerViewTest, WorksForDynamicNativeArray) {
|
|
670
661
|
StaticAssertTypeEq<NativeArray<int>,
|
|
671
|
-
|
|
672
|
-
StaticAssertTypeEq<
|
|
673
|
-
|
|
662
|
+
StlContainerView<std::tuple<const int*, size_t> >::type>();
|
|
663
|
+
StaticAssertTypeEq<
|
|
664
|
+
NativeArray<double>,
|
|
665
|
+
StlContainerView<std::tuple<std::shared_ptr<double>, int> >::type>();
|
|
674
666
|
|
|
675
|
-
StaticAssertTypeEq<
|
|
676
|
-
|
|
667
|
+
StaticAssertTypeEq<
|
|
668
|
+
const NativeArray<int>,
|
|
669
|
+
StlContainerView<std::tuple<const int*, int> >::const_reference>();
|
|
677
670
|
|
|
678
671
|
int a1[3] = { 0, 1, 2 };
|
|
679
672
|
const int* const p1 = a1;
|
|
680
|
-
NativeArray<int> a2 =
|
|
681
|
-
ConstReference(
|
|
673
|
+
NativeArray<int> a2 =
|
|
674
|
+
StlContainerView<std::tuple<const int*, int> >::ConstReference(
|
|
675
|
+
std::make_tuple(p1, 3));
|
|
682
676
|
EXPECT_EQ(3U, a2.size());
|
|
683
677
|
EXPECT_EQ(a1, a2.begin());
|
|
684
678
|
|
|
685
|
-
const NativeArray<int> a3 = StlContainerView<tuple<int*, size_t> >::
|
|
686
|
-
|
|
679
|
+
const NativeArray<int> a3 = StlContainerView<std::tuple<int*, size_t> >::Copy(
|
|
680
|
+
std::make_tuple(static_cast<int*>(a1), 3));
|
|
687
681
|
ASSERT_EQ(3U, a3.size());
|
|
688
682
|
EXPECT_EQ(0, a3.begin()[0]);
|
|
689
683
|
EXPECT_EQ(1, a3.begin()[1]);
|
|
@@ -694,6 +688,70 @@ TEST(StlContainerViewTest, WorksForDynamicNativeArray) {
|
|
|
694
688
|
EXPECT_EQ(0, a3.begin()[0]);
|
|
695
689
|
}
|
|
696
690
|
|
|
691
|
+
// Tests the Function template struct.
|
|
692
|
+
|
|
693
|
+
TEST(FunctionTest, Nullary) {
|
|
694
|
+
typedef Function<int()> F; // NOLINT
|
|
695
|
+
EXPECT_EQ(0u, F::ArgumentCount);
|
|
696
|
+
CompileAssertTypesEqual<int, F::Result>();
|
|
697
|
+
CompileAssertTypesEqual<std::tuple<>, F::ArgumentTuple>();
|
|
698
|
+
CompileAssertTypesEqual<std::tuple<>, F::ArgumentMatcherTuple>();
|
|
699
|
+
CompileAssertTypesEqual<void(), F::MakeResultVoid>();
|
|
700
|
+
CompileAssertTypesEqual<IgnoredValue(), F::MakeResultIgnoredValue>();
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
TEST(FunctionTest, Unary) {
|
|
704
|
+
typedef Function<int(bool)> F; // NOLINT
|
|
705
|
+
EXPECT_EQ(1u, F::ArgumentCount);
|
|
706
|
+
CompileAssertTypesEqual<int, F::Result>();
|
|
707
|
+
CompileAssertTypesEqual<bool, F::Arg<0>::type>();
|
|
708
|
+
CompileAssertTypesEqual<std::tuple<bool>, F::ArgumentTuple>();
|
|
709
|
+
CompileAssertTypesEqual<std::tuple<Matcher<bool> >,
|
|
710
|
+
F::ArgumentMatcherTuple>();
|
|
711
|
+
CompileAssertTypesEqual<void(bool), F::MakeResultVoid>(); // NOLINT
|
|
712
|
+
CompileAssertTypesEqual<IgnoredValue(bool), // NOLINT
|
|
713
|
+
F::MakeResultIgnoredValue>();
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
TEST(FunctionTest, Binary) {
|
|
717
|
+
typedef Function<int(bool, const long&)> F; // NOLINT
|
|
718
|
+
EXPECT_EQ(2u, F::ArgumentCount);
|
|
719
|
+
CompileAssertTypesEqual<int, F::Result>();
|
|
720
|
+
CompileAssertTypesEqual<bool, F::Arg<0>::type>();
|
|
721
|
+
CompileAssertTypesEqual<const long&, F::Arg<1>::type>(); // NOLINT
|
|
722
|
+
CompileAssertTypesEqual<std::tuple<bool, const long&>, // NOLINT
|
|
723
|
+
F::ArgumentTuple>();
|
|
724
|
+
CompileAssertTypesEqual<
|
|
725
|
+
std::tuple<Matcher<bool>, Matcher<const long&> >, // NOLINT
|
|
726
|
+
F::ArgumentMatcherTuple>();
|
|
727
|
+
CompileAssertTypesEqual<void(bool, const long&), F::MakeResultVoid>(); // NOLINT
|
|
728
|
+
CompileAssertTypesEqual<IgnoredValue(bool, const long&), // NOLINT
|
|
729
|
+
F::MakeResultIgnoredValue>();
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
TEST(FunctionTest, LongArgumentList) {
|
|
733
|
+
typedef Function<char(bool, int, char*, int&, const long&)> F; // NOLINT
|
|
734
|
+
EXPECT_EQ(5u, F::ArgumentCount);
|
|
735
|
+
CompileAssertTypesEqual<char, F::Result>();
|
|
736
|
+
CompileAssertTypesEqual<bool, F::Arg<0>::type>();
|
|
737
|
+
CompileAssertTypesEqual<int, F::Arg<1>::type>();
|
|
738
|
+
CompileAssertTypesEqual<char*, F::Arg<2>::type>();
|
|
739
|
+
CompileAssertTypesEqual<int&, F::Arg<3>::type>();
|
|
740
|
+
CompileAssertTypesEqual<const long&, F::Arg<4>::type>(); // NOLINT
|
|
741
|
+
CompileAssertTypesEqual<
|
|
742
|
+
std::tuple<bool, int, char*, int&, const long&>, // NOLINT
|
|
743
|
+
F::ArgumentTuple>();
|
|
744
|
+
CompileAssertTypesEqual<
|
|
745
|
+
std::tuple<Matcher<bool>, Matcher<int>, Matcher<char*>, Matcher<int&>,
|
|
746
|
+
Matcher<const long&> >, // NOLINT
|
|
747
|
+
F::ArgumentMatcherTuple>();
|
|
748
|
+
CompileAssertTypesEqual<void(bool, int, char*, int&, const long&), // NOLINT
|
|
749
|
+
F::MakeResultVoid>();
|
|
750
|
+
CompileAssertTypesEqual<
|
|
751
|
+
IgnoredValue(bool, int, char*, int&, const long&), // NOLINT
|
|
752
|
+
F::MakeResultIgnoredValue>();
|
|
753
|
+
}
|
|
754
|
+
|
|
697
755
|
} // namespace
|
|
698
756
|
} // namespace internal
|
|
699
757
|
} // namespace testing
|
|
@@ -26,45 +26,47 @@
|
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
29
|
-
|
|
30
|
-
// Author: wan@google.com (Zhanyong Wan)
|
|
29
|
+
|
|
31
30
|
|
|
32
31
|
// Google Mock - a framework for writing C++ mock classes.
|
|
33
32
|
//
|
|
34
33
|
// This file tests some commonly used argument matchers.
|
|
35
34
|
|
|
35
|
+
// Silence warning C4244: 'initializing': conversion from 'int' to 'short',
|
|
36
|
+
// possible loss of data and C4100, unreferenced local parameter
|
|
37
|
+
#ifdef _MSC_VER
|
|
38
|
+
# pragma warning(push)
|
|
39
|
+
# pragma warning(disable:4244)
|
|
40
|
+
# pragma warning(disable:4100)
|
|
41
|
+
#endif
|
|
42
|
+
|
|
36
43
|
#include "gmock/gmock-matchers.h"
|
|
37
44
|
#include "gmock/gmock-more-matchers.h"
|
|
38
45
|
|
|
39
46
|
#include <string.h>
|
|
40
47
|
#include <time.h>
|
|
41
48
|
#include <deque>
|
|
49
|
+
#include <forward_list>
|
|
42
50
|
#include <functional>
|
|
43
51
|
#include <iostream>
|
|
44
52
|
#include <iterator>
|
|
45
53
|
#include <limits>
|
|
46
54
|
#include <list>
|
|
47
55
|
#include <map>
|
|
56
|
+
#include <memory>
|
|
48
57
|
#include <set>
|
|
49
58
|
#include <sstream>
|
|
50
59
|
#include <string>
|
|
60
|
+
#include <type_traits>
|
|
51
61
|
#include <utility>
|
|
52
62
|
#include <vector>
|
|
53
63
|
#include "gmock/gmock.h"
|
|
54
64
|
#include "gtest/gtest.h"
|
|
55
65
|
#include "gtest/gtest-spi.h"
|
|
56
66
|
|
|
57
|
-
#if GTEST_HAS_STD_FORWARD_LIST_
|
|
58
|
-
# include <forward_list> // NOLINT
|
|
59
|
-
#endif
|
|
60
|
-
|
|
61
67
|
namespace testing {
|
|
62
|
-
|
|
63
|
-
namespace internal {
|
|
64
|
-
GTEST_API_ string JoinAsTuple(const Strings& fields);
|
|
65
|
-
} // namespace internal
|
|
66
|
-
|
|
67
68
|
namespace gmock_matchers_test {
|
|
69
|
+
namespace {
|
|
68
70
|
|
|
69
71
|
using std::greater;
|
|
70
72
|
using std::less;
|
|
@@ -78,66 +80,6 @@ using std::pair;
|
|
|
78
80
|
using std::set;
|
|
79
81
|
using std::stringstream;
|
|
80
82
|
using std::vector;
|
|
81
|
-
using testing::A;
|
|
82
|
-
using testing::AllArgs;
|
|
83
|
-
using testing::AllOf;
|
|
84
|
-
using testing::An;
|
|
85
|
-
using testing::AnyOf;
|
|
86
|
-
using testing::ByRef;
|
|
87
|
-
using testing::ContainsRegex;
|
|
88
|
-
using testing::DoubleEq;
|
|
89
|
-
using testing::DoubleNear;
|
|
90
|
-
using testing::EndsWith;
|
|
91
|
-
using testing::Eq;
|
|
92
|
-
using testing::ExplainMatchResult;
|
|
93
|
-
using testing::Field;
|
|
94
|
-
using testing::FloatEq;
|
|
95
|
-
using testing::FloatNear;
|
|
96
|
-
using testing::Ge;
|
|
97
|
-
using testing::Gt;
|
|
98
|
-
using testing::HasSubstr;
|
|
99
|
-
using testing::IsEmpty;
|
|
100
|
-
using testing::IsNull;
|
|
101
|
-
using testing::Key;
|
|
102
|
-
using testing::Le;
|
|
103
|
-
using testing::Lt;
|
|
104
|
-
using testing::MakeMatcher;
|
|
105
|
-
using testing::MakePolymorphicMatcher;
|
|
106
|
-
using testing::MatchResultListener;
|
|
107
|
-
using testing::Matcher;
|
|
108
|
-
using testing::MatcherCast;
|
|
109
|
-
using testing::MatcherInterface;
|
|
110
|
-
using testing::Matches;
|
|
111
|
-
using testing::MatchesRegex;
|
|
112
|
-
using testing::NanSensitiveDoubleEq;
|
|
113
|
-
using testing::NanSensitiveDoubleNear;
|
|
114
|
-
using testing::NanSensitiveFloatEq;
|
|
115
|
-
using testing::NanSensitiveFloatNear;
|
|
116
|
-
using testing::Ne;
|
|
117
|
-
using testing::Not;
|
|
118
|
-
using testing::NotNull;
|
|
119
|
-
using testing::Pair;
|
|
120
|
-
using testing::Pointee;
|
|
121
|
-
using testing::Pointwise;
|
|
122
|
-
using testing::PolymorphicMatcher;
|
|
123
|
-
using testing::Property;
|
|
124
|
-
using testing::Ref;
|
|
125
|
-
using testing::ResultOf;
|
|
126
|
-
using testing::SizeIs;
|
|
127
|
-
using testing::StartsWith;
|
|
128
|
-
using testing::StrCaseEq;
|
|
129
|
-
using testing::StrCaseNe;
|
|
130
|
-
using testing::StrEq;
|
|
131
|
-
using testing::StrNe;
|
|
132
|
-
using testing::StringMatchResultListener;
|
|
133
|
-
using testing::Truly;
|
|
134
|
-
using testing::TypedEq;
|
|
135
|
-
using testing::UnorderedPointwise;
|
|
136
|
-
using testing::Value;
|
|
137
|
-
using testing::WhenSorted;
|
|
138
|
-
using testing::WhenSortedBy;
|
|
139
|
-
using testing::_;
|
|
140
|
-
using testing::get;
|
|
141
83
|
using testing::internal::DummyMatchResultListener;
|
|
142
84
|
using testing::internal::ElementMatcherPair;
|
|
143
85
|
using testing::internal::ElementMatcherPairs;
|
|
@@ -145,30 +87,33 @@ using testing::internal::ExplainMatchFailureTupleTo;
|
|
|
145
87
|
using testing::internal::FloatingEqMatcher;
|
|
146
88
|
using testing::internal::FormatMatcherDescription;
|
|
147
89
|
using testing::internal::IsReadableTypeName;
|
|
148
|
-
using testing::internal::JoinAsTuple;
|
|
149
|
-
using testing::internal::linked_ptr;
|
|
150
90
|
using testing::internal::MatchMatrix;
|
|
91
|
+
using testing::internal::PredicateFormatterFromMatcher;
|
|
151
92
|
using testing::internal::RE;
|
|
152
|
-
using testing::internal::scoped_ptr;
|
|
153
93
|
using testing::internal::StreamMatchResultListener;
|
|
154
94
|
using testing::internal::Strings;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
95
|
+
|
|
96
|
+
// Helper for testing container-valued matchers in mock method context. It is
|
|
97
|
+
// important to test matchers in this context, since it requires additional type
|
|
98
|
+
// deduction beyond what EXPECT_THAT does, thus making it more restrictive.
|
|
99
|
+
struct ContainerHelper {
|
|
100
|
+
MOCK_METHOD1(Call, void(std::vector<std::unique_ptr<int>>));
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
std::vector<std::unique_ptr<int>> MakeUniquePtrs(const std::vector<int>& ints) {
|
|
104
|
+
std::vector<std::unique_ptr<int>> pointers;
|
|
105
|
+
for (int i : ints) pointers.emplace_back(new int(i));
|
|
106
|
+
return pointers;
|
|
107
|
+
}
|
|
160
108
|
|
|
161
109
|
// For testing ExplainMatchResultTo().
|
|
162
110
|
class GreaterThanMatcher : public MatcherInterface<int> {
|
|
163
111
|
public:
|
|
164
112
|
explicit GreaterThanMatcher(int rhs) : rhs_(rhs) {}
|
|
165
113
|
|
|
166
|
-
|
|
167
|
-
*os << "is > " << rhs_;
|
|
168
|
-
}
|
|
114
|
+
void DescribeTo(ostream* os) const override { *os << "is > " << rhs_; }
|
|
169
115
|
|
|
170
|
-
|
|
171
|
-
MatchResultListener* listener) const {
|
|
116
|
+
bool MatchAndExplain(int lhs, MatchResultListener* listener) const override {
|
|
172
117
|
const int diff = lhs - rhs_;
|
|
173
118
|
if (diff > 0) {
|
|
174
119
|
*listener << "which is " << diff << " more than " << rhs_;
|
|
@@ -189,7 +134,7 @@ Matcher<int> GreaterThan(int n) {
|
|
|
189
134
|
return MakeMatcher(new GreaterThanMatcher(n));
|
|
190
135
|
}
|
|
191
136
|
|
|
192
|
-
string OfType(const string& type_name) {
|
|
137
|
+
std::string OfType(const std::string& type_name) {
|
|
193
138
|
#if GTEST_HAS_RTTI
|
|
194
139
|
return " (of type " + type_name + ")";
|
|
195
140
|
#else
|
|
@@ -199,28 +144,30 @@ string OfType(const string& type_name) {
|
|
|
199
144
|
|
|
200
145
|
// Returns the description of the given matcher.
|
|
201
146
|
template <typename T>
|
|
202
|
-
string Describe(const Matcher<T>& m) {
|
|
203
|
-
|
|
204
|
-
m.DescribeTo(&ss);
|
|
205
|
-
return ss.str();
|
|
147
|
+
std::string Describe(const Matcher<T>& m) {
|
|
148
|
+
return DescribeMatcher<T>(m);
|
|
206
149
|
}
|
|
207
150
|
|
|
208
151
|
// Returns the description of the negation of the given matcher.
|
|
209
152
|
template <typename T>
|
|
210
|
-
string DescribeNegation(const Matcher<T>& m) {
|
|
211
|
-
|
|
212
|
-
m.DescribeNegationTo(&ss);
|
|
213
|
-
return ss.str();
|
|
153
|
+
std::string DescribeNegation(const Matcher<T>& m) {
|
|
154
|
+
return DescribeMatcher<T>(m, true);
|
|
214
155
|
}
|
|
215
156
|
|
|
216
157
|
// Returns the reason why x matches, or doesn't match, m.
|
|
217
158
|
template <typename MatcherType, typename Value>
|
|
218
|
-
string Explain(const MatcherType& m, const Value& x) {
|
|
159
|
+
std::string Explain(const MatcherType& m, const Value& x) {
|
|
219
160
|
StringMatchResultListener listener;
|
|
220
161
|
ExplainMatchResult(m, x, &listener);
|
|
221
162
|
return listener.str();
|
|
222
163
|
}
|
|
223
164
|
|
|
165
|
+
TEST(MonotonicMatcherTest, IsPrintable) {
|
|
166
|
+
stringstream ss;
|
|
167
|
+
ss << GreaterThan(5);
|
|
168
|
+
EXPECT_EQ("is > 5", ss.str());
|
|
169
|
+
}
|
|
170
|
+
|
|
224
171
|
TEST(MatchResultListenerTest, StreamingWorks) {
|
|
225
172
|
StringMatchResultListener listener;
|
|
226
173
|
listener << "hi" << 5;
|
|
@@ -238,8 +185,8 @@ TEST(MatchResultListenerTest, StreamingWorks) {
|
|
|
238
185
|
}
|
|
239
186
|
|
|
240
187
|
TEST(MatchResultListenerTest, CanAccessUnderlyingStream) {
|
|
241
|
-
EXPECT_TRUE(DummyMatchResultListener().stream() ==
|
|
242
|
-
EXPECT_TRUE(StreamMatchResultListener(
|
|
188
|
+
EXPECT_TRUE(DummyMatchResultListener().stream() == nullptr);
|
|
189
|
+
EXPECT_TRUE(StreamMatchResultListener(nullptr).stream() == nullptr);
|
|
243
190
|
|
|
244
191
|
EXPECT_EQ(&std::cout, StreamMatchResultListener(&std::cout).stream());
|
|
245
192
|
}
|
|
@@ -249,21 +196,19 @@ TEST(MatchResultListenerTest, IsInterestedWorks) {
|
|
|
249
196
|
EXPECT_TRUE(StreamMatchResultListener(&std::cout).IsInterested());
|
|
250
197
|
|
|
251
198
|
EXPECT_FALSE(DummyMatchResultListener().IsInterested());
|
|
252
|
-
EXPECT_FALSE(StreamMatchResultListener(
|
|
199
|
+
EXPECT_FALSE(StreamMatchResultListener(nullptr).IsInterested());
|
|
253
200
|
}
|
|
254
201
|
|
|
255
202
|
// Makes sure that the MatcherInterface<T> interface doesn't
|
|
256
203
|
// change.
|
|
257
204
|
class EvenMatcherImpl : public MatcherInterface<int> {
|
|
258
205
|
public:
|
|
259
|
-
|
|
260
|
-
|
|
206
|
+
bool MatchAndExplain(int x,
|
|
207
|
+
MatchResultListener* /* listener */) const override {
|
|
261
208
|
return x % 2 == 0;
|
|
262
209
|
}
|
|
263
210
|
|
|
264
|
-
|
|
265
|
-
*os << "is an even number";
|
|
266
|
-
}
|
|
211
|
+
void DescribeTo(ostream* os) const override { *os << "is an even number"; }
|
|
267
212
|
|
|
268
213
|
// We deliberately don't define DescribeNegationTo() and
|
|
269
214
|
// ExplainMatchResultTo() here, to make sure the definition of these
|
|
@@ -279,11 +224,11 @@ TEST(MatcherInterfaceTest, CanBeImplementedUsingPublishedAPI) {
|
|
|
279
224
|
|
|
280
225
|
class NewEvenMatcherImpl : public MatcherInterface<int> {
|
|
281
226
|
public:
|
|
282
|
-
|
|
227
|
+
bool MatchAndExplain(int x, MatchResultListener* listener) const override {
|
|
283
228
|
const bool match = x % 2 == 0;
|
|
284
229
|
// Verifies that we can stream to a listener directly.
|
|
285
230
|
*listener << "value % " << 2;
|
|
286
|
-
if (listener->stream() !=
|
|
231
|
+
if (listener->stream() != nullptr) {
|
|
287
232
|
// Verifies that we can stream to a listener's underlying stream
|
|
288
233
|
// too.
|
|
289
234
|
*listener->stream() << " == " << (x % 2);
|
|
@@ -291,9 +236,7 @@ class NewEvenMatcherImpl : public MatcherInterface<int> {
|
|
|
291
236
|
return match;
|
|
292
237
|
}
|
|
293
238
|
|
|
294
|
-
|
|
295
|
-
*os << "is an even number";
|
|
296
|
-
}
|
|
239
|
+
void DescribeTo(ostream* os) const override { *os << "is an even number"; }
|
|
297
240
|
};
|
|
298
241
|
|
|
299
242
|
TEST(MatcherInterfaceTest, CanBeImplementedUsingNewAPI) {
|
|
@@ -326,12 +269,28 @@ TEST(MatcherTest, CanBeImplicitlyConstructedFromValue) {
|
|
|
326
269
|
|
|
327
270
|
// Tests that NULL can be used in place of Eq(NULL).
|
|
328
271
|
TEST(MatcherTest, CanBeImplicitlyConstructedFromNULL) {
|
|
329
|
-
Matcher<int*> m1 =
|
|
330
|
-
EXPECT_TRUE(m1.Matches(
|
|
272
|
+
Matcher<int*> m1 = nullptr;
|
|
273
|
+
EXPECT_TRUE(m1.Matches(nullptr));
|
|
331
274
|
int n = 0;
|
|
332
275
|
EXPECT_FALSE(m1.Matches(&n));
|
|
333
276
|
}
|
|
334
277
|
|
|
278
|
+
// Tests that matchers can be constructed from a variable that is not properly
|
|
279
|
+
// defined. This should be illegal, but many users rely on this accidentally.
|
|
280
|
+
struct Undefined {
|
|
281
|
+
virtual ~Undefined() = 0;
|
|
282
|
+
static const int kInt = 1;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
TEST(MatcherTest, CanBeConstructedFromUndefinedVariable) {
|
|
286
|
+
Matcher<int> m1 = Undefined::kInt;
|
|
287
|
+
EXPECT_TRUE(m1.Matches(1));
|
|
288
|
+
EXPECT_FALSE(m1.Matches(2));
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Test that a matcher parameterized with an abstract class compiles.
|
|
292
|
+
TEST(MatcherTest, CanAcceptAbstractClass) { Matcher<const Undefined&> m = _; }
|
|
293
|
+
|
|
335
294
|
// Tests that matchers are copyable.
|
|
336
295
|
TEST(MatcherTest, IsCopyable) {
|
|
337
296
|
// Tests the copy constructor.
|
|
@@ -365,72 +324,86 @@ TEST(MatcherTest, MatchAndExplain) {
|
|
|
365
324
|
}
|
|
366
325
|
|
|
367
326
|
// Tests that a C-string literal can be implicitly converted to a
|
|
368
|
-
// Matcher<string> or Matcher<const string&>.
|
|
327
|
+
// Matcher<std::string> or Matcher<const std::string&>.
|
|
369
328
|
TEST(StringMatcherTest, CanBeImplicitlyConstructedFromCStringLiteral) {
|
|
370
|
-
Matcher<string> m1 = "hi";
|
|
329
|
+
Matcher<std::string> m1 = "hi";
|
|
371
330
|
EXPECT_TRUE(m1.Matches("hi"));
|
|
372
331
|
EXPECT_FALSE(m1.Matches("hello"));
|
|
373
332
|
|
|
374
|
-
Matcher<const string&> m2 = "hi";
|
|
333
|
+
Matcher<const std::string&> m2 = "hi";
|
|
375
334
|
EXPECT_TRUE(m2.Matches("hi"));
|
|
376
335
|
EXPECT_FALSE(m2.Matches("hello"));
|
|
377
336
|
}
|
|
378
337
|
|
|
379
338
|
// Tests that a string object can be implicitly converted to a
|
|
380
|
-
// Matcher<string> or Matcher<const string&>.
|
|
339
|
+
// Matcher<std::string> or Matcher<const std::string&>.
|
|
381
340
|
TEST(StringMatcherTest, CanBeImplicitlyConstructedFromString) {
|
|
382
|
-
Matcher<string> m1 = string("hi");
|
|
341
|
+
Matcher<std::string> m1 = std::string("hi");
|
|
383
342
|
EXPECT_TRUE(m1.Matches("hi"));
|
|
384
343
|
EXPECT_FALSE(m1.Matches("hello"));
|
|
385
344
|
|
|
386
|
-
Matcher<const string&> m2 = string("hi");
|
|
345
|
+
Matcher<const std::string&> m2 = std::string("hi");
|
|
387
346
|
EXPECT_TRUE(m2.Matches("hi"));
|
|
388
347
|
EXPECT_FALSE(m2.Matches("hello"));
|
|
389
348
|
}
|
|
390
349
|
|
|
391
|
-
#if
|
|
350
|
+
#if GTEST_HAS_ABSL
|
|
392
351
|
// Tests that a C-string literal can be implicitly converted to a
|
|
393
|
-
// Matcher<
|
|
394
|
-
TEST(
|
|
395
|
-
Matcher<
|
|
352
|
+
// Matcher<absl::string_view> or Matcher<const absl::string_view&>.
|
|
353
|
+
TEST(StringViewMatcherTest, CanBeImplicitlyConstructedFromCStringLiteral) {
|
|
354
|
+
Matcher<absl::string_view> m1 = "cats";
|
|
396
355
|
EXPECT_TRUE(m1.Matches("cats"));
|
|
397
356
|
EXPECT_FALSE(m1.Matches("dogs"));
|
|
398
357
|
|
|
399
|
-
Matcher<const
|
|
358
|
+
Matcher<const absl::string_view&> m2 = "cats";
|
|
400
359
|
EXPECT_TRUE(m2.Matches("cats"));
|
|
401
360
|
EXPECT_FALSE(m2.Matches("dogs"));
|
|
402
361
|
}
|
|
403
362
|
|
|
404
|
-
// Tests that a string object can be implicitly converted to a
|
|
405
|
-
// Matcher<
|
|
406
|
-
TEST(
|
|
407
|
-
Matcher<
|
|
363
|
+
// Tests that a std::string object can be implicitly converted to a
|
|
364
|
+
// Matcher<absl::string_view> or Matcher<const absl::string_view&>.
|
|
365
|
+
TEST(StringViewMatcherTest, CanBeImplicitlyConstructedFromString) {
|
|
366
|
+
Matcher<absl::string_view> m1 = std::string("cats");
|
|
367
|
+
EXPECT_TRUE(m1.Matches("cats"));
|
|
368
|
+
EXPECT_FALSE(m1.Matches("dogs"));
|
|
369
|
+
|
|
370
|
+
Matcher<const absl::string_view&> m2 = std::string("cats");
|
|
371
|
+
EXPECT_TRUE(m2.Matches("cats"));
|
|
372
|
+
EXPECT_FALSE(m2.Matches("dogs"));
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// Tests that a absl::string_view object can be implicitly converted to a
|
|
376
|
+
// Matcher<absl::string_view> or Matcher<const absl::string_view&>.
|
|
377
|
+
TEST(StringViewMatcherTest, CanBeImplicitlyConstructedFromStringView) {
|
|
378
|
+
Matcher<absl::string_view> m1 = absl::string_view("cats");
|
|
408
379
|
EXPECT_TRUE(m1.Matches("cats"));
|
|
409
380
|
EXPECT_FALSE(m1.Matches("dogs"));
|
|
410
381
|
|
|
411
|
-
Matcher<const
|
|
382
|
+
Matcher<const absl::string_view&> m2 = absl::string_view("cats");
|
|
412
383
|
EXPECT_TRUE(m2.Matches("cats"));
|
|
413
384
|
EXPECT_FALSE(m2.Matches("dogs"));
|
|
414
385
|
}
|
|
386
|
+
#endif // GTEST_HAS_ABSL
|
|
415
387
|
|
|
416
|
-
// Tests that a
|
|
417
|
-
// Matcher<
|
|
418
|
-
TEST(
|
|
419
|
-
|
|
388
|
+
// Tests that a std::reference_wrapper<std::string> object can be implicitly
|
|
389
|
+
// converted to a Matcher<std::string> or Matcher<const std::string&> via Eq().
|
|
390
|
+
TEST(StringMatcherTest,
|
|
391
|
+
CanBeImplicitlyConstructedFromEqReferenceWrapperString) {
|
|
392
|
+
std::string value = "cats";
|
|
393
|
+
Matcher<std::string> m1 = Eq(std::ref(value));
|
|
420
394
|
EXPECT_TRUE(m1.Matches("cats"));
|
|
421
395
|
EXPECT_FALSE(m1.Matches("dogs"));
|
|
422
396
|
|
|
423
|
-
Matcher<const
|
|
397
|
+
Matcher<const std::string&> m2 = Eq(std::ref(value));
|
|
424
398
|
EXPECT_TRUE(m2.Matches("cats"));
|
|
425
399
|
EXPECT_FALSE(m2.Matches("dogs"));
|
|
426
400
|
}
|
|
427
|
-
#endif // GTEST_HAS_STRING_PIECE_
|
|
428
401
|
|
|
429
402
|
// Tests that MakeMatcher() constructs a Matcher<T> from a
|
|
430
403
|
// MatcherInterface* without requiring the user to explicitly
|
|
431
404
|
// write the type.
|
|
432
405
|
TEST(MakeMatcherTest, ConstructsMatcherFromMatcherInterface) {
|
|
433
|
-
const MatcherInterface<int>* dummy_impl =
|
|
406
|
+
const MatcherInterface<int>* dummy_impl = nullptr;
|
|
434
407
|
Matcher<int> m = MakeMatcher(dummy_impl);
|
|
435
408
|
}
|
|
436
409
|
|
|
@@ -489,7 +462,7 @@ class PolymorphicIsEvenImpl {
|
|
|
489
462
|
bool MatchAndExplain(const T& x, MatchResultListener* listener) const {
|
|
490
463
|
// Verifies that we can stream to the listener directly.
|
|
491
464
|
*listener << "% " << 2;
|
|
492
|
-
if (listener->stream() !=
|
|
465
|
+
if (listener->stream() != nullptr) {
|
|
493
466
|
// Verifies that we can stream to the listener's underlying stream
|
|
494
467
|
// too.
|
|
495
468
|
*listener->stream() << " == " << (x % 2);
|
|
@@ -609,11 +582,76 @@ TEST(MatcherCastTest, FromSameType) {
|
|
|
609
582
|
EXPECT_FALSE(m2.Matches(1));
|
|
610
583
|
}
|
|
611
584
|
|
|
585
|
+
// Tests that MatcherCast<T>(m) works when m is a value of the same type as the
|
|
586
|
+
// value type of the Matcher.
|
|
587
|
+
TEST(MatcherCastTest, FromAValue) {
|
|
588
|
+
Matcher<int> m = MatcherCast<int>(42);
|
|
589
|
+
EXPECT_TRUE(m.Matches(42));
|
|
590
|
+
EXPECT_FALSE(m.Matches(239));
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
// Tests that MatcherCast<T>(m) works when m is a value of the type implicitly
|
|
594
|
+
// convertible to the value type of the Matcher.
|
|
595
|
+
TEST(MatcherCastTest, FromAnImplicitlyConvertibleValue) {
|
|
596
|
+
const int kExpected = 'c';
|
|
597
|
+
Matcher<int> m = MatcherCast<int>('c');
|
|
598
|
+
EXPECT_TRUE(m.Matches(kExpected));
|
|
599
|
+
EXPECT_FALSE(m.Matches(kExpected + 1));
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
struct NonImplicitlyConstructibleTypeWithOperatorEq {
|
|
603
|
+
friend bool operator==(
|
|
604
|
+
const NonImplicitlyConstructibleTypeWithOperatorEq& /* ignored */,
|
|
605
|
+
int rhs) {
|
|
606
|
+
return 42 == rhs;
|
|
607
|
+
}
|
|
608
|
+
friend bool operator==(
|
|
609
|
+
int lhs,
|
|
610
|
+
const NonImplicitlyConstructibleTypeWithOperatorEq& /* ignored */) {
|
|
611
|
+
return lhs == 42;
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
// Tests that MatcherCast<T>(m) works when m is a neither a matcher nor
|
|
616
|
+
// implicitly convertible to the value type of the Matcher, but the value type
|
|
617
|
+
// of the matcher has operator==() overload accepting m.
|
|
618
|
+
TEST(MatcherCastTest, NonImplicitlyConstructibleTypeWithOperatorEq) {
|
|
619
|
+
Matcher<NonImplicitlyConstructibleTypeWithOperatorEq> m1 =
|
|
620
|
+
MatcherCast<NonImplicitlyConstructibleTypeWithOperatorEq>(42);
|
|
621
|
+
EXPECT_TRUE(m1.Matches(NonImplicitlyConstructibleTypeWithOperatorEq()));
|
|
622
|
+
|
|
623
|
+
Matcher<NonImplicitlyConstructibleTypeWithOperatorEq> m2 =
|
|
624
|
+
MatcherCast<NonImplicitlyConstructibleTypeWithOperatorEq>(239);
|
|
625
|
+
EXPECT_FALSE(m2.Matches(NonImplicitlyConstructibleTypeWithOperatorEq()));
|
|
626
|
+
|
|
627
|
+
// When updating the following lines please also change the comment to
|
|
628
|
+
// namespace convertible_from_any.
|
|
629
|
+
Matcher<int> m3 =
|
|
630
|
+
MatcherCast<int>(NonImplicitlyConstructibleTypeWithOperatorEq());
|
|
631
|
+
EXPECT_TRUE(m3.Matches(42));
|
|
632
|
+
EXPECT_FALSE(m3.Matches(239));
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
// ConvertibleFromAny does not work with MSVC. resulting in
|
|
636
|
+
// error C2440: 'initializing': cannot convert from 'Eq' to 'M'
|
|
637
|
+
// No constructor could take the source type, or constructor overload
|
|
638
|
+
// resolution was ambiguous
|
|
639
|
+
|
|
640
|
+
#if !defined _MSC_VER
|
|
641
|
+
|
|
642
|
+
// The below ConvertibleFromAny struct is implicitly constructible from anything
|
|
643
|
+
// and when in the same namespace can interact with other tests. In particular,
|
|
644
|
+
// if it is in the same namespace as other tests and one removes
|
|
645
|
+
// NonImplicitlyConstructibleTypeWithOperatorEq::operator==(int lhs, ...);
|
|
646
|
+
// then the corresponding test still compiles (and it should not!) by implicitly
|
|
647
|
+
// converting NonImplicitlyConstructibleTypeWithOperatorEq to ConvertibleFromAny
|
|
648
|
+
// in m3.Matcher().
|
|
649
|
+
namespace convertible_from_any {
|
|
612
650
|
// Implicitly convertible from any type.
|
|
613
651
|
struct ConvertibleFromAny {
|
|
614
652
|
ConvertibleFromAny(int a_value) : value(a_value) {}
|
|
615
653
|
template <typename T>
|
|
616
|
-
|
|
654
|
+
ConvertibleFromAny(const T& /*a_value*/) : value(-1) {
|
|
617
655
|
ADD_FAILURE() << "Conversion constructor called";
|
|
618
656
|
}
|
|
619
657
|
int value;
|
|
@@ -639,6 +677,9 @@ TEST(MatcherCastTest, FromConvertibleFromAny) {
|
|
|
639
677
|
EXPECT_TRUE(m.Matches(ConvertibleFromAny(1)));
|
|
640
678
|
EXPECT_FALSE(m.Matches(ConvertibleFromAny(2)));
|
|
641
679
|
}
|
|
680
|
+
} // namespace convertible_from_any
|
|
681
|
+
|
|
682
|
+
#endif // !defined _MSC_VER
|
|
642
683
|
|
|
643
684
|
struct IntReferenceWrapper {
|
|
644
685
|
IntReferenceWrapper(const int& a_value) : value(&a_value) {}
|
|
@@ -744,6 +785,9 @@ TEST(SafeMatcherCastTest, FromSameType) {
|
|
|
744
785
|
EXPECT_FALSE(m2.Matches(1));
|
|
745
786
|
}
|
|
746
787
|
|
|
788
|
+
#if !defined _MSC_VER
|
|
789
|
+
|
|
790
|
+
namespace convertible_from_any {
|
|
747
791
|
TEST(SafeMatcherCastTest, ConversionConstructorIsUsed) {
|
|
748
792
|
Matcher<ConvertibleFromAny> m = SafeMatcherCast<ConvertibleFromAny>(1);
|
|
749
793
|
EXPECT_TRUE(m.Matches(ConvertibleFromAny(1)));
|
|
@@ -756,6 +800,9 @@ TEST(SafeMatcherCastTest, FromConvertibleFromAny) {
|
|
|
756
800
|
EXPECT_TRUE(m.Matches(ConvertibleFromAny(1)));
|
|
757
801
|
EXPECT_FALSE(m.Matches(ConvertibleFromAny(2)));
|
|
758
802
|
}
|
|
803
|
+
} // namespace convertible_from_any
|
|
804
|
+
|
|
805
|
+
#endif // !defined _MSC_VER
|
|
759
806
|
|
|
760
807
|
TEST(SafeMatcherCastTest, ValueIsNotCopied) {
|
|
761
808
|
int n = 42;
|
|
@@ -767,7 +814,7 @@ TEST(SafeMatcherCastTest, ValueIsNotCopied) {
|
|
|
767
814
|
TEST(ExpectThat, TakesLiterals) {
|
|
768
815
|
EXPECT_THAT(1, 1);
|
|
769
816
|
EXPECT_THAT(1.0, 1.0);
|
|
770
|
-
EXPECT_THAT(string(), "");
|
|
817
|
+
EXPECT_THAT(std::string(), "");
|
|
771
818
|
}
|
|
772
819
|
|
|
773
820
|
TEST(ExpectThat, TakesFunctions) {
|
|
@@ -867,15 +914,13 @@ class Unprintable {
|
|
|
867
914
|
public:
|
|
868
915
|
Unprintable() : c_('a') {}
|
|
869
916
|
|
|
917
|
+
bool operator==(const Unprintable& /* rhs */) const { return true; }
|
|
918
|
+
// -Wunused-private-field: dummy accessor for `c_`.
|
|
919
|
+
char dummy_c() { return c_; }
|
|
870
920
|
private:
|
|
871
921
|
char c_;
|
|
872
922
|
};
|
|
873
923
|
|
|
874
|
-
inline bool operator==(const Unprintable& /* lhs */,
|
|
875
|
-
const Unprintable& /* rhs */) {
|
|
876
|
-
return true;
|
|
877
|
-
}
|
|
878
|
-
|
|
879
924
|
TEST(EqTest, CanDescribeSelf) {
|
|
880
925
|
Matcher<Unprintable> m = Eq(Unprintable());
|
|
881
926
|
EXPECT_EQ("is equal to 1-byte object <61>", Describe(m));
|
|
@@ -914,7 +959,7 @@ TEST(TypedEqTest, CanDescribeSelf) {
|
|
|
914
959
|
// Type<T>::IsTypeOf(v) compiles iff the type of value v is T, where T
|
|
915
960
|
// is a "bare" type (i.e. not in the form of const U or U&). If v's
|
|
916
961
|
// type is not T, the compiler will generate a message about
|
|
917
|
-
// "undefined
|
|
962
|
+
// "undefined reference".
|
|
918
963
|
template <typename T>
|
|
919
964
|
struct Type {
|
|
920
965
|
static bool IsTypeOf(const T& /* v */) { return true; }
|
|
@@ -973,7 +1018,7 @@ TEST(LeTest, CanDescribeSelf) {
|
|
|
973
1018
|
|
|
974
1019
|
// Tests that Lt(v) matches anything < v.
|
|
975
1020
|
TEST(LtTest, ImplementsLessThan) {
|
|
976
|
-
Matcher<const string&> m1 = Lt("Hello");
|
|
1021
|
+
Matcher<const std::string&> m1 = Lt("Hello");
|
|
977
1022
|
EXPECT_TRUE(m1.Matches("Abc"));
|
|
978
1023
|
EXPECT_FALSE(m1.Matches("Hello"));
|
|
979
1024
|
EXPECT_FALSE(m1.Matches("Hello, world!"));
|
|
@@ -999,61 +1044,72 @@ TEST(NeTest, CanDescribeSelf) {
|
|
|
999
1044
|
EXPECT_EQ("isn't equal to 5", Describe(m));
|
|
1000
1045
|
}
|
|
1001
1046
|
|
|
1047
|
+
class MoveOnly {
|
|
1048
|
+
public:
|
|
1049
|
+
explicit MoveOnly(int i) : i_(i) {}
|
|
1050
|
+
MoveOnly(const MoveOnly&) = delete;
|
|
1051
|
+
MoveOnly(MoveOnly&&) = default;
|
|
1052
|
+
MoveOnly& operator=(const MoveOnly&) = delete;
|
|
1053
|
+
MoveOnly& operator=(MoveOnly&&) = default;
|
|
1054
|
+
|
|
1055
|
+
bool operator==(const MoveOnly& other) const { return i_ == other.i_; }
|
|
1056
|
+
bool operator!=(const MoveOnly& other) const { return i_ != other.i_; }
|
|
1057
|
+
bool operator<(const MoveOnly& other) const { return i_ < other.i_; }
|
|
1058
|
+
bool operator<=(const MoveOnly& other) const { return i_ <= other.i_; }
|
|
1059
|
+
bool operator>(const MoveOnly& other) const { return i_ > other.i_; }
|
|
1060
|
+
bool operator>=(const MoveOnly& other) const { return i_ >= other.i_; }
|
|
1061
|
+
|
|
1062
|
+
private:
|
|
1063
|
+
int i_;
|
|
1064
|
+
};
|
|
1065
|
+
|
|
1066
|
+
struct MoveHelper {
|
|
1067
|
+
MOCK_METHOD1(Call, void(MoveOnly));
|
|
1068
|
+
};
|
|
1069
|
+
|
|
1070
|
+
TEST(ComparisonBaseTest, WorksWithMoveOnly) {
|
|
1071
|
+
MoveOnly m{0};
|
|
1072
|
+
MoveHelper helper;
|
|
1073
|
+
|
|
1074
|
+
EXPECT_CALL(helper, Call(Eq(ByRef(m))));
|
|
1075
|
+
helper.Call(MoveOnly(0));
|
|
1076
|
+
EXPECT_CALL(helper, Call(Ne(ByRef(m))));
|
|
1077
|
+
helper.Call(MoveOnly(1));
|
|
1078
|
+
EXPECT_CALL(helper, Call(Le(ByRef(m))));
|
|
1079
|
+
helper.Call(MoveOnly(0));
|
|
1080
|
+
EXPECT_CALL(helper, Call(Lt(ByRef(m))));
|
|
1081
|
+
helper.Call(MoveOnly(-1));
|
|
1082
|
+
EXPECT_CALL(helper, Call(Ge(ByRef(m))));
|
|
1083
|
+
helper.Call(MoveOnly(0));
|
|
1084
|
+
EXPECT_CALL(helper, Call(Gt(ByRef(m))));
|
|
1085
|
+
helper.Call(MoveOnly(1));
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1002
1088
|
// Tests that IsNull() matches any NULL pointer of any type.
|
|
1003
1089
|
TEST(IsNullTest, MatchesNullPointer) {
|
|
1004
1090
|
Matcher<int*> m1 = IsNull();
|
|
1005
|
-
int* p1 =
|
|
1091
|
+
int* p1 = nullptr;
|
|
1006
1092
|
int n = 0;
|
|
1007
1093
|
EXPECT_TRUE(m1.Matches(p1));
|
|
1008
1094
|
EXPECT_FALSE(m1.Matches(&n));
|
|
1009
1095
|
|
|
1010
1096
|
Matcher<const char*> m2 = IsNull();
|
|
1011
|
-
const char* p2 =
|
|
1097
|
+
const char* p2 = nullptr;
|
|
1012
1098
|
EXPECT_TRUE(m2.Matches(p2));
|
|
1013
1099
|
EXPECT_FALSE(m2.Matches("hi"));
|
|
1014
1100
|
|
|
1015
|
-
#if !GTEST_OS_SYMBIAN
|
|
1016
|
-
// Nokia's Symbian compiler generates:
|
|
1017
|
-
// gmock-matchers.h: ambiguous access to overloaded function
|
|
1018
|
-
// gmock-matchers.h: 'testing::Matcher<void *>::Matcher(void *)'
|
|
1019
|
-
// gmock-matchers.h: 'testing::Matcher<void *>::Matcher(const testing::
|
|
1020
|
-
// MatcherInterface<void *> *)'
|
|
1021
|
-
// gmock-matchers.h: (point of instantiation: 'testing::
|
|
1022
|
-
// gmock_matchers_test::IsNullTest_MatchesNullPointer_Test::TestBody()')
|
|
1023
|
-
// gmock-matchers.h: (instantiating: 'testing::PolymorphicMatc
|
|
1024
1101
|
Matcher<void*> m3 = IsNull();
|
|
1025
|
-
void* p3 =
|
|
1102
|
+
void* p3 = nullptr;
|
|
1026
1103
|
EXPECT_TRUE(m3.Matches(p3));
|
|
1027
1104
|
EXPECT_FALSE(m3.Matches(reinterpret_cast<void*>(0xbeef)));
|
|
1028
|
-
#endif
|
|
1029
|
-
}
|
|
1030
|
-
|
|
1031
|
-
TEST(IsNullTest, LinkedPtr) {
|
|
1032
|
-
const Matcher<linked_ptr<int> > m = IsNull();
|
|
1033
|
-
const linked_ptr<int> null_p;
|
|
1034
|
-
const linked_ptr<int> non_null_p(new int);
|
|
1035
|
-
|
|
1036
|
-
EXPECT_TRUE(m.Matches(null_p));
|
|
1037
|
-
EXPECT_FALSE(m.Matches(non_null_p));
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
TEST(IsNullTest, ReferenceToConstLinkedPtr) {
|
|
1041
|
-
const Matcher<const linked_ptr<double>&> m = IsNull();
|
|
1042
|
-
const linked_ptr<double> null_p;
|
|
1043
|
-
const linked_ptr<double> non_null_p(new double);
|
|
1044
|
-
|
|
1045
|
-
EXPECT_TRUE(m.Matches(null_p));
|
|
1046
|
-
EXPECT_FALSE(m.Matches(non_null_p));
|
|
1047
1105
|
}
|
|
1048
1106
|
|
|
1049
|
-
#if GTEST_HAS_STD_FUNCTION_
|
|
1050
1107
|
TEST(IsNullTest, StdFunction) {
|
|
1051
1108
|
const Matcher<std::function<void()>> m = IsNull();
|
|
1052
1109
|
|
|
1053
1110
|
EXPECT_TRUE(m.Matches(std::function<void()>()));
|
|
1054
1111
|
EXPECT_FALSE(m.Matches([]{}));
|
|
1055
1112
|
}
|
|
1056
|
-
#endif // GTEST_HAS_STD_FUNCTION_
|
|
1057
1113
|
|
|
1058
1114
|
// Tests that IsNull() describes itself properly.
|
|
1059
1115
|
TEST(IsNullTest, CanDescribeSelf) {
|
|
@@ -1065,43 +1121,41 @@ TEST(IsNullTest, CanDescribeSelf) {
|
|
|
1065
1121
|
// Tests that NotNull() matches any non-NULL pointer of any type.
|
|
1066
1122
|
TEST(NotNullTest, MatchesNonNullPointer) {
|
|
1067
1123
|
Matcher<int*> m1 = NotNull();
|
|
1068
|
-
int* p1 =
|
|
1124
|
+
int* p1 = nullptr;
|
|
1069
1125
|
int n = 0;
|
|
1070
1126
|
EXPECT_FALSE(m1.Matches(p1));
|
|
1071
1127
|
EXPECT_TRUE(m1.Matches(&n));
|
|
1072
1128
|
|
|
1073
1129
|
Matcher<const char*> m2 = NotNull();
|
|
1074
|
-
const char* p2 =
|
|
1130
|
+
const char* p2 = nullptr;
|
|
1075
1131
|
EXPECT_FALSE(m2.Matches(p2));
|
|
1076
1132
|
EXPECT_TRUE(m2.Matches("hi"));
|
|
1077
1133
|
}
|
|
1078
1134
|
|
|
1079
1135
|
TEST(NotNullTest, LinkedPtr) {
|
|
1080
|
-
const Matcher<
|
|
1081
|
-
const
|
|
1082
|
-
const
|
|
1136
|
+
const Matcher<std::shared_ptr<int>> m = NotNull();
|
|
1137
|
+
const std::shared_ptr<int> null_p;
|
|
1138
|
+
const std::shared_ptr<int> non_null_p(new int);
|
|
1083
1139
|
|
|
1084
1140
|
EXPECT_FALSE(m.Matches(null_p));
|
|
1085
1141
|
EXPECT_TRUE(m.Matches(non_null_p));
|
|
1086
1142
|
}
|
|
1087
1143
|
|
|
1088
1144
|
TEST(NotNullTest, ReferenceToConstLinkedPtr) {
|
|
1089
|
-
const Matcher<const
|
|
1090
|
-
const
|
|
1091
|
-
const
|
|
1145
|
+
const Matcher<const std::shared_ptr<double>&> m = NotNull();
|
|
1146
|
+
const std::shared_ptr<double> null_p;
|
|
1147
|
+
const std::shared_ptr<double> non_null_p(new double);
|
|
1092
1148
|
|
|
1093
1149
|
EXPECT_FALSE(m.Matches(null_p));
|
|
1094
1150
|
EXPECT_TRUE(m.Matches(non_null_p));
|
|
1095
1151
|
}
|
|
1096
1152
|
|
|
1097
|
-
#if GTEST_HAS_STD_FUNCTION_
|
|
1098
1153
|
TEST(NotNullTest, StdFunction) {
|
|
1099
1154
|
const Matcher<std::function<void()>> m = NotNull();
|
|
1100
1155
|
|
|
1101
1156
|
EXPECT_TRUE(m.Matches([]{}));
|
|
1102
1157
|
EXPECT_FALSE(m.Matches(std::function<void()>()));
|
|
1103
1158
|
}
|
|
1104
|
-
#endif // GTEST_HAS_STD_FUNCTION_
|
|
1105
1159
|
|
|
1106
1160
|
// Tests that NotNull() describes itself properly.
|
|
1107
1161
|
TEST(NotNullTest, CanDescribeSelf) {
|
|
@@ -1125,7 +1179,7 @@ TEST(RefTest, CanDescribeSelf) {
|
|
|
1125
1179
|
Matcher<int&> m = Ref(n);
|
|
1126
1180
|
stringstream ss;
|
|
1127
1181
|
ss << "references the variable @" << &n << " 5";
|
|
1128
|
-
EXPECT_EQ(
|
|
1182
|
+
EXPECT_EQ(ss.str(), Describe(m));
|
|
1129
1183
|
}
|
|
1130
1184
|
|
|
1131
1185
|
// Test that Ref(non_const_varialbe) can be used as a matcher for a
|
|
@@ -1169,39 +1223,58 @@ TEST(RefTest, ExplainsResult) {
|
|
|
1169
1223
|
// Tests string comparison matchers.
|
|
1170
1224
|
|
|
1171
1225
|
TEST(StrEqTest, MatchesEqualString) {
|
|
1172
|
-
Matcher<const char*> m = StrEq(string("Hello"));
|
|
1226
|
+
Matcher<const char*> m = StrEq(std::string("Hello"));
|
|
1173
1227
|
EXPECT_TRUE(m.Matches("Hello"));
|
|
1174
1228
|
EXPECT_FALSE(m.Matches("hello"));
|
|
1175
|
-
EXPECT_FALSE(m.Matches(
|
|
1229
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
1176
1230
|
|
|
1177
|
-
Matcher<const string&> m2 = StrEq("Hello");
|
|
1231
|
+
Matcher<const std::string&> m2 = StrEq("Hello");
|
|
1178
1232
|
EXPECT_TRUE(m2.Matches("Hello"));
|
|
1179
1233
|
EXPECT_FALSE(m2.Matches("Hi"));
|
|
1234
|
+
|
|
1235
|
+
#if GTEST_HAS_ABSL
|
|
1236
|
+
Matcher<const absl::string_view&> m3 = StrEq("Hello");
|
|
1237
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("Hello")));
|
|
1238
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("hello")));
|
|
1239
|
+
EXPECT_FALSE(m3.Matches(absl::string_view()));
|
|
1240
|
+
|
|
1241
|
+
Matcher<const absl::string_view&> m_empty = StrEq("");
|
|
1242
|
+
EXPECT_TRUE(m_empty.Matches(absl::string_view("")));
|
|
1243
|
+
EXPECT_TRUE(m_empty.Matches(absl::string_view()));
|
|
1244
|
+
EXPECT_FALSE(m_empty.Matches(absl::string_view("hello")));
|
|
1245
|
+
#endif // GTEST_HAS_ABSL
|
|
1180
1246
|
}
|
|
1181
1247
|
|
|
1182
1248
|
TEST(StrEqTest, CanDescribeSelf) {
|
|
1183
|
-
Matcher<string> m = StrEq("Hi-\'\"?\\\a\b\f\n\r\t\v\xD3");
|
|
1249
|
+
Matcher<std::string> m = StrEq("Hi-\'\"?\\\a\b\f\n\r\t\v\xD3");
|
|
1184
1250
|
EXPECT_EQ("is equal to \"Hi-\'\\\"?\\\\\\a\\b\\f\\n\\r\\t\\v\\xD3\"",
|
|
1185
1251
|
Describe(m));
|
|
1186
1252
|
|
|
1187
|
-
string str("01204500800");
|
|
1253
|
+
std::string str("01204500800");
|
|
1188
1254
|
str[3] = '\0';
|
|
1189
|
-
Matcher<string> m2 = StrEq(str);
|
|
1255
|
+
Matcher<std::string> m2 = StrEq(str);
|
|
1190
1256
|
EXPECT_EQ("is equal to \"012\\04500800\"", Describe(m2));
|
|
1191
1257
|
str[0] = str[6] = str[7] = str[9] = str[10] = '\0';
|
|
1192
|
-
Matcher<string> m3 = StrEq(str);
|
|
1258
|
+
Matcher<std::string> m3 = StrEq(str);
|
|
1193
1259
|
EXPECT_EQ("is equal to \"\\012\\045\\0\\08\\0\\0\"", Describe(m3));
|
|
1194
1260
|
}
|
|
1195
1261
|
|
|
1196
1262
|
TEST(StrNeTest, MatchesUnequalString) {
|
|
1197
1263
|
Matcher<const char*> m = StrNe("Hello");
|
|
1198
1264
|
EXPECT_TRUE(m.Matches(""));
|
|
1199
|
-
EXPECT_TRUE(m.Matches(
|
|
1265
|
+
EXPECT_TRUE(m.Matches(nullptr));
|
|
1200
1266
|
EXPECT_FALSE(m.Matches("Hello"));
|
|
1201
1267
|
|
|
1202
|
-
Matcher<string> m2 = StrNe(string("Hello"));
|
|
1268
|
+
Matcher<std::string> m2 = StrNe(std::string("Hello"));
|
|
1203
1269
|
EXPECT_TRUE(m2.Matches("hello"));
|
|
1204
1270
|
EXPECT_FALSE(m2.Matches("Hello"));
|
|
1271
|
+
|
|
1272
|
+
#if GTEST_HAS_ABSL
|
|
1273
|
+
Matcher<const absl::string_view> m3 = StrNe("Hello");
|
|
1274
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("")));
|
|
1275
|
+
EXPECT_TRUE(m3.Matches(absl::string_view()));
|
|
1276
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("Hello")));
|
|
1277
|
+
#endif // GTEST_HAS_ABSL
|
|
1205
1278
|
}
|
|
1206
1279
|
|
|
1207
1280
|
TEST(StrNeTest, CanDescribeSelf) {
|
|
@@ -1210,57 +1283,73 @@ TEST(StrNeTest, CanDescribeSelf) {
|
|
|
1210
1283
|
}
|
|
1211
1284
|
|
|
1212
1285
|
TEST(StrCaseEqTest, MatchesEqualStringIgnoringCase) {
|
|
1213
|
-
Matcher<const char*> m = StrCaseEq(string("Hello"));
|
|
1286
|
+
Matcher<const char*> m = StrCaseEq(std::string("Hello"));
|
|
1214
1287
|
EXPECT_TRUE(m.Matches("Hello"));
|
|
1215
1288
|
EXPECT_TRUE(m.Matches("hello"));
|
|
1216
1289
|
EXPECT_FALSE(m.Matches("Hi"));
|
|
1217
|
-
EXPECT_FALSE(m.Matches(
|
|
1290
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
1218
1291
|
|
|
1219
|
-
Matcher<const string&> m2 = StrCaseEq("Hello");
|
|
1292
|
+
Matcher<const std::string&> m2 = StrCaseEq("Hello");
|
|
1220
1293
|
EXPECT_TRUE(m2.Matches("hello"));
|
|
1221
1294
|
EXPECT_FALSE(m2.Matches("Hi"));
|
|
1295
|
+
|
|
1296
|
+
#if GTEST_HAS_ABSL
|
|
1297
|
+
Matcher<const absl::string_view&> m3 = StrCaseEq(std::string("Hello"));
|
|
1298
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("Hello")));
|
|
1299
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("hello")));
|
|
1300
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("Hi")));
|
|
1301
|
+
EXPECT_FALSE(m3.Matches(absl::string_view()));
|
|
1302
|
+
#endif // GTEST_HAS_ABSL
|
|
1222
1303
|
}
|
|
1223
1304
|
|
|
1224
1305
|
TEST(StrCaseEqTest, MatchesEqualStringWith0IgnoringCase) {
|
|
1225
|
-
string str1("oabocdooeoo");
|
|
1226
|
-
string str2("OABOCDOOEOO");
|
|
1227
|
-
Matcher<const string&> m0 = StrCaseEq(str1);
|
|
1228
|
-
EXPECT_FALSE(m0.Matches(str2 + string(1, '\0')));
|
|
1306
|
+
std::string str1("oabocdooeoo");
|
|
1307
|
+
std::string str2("OABOCDOOEOO");
|
|
1308
|
+
Matcher<const std::string&> m0 = StrCaseEq(str1);
|
|
1309
|
+
EXPECT_FALSE(m0.Matches(str2 + std::string(1, '\0')));
|
|
1229
1310
|
|
|
1230
1311
|
str1[3] = str2[3] = '\0';
|
|
1231
|
-
Matcher<const string&> m1 = StrCaseEq(str1);
|
|
1312
|
+
Matcher<const std::string&> m1 = StrCaseEq(str1);
|
|
1232
1313
|
EXPECT_TRUE(m1.Matches(str2));
|
|
1233
1314
|
|
|
1234
1315
|
str1[0] = str1[6] = str1[7] = str1[10] = '\0';
|
|
1235
1316
|
str2[0] = str2[6] = str2[7] = str2[10] = '\0';
|
|
1236
|
-
Matcher<const string&> m2 = StrCaseEq(str1);
|
|
1317
|
+
Matcher<const std::string&> m2 = StrCaseEq(str1);
|
|
1237
1318
|
str1[9] = str2[9] = '\0';
|
|
1238
1319
|
EXPECT_FALSE(m2.Matches(str2));
|
|
1239
1320
|
|
|
1240
|
-
Matcher<const string&> m3 = StrCaseEq(str1);
|
|
1321
|
+
Matcher<const std::string&> m3 = StrCaseEq(str1);
|
|
1241
1322
|
EXPECT_TRUE(m3.Matches(str2));
|
|
1242
1323
|
|
|
1243
1324
|
EXPECT_FALSE(m3.Matches(str2 + "x"));
|
|
1244
1325
|
str2.append(1, '\0');
|
|
1245
1326
|
EXPECT_FALSE(m3.Matches(str2));
|
|
1246
|
-
EXPECT_FALSE(m3.Matches(string(str2, 0, 9)));
|
|
1327
|
+
EXPECT_FALSE(m3.Matches(std::string(str2, 0, 9)));
|
|
1247
1328
|
}
|
|
1248
1329
|
|
|
1249
1330
|
TEST(StrCaseEqTest, CanDescribeSelf) {
|
|
1250
|
-
Matcher<string> m = StrCaseEq("Hi");
|
|
1331
|
+
Matcher<std::string> m = StrCaseEq("Hi");
|
|
1251
1332
|
EXPECT_EQ("is equal to (ignoring case) \"Hi\"", Describe(m));
|
|
1252
1333
|
}
|
|
1253
1334
|
|
|
1254
1335
|
TEST(StrCaseNeTest, MatchesUnequalStringIgnoringCase) {
|
|
1255
1336
|
Matcher<const char*> m = StrCaseNe("Hello");
|
|
1256
1337
|
EXPECT_TRUE(m.Matches("Hi"));
|
|
1257
|
-
EXPECT_TRUE(m.Matches(
|
|
1338
|
+
EXPECT_TRUE(m.Matches(nullptr));
|
|
1258
1339
|
EXPECT_FALSE(m.Matches("Hello"));
|
|
1259
1340
|
EXPECT_FALSE(m.Matches("hello"));
|
|
1260
1341
|
|
|
1261
|
-
Matcher<string> m2 = StrCaseNe(string("Hello"));
|
|
1342
|
+
Matcher<std::string> m2 = StrCaseNe(std::string("Hello"));
|
|
1262
1343
|
EXPECT_TRUE(m2.Matches(""));
|
|
1263
1344
|
EXPECT_FALSE(m2.Matches("Hello"));
|
|
1345
|
+
|
|
1346
|
+
#if GTEST_HAS_ABSL
|
|
1347
|
+
Matcher<const absl::string_view> m3 = StrCaseNe("Hello");
|
|
1348
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("Hi")));
|
|
1349
|
+
EXPECT_TRUE(m3.Matches(absl::string_view()));
|
|
1350
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("Hello")));
|
|
1351
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("hello")));
|
|
1352
|
+
#endif // GTEST_HAS_ABSL
|
|
1264
1353
|
}
|
|
1265
1354
|
|
|
1266
1355
|
TEST(StrCaseNeTest, CanDescribeSelf) {
|
|
@@ -1270,13 +1359,17 @@ TEST(StrCaseNeTest, CanDescribeSelf) {
|
|
|
1270
1359
|
|
|
1271
1360
|
// Tests that HasSubstr() works for matching string-typed values.
|
|
1272
1361
|
TEST(HasSubstrTest, WorksForStringClasses) {
|
|
1273
|
-
const Matcher<string> m1 = HasSubstr("foo");
|
|
1274
|
-
EXPECT_TRUE(m1.Matches(string("I love food.")));
|
|
1275
|
-
EXPECT_FALSE(m1.Matches(string("tofo")));
|
|
1362
|
+
const Matcher<std::string> m1 = HasSubstr("foo");
|
|
1363
|
+
EXPECT_TRUE(m1.Matches(std::string("I love food.")));
|
|
1364
|
+
EXPECT_FALSE(m1.Matches(std::string("tofo")));
|
|
1276
1365
|
|
|
1277
1366
|
const Matcher<const std::string&> m2 = HasSubstr("foo");
|
|
1278
1367
|
EXPECT_TRUE(m2.Matches(std::string("I love food.")));
|
|
1279
1368
|
EXPECT_FALSE(m2.Matches(std::string("tofo")));
|
|
1369
|
+
|
|
1370
|
+
const Matcher<std::string> m_empty = HasSubstr("");
|
|
1371
|
+
EXPECT_TRUE(m_empty.Matches(std::string()));
|
|
1372
|
+
EXPECT_TRUE(m_empty.Matches(std::string("not empty")));
|
|
1280
1373
|
}
|
|
1281
1374
|
|
|
1282
1375
|
// Tests that HasSubstr() works for matching C-string-typed values.
|
|
@@ -1284,17 +1377,42 @@ TEST(HasSubstrTest, WorksForCStrings) {
|
|
|
1284
1377
|
const Matcher<char*> m1 = HasSubstr("foo");
|
|
1285
1378
|
EXPECT_TRUE(m1.Matches(const_cast<char*>("I love food.")));
|
|
1286
1379
|
EXPECT_FALSE(m1.Matches(const_cast<char*>("tofo")));
|
|
1287
|
-
EXPECT_FALSE(m1.Matches(
|
|
1380
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1288
1381
|
|
|
1289
1382
|
const Matcher<const char*> m2 = HasSubstr("foo");
|
|
1290
1383
|
EXPECT_TRUE(m2.Matches("I love food."));
|
|
1291
1384
|
EXPECT_FALSE(m2.Matches("tofo"));
|
|
1292
|
-
EXPECT_FALSE(m2.Matches(
|
|
1385
|
+
EXPECT_FALSE(m2.Matches(nullptr));
|
|
1386
|
+
|
|
1387
|
+
const Matcher<const char*> m_empty = HasSubstr("");
|
|
1388
|
+
EXPECT_TRUE(m_empty.Matches("not empty"));
|
|
1389
|
+
EXPECT_TRUE(m_empty.Matches(""));
|
|
1390
|
+
EXPECT_FALSE(m_empty.Matches(nullptr));
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
#if GTEST_HAS_ABSL
|
|
1394
|
+
// Tests that HasSubstr() works for matching absl::string_view-typed values.
|
|
1395
|
+
TEST(HasSubstrTest, WorksForStringViewClasses) {
|
|
1396
|
+
const Matcher<absl::string_view> m1 = HasSubstr("foo");
|
|
1397
|
+
EXPECT_TRUE(m1.Matches(absl::string_view("I love food.")));
|
|
1398
|
+
EXPECT_FALSE(m1.Matches(absl::string_view("tofo")));
|
|
1399
|
+
EXPECT_FALSE(m1.Matches(absl::string_view()));
|
|
1400
|
+
|
|
1401
|
+
const Matcher<const absl::string_view&> m2 = HasSubstr("foo");
|
|
1402
|
+
EXPECT_TRUE(m2.Matches(absl::string_view("I love food.")));
|
|
1403
|
+
EXPECT_FALSE(m2.Matches(absl::string_view("tofo")));
|
|
1404
|
+
EXPECT_FALSE(m2.Matches(absl::string_view()));
|
|
1405
|
+
|
|
1406
|
+
const Matcher<const absl::string_view&> m3 = HasSubstr("");
|
|
1407
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("foo")));
|
|
1408
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("")));
|
|
1409
|
+
EXPECT_TRUE(m3.Matches(absl::string_view()));
|
|
1293
1410
|
}
|
|
1411
|
+
#endif // GTEST_HAS_ABSL
|
|
1294
1412
|
|
|
1295
1413
|
// Tests that HasSubstr(s) describes itself properly.
|
|
1296
1414
|
TEST(HasSubstrTest, CanDescribeSelf) {
|
|
1297
|
-
Matcher<string> m = HasSubstr("foo\n\"");
|
|
1415
|
+
Matcher<std::string> m = HasSubstr("foo\n\"");
|
|
1298
1416
|
EXPECT_EQ("has substring \"foo\\n\\\"\"", Describe(m));
|
|
1299
1417
|
}
|
|
1300
1418
|
|
|
@@ -1320,6 +1438,38 @@ TEST(KeyTest, MatchesCorrectly) {
|
|
|
1320
1438
|
EXPECT_THAT(p, Not(Key(Lt(25))));
|
|
1321
1439
|
}
|
|
1322
1440
|
|
|
1441
|
+
TEST(KeyTest, WorksWithMoveOnly) {
|
|
1442
|
+
pair<std::unique_ptr<int>, std::unique_ptr<int>> p;
|
|
1443
|
+
EXPECT_THAT(p, Key(Eq(nullptr)));
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
template <size_t I>
|
|
1447
|
+
struct Tag {};
|
|
1448
|
+
|
|
1449
|
+
struct PairWithGet {
|
|
1450
|
+
int member_1;
|
|
1451
|
+
std::string member_2;
|
|
1452
|
+
using first_type = int;
|
|
1453
|
+
using second_type = std::string;
|
|
1454
|
+
|
|
1455
|
+
const int& GetImpl(Tag<0>) const { return member_1; }
|
|
1456
|
+
const std::string& GetImpl(Tag<1>) const { return member_2; }
|
|
1457
|
+
};
|
|
1458
|
+
template <size_t I>
|
|
1459
|
+
auto get(const PairWithGet& value) -> decltype(value.GetImpl(Tag<I>())) {
|
|
1460
|
+
return value.GetImpl(Tag<I>());
|
|
1461
|
+
}
|
|
1462
|
+
TEST(PairTest, MatchesPairWithGetCorrectly) {
|
|
1463
|
+
PairWithGet p{25, "foo"};
|
|
1464
|
+
EXPECT_THAT(p, Key(25));
|
|
1465
|
+
EXPECT_THAT(p, Not(Key(42)));
|
|
1466
|
+
EXPECT_THAT(p, Key(Ge(20)));
|
|
1467
|
+
EXPECT_THAT(p, Not(Key(Lt(25))));
|
|
1468
|
+
|
|
1469
|
+
std::vector<PairWithGet> v = {{11, "Foo"}, {29, "gMockIsBestMock"}};
|
|
1470
|
+
EXPECT_THAT(v, Contains(Key(29)));
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1323
1473
|
TEST(KeyTest, SafelyCastsInnerMatcher) {
|
|
1324
1474
|
Matcher<int> is_positive = Gt(0);
|
|
1325
1475
|
Matcher<int> is_negative = Lt(0);
|
|
@@ -1436,6 +1586,12 @@ TEST(PairTest, MatchesCorrectly) {
|
|
|
1436
1586
|
EXPECT_THAT(p, Not(Pair(Lt(13), HasSubstr("a"))));
|
|
1437
1587
|
}
|
|
1438
1588
|
|
|
1589
|
+
TEST(PairTest, WorksWithMoveOnly) {
|
|
1590
|
+
pair<std::unique_ptr<int>, std::unique_ptr<int>> p;
|
|
1591
|
+
p.second.reset(new int(7));
|
|
1592
|
+
EXPECT_THAT(p, Pair(Eq(nullptr), Ne(nullptr)));
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1439
1595
|
TEST(PairTest, SafelyCastsInnerMatchers) {
|
|
1440
1596
|
Matcher<int> is_positive = Gt(0);
|
|
1441
1597
|
Matcher<int> is_negative = Lt(0);
|
|
@@ -1457,20 +1613,44 @@ TEST(PairTest, InsideContainsUsingMap) {
|
|
|
1457
1613
|
EXPECT_THAT(container, Not(Contains(Pair(3, _))));
|
|
1458
1614
|
}
|
|
1459
1615
|
|
|
1616
|
+
TEST(ContainsTest, WorksWithMoveOnly) {
|
|
1617
|
+
ContainerHelper helper;
|
|
1618
|
+
EXPECT_CALL(helper, Call(Contains(Pointee(2))));
|
|
1619
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
TEST(PairTest, UseGetInsteadOfMembers) {
|
|
1623
|
+
PairWithGet pair{7, "ABC"};
|
|
1624
|
+
EXPECT_THAT(pair, Pair(7, "ABC"));
|
|
1625
|
+
EXPECT_THAT(pair, Pair(Ge(7), HasSubstr("AB")));
|
|
1626
|
+
EXPECT_THAT(pair, Not(Pair(Lt(7), "ABC")));
|
|
1627
|
+
|
|
1628
|
+
std::vector<PairWithGet> v = {{11, "Foo"}, {29, "gMockIsBestMock"}};
|
|
1629
|
+
EXPECT_THAT(v,
|
|
1630
|
+
ElementsAre(Pair(11, std::string("Foo")), Pair(Ge(10), Not(""))));
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1460
1633
|
// Tests StartsWith(s).
|
|
1461
1634
|
|
|
1462
1635
|
TEST(StartsWithTest, MatchesStringWithGivenPrefix) {
|
|
1463
|
-
const Matcher<const char*> m1 = StartsWith(string(""));
|
|
1636
|
+
const Matcher<const char*> m1 = StartsWith(std::string(""));
|
|
1464
1637
|
EXPECT_TRUE(m1.Matches("Hi"));
|
|
1465
1638
|
EXPECT_TRUE(m1.Matches(""));
|
|
1466
|
-
EXPECT_FALSE(m1.Matches(
|
|
1639
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1467
1640
|
|
|
1468
|
-
const Matcher<const string&> m2 = StartsWith("Hi");
|
|
1641
|
+
const Matcher<const std::string&> m2 = StartsWith("Hi");
|
|
1469
1642
|
EXPECT_TRUE(m2.Matches("Hi"));
|
|
1470
1643
|
EXPECT_TRUE(m2.Matches("Hi Hi!"));
|
|
1471
1644
|
EXPECT_TRUE(m2.Matches("High"));
|
|
1472
1645
|
EXPECT_FALSE(m2.Matches("H"));
|
|
1473
1646
|
EXPECT_FALSE(m2.Matches(" Hi"));
|
|
1647
|
+
|
|
1648
|
+
#if GTEST_HAS_ABSL
|
|
1649
|
+
const Matcher<absl::string_view> m_empty = StartsWith("");
|
|
1650
|
+
EXPECT_TRUE(m_empty.Matches(absl::string_view()));
|
|
1651
|
+
EXPECT_TRUE(m_empty.Matches(absl::string_view("")));
|
|
1652
|
+
EXPECT_TRUE(m_empty.Matches(absl::string_view("not empty")));
|
|
1653
|
+
#endif // GTEST_HAS_ABSL
|
|
1474
1654
|
}
|
|
1475
1655
|
|
|
1476
1656
|
TEST(StartsWithTest, CanDescribeSelf) {
|
|
@@ -1484,14 +1664,22 @@ TEST(EndsWithTest, MatchesStringWithGivenSuffix) {
|
|
|
1484
1664
|
const Matcher<const char*> m1 = EndsWith("");
|
|
1485
1665
|
EXPECT_TRUE(m1.Matches("Hi"));
|
|
1486
1666
|
EXPECT_TRUE(m1.Matches(""));
|
|
1487
|
-
EXPECT_FALSE(m1.Matches(
|
|
1667
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1488
1668
|
|
|
1489
|
-
const Matcher<const string&> m2 = EndsWith(string("Hi"));
|
|
1669
|
+
const Matcher<const std::string&> m2 = EndsWith(std::string("Hi"));
|
|
1490
1670
|
EXPECT_TRUE(m2.Matches("Hi"));
|
|
1491
1671
|
EXPECT_TRUE(m2.Matches("Wow Hi Hi"));
|
|
1492
1672
|
EXPECT_TRUE(m2.Matches("Super Hi"));
|
|
1493
1673
|
EXPECT_FALSE(m2.Matches("i"));
|
|
1494
1674
|
EXPECT_FALSE(m2.Matches("Hi "));
|
|
1675
|
+
|
|
1676
|
+
#if GTEST_HAS_ABSL
|
|
1677
|
+
const Matcher<const absl::string_view&> m4 = EndsWith("");
|
|
1678
|
+
EXPECT_TRUE(m4.Matches("Hi"));
|
|
1679
|
+
EXPECT_TRUE(m4.Matches(""));
|
|
1680
|
+
EXPECT_TRUE(m4.Matches(absl::string_view()));
|
|
1681
|
+
EXPECT_TRUE(m4.Matches(absl::string_view("")));
|
|
1682
|
+
#endif // GTEST_HAS_ABSL
|
|
1495
1683
|
}
|
|
1496
1684
|
|
|
1497
1685
|
TEST(EndsWithTest, CanDescribeSelf) {
|
|
@@ -1505,34 +1693,61 @@ TEST(MatchesRegexTest, MatchesStringMatchingGivenRegex) {
|
|
|
1505
1693
|
const Matcher<const char*> m1 = MatchesRegex("a.*z");
|
|
1506
1694
|
EXPECT_TRUE(m1.Matches("az"));
|
|
1507
1695
|
EXPECT_TRUE(m1.Matches("abcz"));
|
|
1508
|
-
EXPECT_FALSE(m1.Matches(
|
|
1696
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1509
1697
|
|
|
1510
|
-
const Matcher<const string&> m2 = MatchesRegex(new RE("a.*z"));
|
|
1698
|
+
const Matcher<const std::string&> m2 = MatchesRegex(new RE("a.*z"));
|
|
1511
1699
|
EXPECT_TRUE(m2.Matches("azbz"));
|
|
1512
1700
|
EXPECT_FALSE(m2.Matches("az1"));
|
|
1513
1701
|
EXPECT_FALSE(m2.Matches("1az"));
|
|
1702
|
+
|
|
1703
|
+
#if GTEST_HAS_ABSL
|
|
1704
|
+
const Matcher<const absl::string_view&> m3 = MatchesRegex("a.*z");
|
|
1705
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("az")));
|
|
1706
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("abcz")));
|
|
1707
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("1az")));
|
|
1708
|
+
EXPECT_FALSE(m3.Matches(absl::string_view()));
|
|
1709
|
+
const Matcher<const absl::string_view&> m4 = MatchesRegex("");
|
|
1710
|
+
EXPECT_TRUE(m4.Matches(absl::string_view("")));
|
|
1711
|
+
EXPECT_TRUE(m4.Matches(absl::string_view()));
|
|
1712
|
+
#endif // GTEST_HAS_ABSL
|
|
1514
1713
|
}
|
|
1515
1714
|
|
|
1516
1715
|
TEST(MatchesRegexTest, CanDescribeSelf) {
|
|
1517
|
-
Matcher<const std::string> m1 = MatchesRegex(string("Hi.*"));
|
|
1716
|
+
Matcher<const std::string> m1 = MatchesRegex(std::string("Hi.*"));
|
|
1518
1717
|
EXPECT_EQ("matches regular expression \"Hi.*\"", Describe(m1));
|
|
1519
1718
|
|
|
1520
1719
|
Matcher<const char*> m2 = MatchesRegex(new RE("a.*"));
|
|
1521
1720
|
EXPECT_EQ("matches regular expression \"a.*\"", Describe(m2));
|
|
1721
|
+
|
|
1722
|
+
#if GTEST_HAS_ABSL
|
|
1723
|
+
Matcher<const absl::string_view> m3 = MatchesRegex(new RE("0.*"));
|
|
1724
|
+
EXPECT_EQ("matches regular expression \"0.*\"", Describe(m3));
|
|
1725
|
+
#endif // GTEST_HAS_ABSL
|
|
1522
1726
|
}
|
|
1523
1727
|
|
|
1524
1728
|
// Tests ContainsRegex().
|
|
1525
1729
|
|
|
1526
1730
|
TEST(ContainsRegexTest, MatchesStringContainingGivenRegex) {
|
|
1527
|
-
const Matcher<const char*> m1 = ContainsRegex(string("a.*z"));
|
|
1731
|
+
const Matcher<const char*> m1 = ContainsRegex(std::string("a.*z"));
|
|
1528
1732
|
EXPECT_TRUE(m1.Matches("az"));
|
|
1529
1733
|
EXPECT_TRUE(m1.Matches("0abcz1"));
|
|
1530
|
-
EXPECT_FALSE(m1.Matches(
|
|
1734
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1531
1735
|
|
|
1532
|
-
const Matcher<const string&> m2 = ContainsRegex(new RE("a.*z"));
|
|
1736
|
+
const Matcher<const std::string&> m2 = ContainsRegex(new RE("a.*z"));
|
|
1533
1737
|
EXPECT_TRUE(m2.Matches("azbz"));
|
|
1534
1738
|
EXPECT_TRUE(m2.Matches("az1"));
|
|
1535
1739
|
EXPECT_FALSE(m2.Matches("1a"));
|
|
1740
|
+
|
|
1741
|
+
#if GTEST_HAS_ABSL
|
|
1742
|
+
const Matcher<const absl::string_view&> m3 = ContainsRegex(new RE("a.*z"));
|
|
1743
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("azbz")));
|
|
1744
|
+
EXPECT_TRUE(m3.Matches(absl::string_view("az1")));
|
|
1745
|
+
EXPECT_FALSE(m3.Matches(absl::string_view("1a")));
|
|
1746
|
+
EXPECT_FALSE(m3.Matches(absl::string_view()));
|
|
1747
|
+
const Matcher<const absl::string_view&> m4 = ContainsRegex("");
|
|
1748
|
+
EXPECT_TRUE(m4.Matches(absl::string_view("")));
|
|
1749
|
+
EXPECT_TRUE(m4.Matches(absl::string_view()));
|
|
1750
|
+
#endif // GTEST_HAS_ABSL
|
|
1536
1751
|
}
|
|
1537
1752
|
|
|
1538
1753
|
TEST(ContainsRegexTest, CanDescribeSelf) {
|
|
@@ -1541,6 +1756,11 @@ TEST(ContainsRegexTest, CanDescribeSelf) {
|
|
|
1541
1756
|
|
|
1542
1757
|
Matcher<const char*> m2 = ContainsRegex(new RE("a.*"));
|
|
1543
1758
|
EXPECT_EQ("contains regular expression \"a.*\"", Describe(m2));
|
|
1759
|
+
|
|
1760
|
+
#if GTEST_HAS_ABSL
|
|
1761
|
+
Matcher<const absl::string_view> m3 = ContainsRegex(new RE("0.*"));
|
|
1762
|
+
EXPECT_EQ("contains regular expression \"0.*\"", Describe(m3));
|
|
1763
|
+
#endif // GTEST_HAS_ABSL
|
|
1544
1764
|
}
|
|
1545
1765
|
|
|
1546
1766
|
// Tests for wide strings.
|
|
@@ -1549,7 +1769,7 @@ TEST(StdWideStrEqTest, MatchesEqual) {
|
|
|
1549
1769
|
Matcher<const wchar_t*> m = StrEq(::std::wstring(L"Hello"));
|
|
1550
1770
|
EXPECT_TRUE(m.Matches(L"Hello"));
|
|
1551
1771
|
EXPECT_FALSE(m.Matches(L"hello"));
|
|
1552
|
-
EXPECT_FALSE(m.Matches(
|
|
1772
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
1553
1773
|
|
|
1554
1774
|
Matcher<const ::std::wstring&> m2 = StrEq(L"Hello");
|
|
1555
1775
|
EXPECT_TRUE(m2.Matches(L"Hello"));
|
|
@@ -1589,7 +1809,7 @@ TEST(StdWideStrEqTest, CanDescribeSelf) {
|
|
|
1589
1809
|
TEST(StdWideStrNeTest, MatchesUnequalString) {
|
|
1590
1810
|
Matcher<const wchar_t*> m = StrNe(L"Hello");
|
|
1591
1811
|
EXPECT_TRUE(m.Matches(L""));
|
|
1592
|
-
EXPECT_TRUE(m.Matches(
|
|
1812
|
+
EXPECT_TRUE(m.Matches(nullptr));
|
|
1593
1813
|
EXPECT_FALSE(m.Matches(L"Hello"));
|
|
1594
1814
|
|
|
1595
1815
|
Matcher< ::std::wstring> m2 = StrNe(::std::wstring(L"Hello"));
|
|
@@ -1607,7 +1827,7 @@ TEST(StdWideStrCaseEqTest, MatchesEqualStringIgnoringCase) {
|
|
|
1607
1827
|
EXPECT_TRUE(m.Matches(L"Hello"));
|
|
1608
1828
|
EXPECT_TRUE(m.Matches(L"hello"));
|
|
1609
1829
|
EXPECT_FALSE(m.Matches(L"Hi"));
|
|
1610
|
-
EXPECT_FALSE(m.Matches(
|
|
1830
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
1611
1831
|
|
|
1612
1832
|
Matcher<const ::std::wstring&> m2 = StrCaseEq(L"Hello");
|
|
1613
1833
|
EXPECT_TRUE(m2.Matches(L"hello"));
|
|
@@ -1647,7 +1867,7 @@ TEST(StdWideStrCaseEqTest, CanDescribeSelf) {
|
|
|
1647
1867
|
TEST(StdWideStrCaseNeTest, MatchesUnequalStringIgnoringCase) {
|
|
1648
1868
|
Matcher<const wchar_t*> m = StrCaseNe(L"Hello");
|
|
1649
1869
|
EXPECT_TRUE(m.Matches(L"Hi"));
|
|
1650
|
-
EXPECT_TRUE(m.Matches(
|
|
1870
|
+
EXPECT_TRUE(m.Matches(nullptr));
|
|
1651
1871
|
EXPECT_FALSE(m.Matches(L"Hello"));
|
|
1652
1872
|
EXPECT_FALSE(m.Matches(L"hello"));
|
|
1653
1873
|
|
|
@@ -1677,12 +1897,12 @@ TEST(StdWideHasSubstrTest, WorksForCStrings) {
|
|
|
1677
1897
|
const Matcher<wchar_t*> m1 = HasSubstr(L"foo");
|
|
1678
1898
|
EXPECT_TRUE(m1.Matches(const_cast<wchar_t*>(L"I love food.")));
|
|
1679
1899
|
EXPECT_FALSE(m1.Matches(const_cast<wchar_t*>(L"tofo")));
|
|
1680
|
-
EXPECT_FALSE(m1.Matches(
|
|
1900
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1681
1901
|
|
|
1682
1902
|
const Matcher<const wchar_t*> m2 = HasSubstr(L"foo");
|
|
1683
1903
|
EXPECT_TRUE(m2.Matches(L"I love food."));
|
|
1684
1904
|
EXPECT_FALSE(m2.Matches(L"tofo"));
|
|
1685
|
-
EXPECT_FALSE(m2.Matches(
|
|
1905
|
+
EXPECT_FALSE(m2.Matches(nullptr));
|
|
1686
1906
|
}
|
|
1687
1907
|
|
|
1688
1908
|
// Tests that HasSubstr(s) describes itself properly.
|
|
@@ -1697,7 +1917,7 @@ TEST(StdWideStartsWithTest, MatchesStringWithGivenPrefix) {
|
|
|
1697
1917
|
const Matcher<const wchar_t*> m1 = StartsWith(::std::wstring(L""));
|
|
1698
1918
|
EXPECT_TRUE(m1.Matches(L"Hi"));
|
|
1699
1919
|
EXPECT_TRUE(m1.Matches(L""));
|
|
1700
|
-
EXPECT_FALSE(m1.Matches(
|
|
1920
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1701
1921
|
|
|
1702
1922
|
const Matcher<const ::std::wstring&> m2 = StartsWith(L"Hi");
|
|
1703
1923
|
EXPECT_TRUE(m2.Matches(L"Hi"));
|
|
@@ -1718,7 +1938,7 @@ TEST(StdWideEndsWithTest, MatchesStringWithGivenSuffix) {
|
|
|
1718
1938
|
const Matcher<const wchar_t*> m1 = EndsWith(L"");
|
|
1719
1939
|
EXPECT_TRUE(m1.Matches(L"Hi"));
|
|
1720
1940
|
EXPECT_TRUE(m1.Matches(L""));
|
|
1721
|
-
EXPECT_FALSE(m1.Matches(
|
|
1941
|
+
EXPECT_FALSE(m1.Matches(nullptr));
|
|
1722
1942
|
|
|
1723
1943
|
const Matcher<const ::std::wstring&> m2 = EndsWith(::std::wstring(L"Hi"));
|
|
1724
1944
|
EXPECT_TRUE(m2.Matches(L"Hi"));
|
|
@@ -1735,199 +1955,7 @@ TEST(StdWideEndsWithTest, CanDescribeSelf) {
|
|
|
1735
1955
|
|
|
1736
1956
|
#endif // GTEST_HAS_STD_WSTRING
|
|
1737
1957
|
|
|
1738
|
-
|
|
1739
|
-
TEST(GlobalWideStrEqTest, MatchesEqual) {
|
|
1740
|
-
Matcher<const wchar_t*> m = StrEq(::wstring(L"Hello"));
|
|
1741
|
-
EXPECT_TRUE(m.Matches(L"Hello"));
|
|
1742
|
-
EXPECT_FALSE(m.Matches(L"hello"));
|
|
1743
|
-
EXPECT_FALSE(m.Matches(NULL));
|
|
1744
|
-
|
|
1745
|
-
Matcher<const ::wstring&> m2 = StrEq(L"Hello");
|
|
1746
|
-
EXPECT_TRUE(m2.Matches(L"Hello"));
|
|
1747
|
-
EXPECT_FALSE(m2.Matches(L"Hi"));
|
|
1748
|
-
|
|
1749
|
-
Matcher<const ::wstring&> m3 = StrEq(L"\xD3\x576\x8D3\xC74D");
|
|
1750
|
-
EXPECT_TRUE(m3.Matches(L"\xD3\x576\x8D3\xC74D"));
|
|
1751
|
-
EXPECT_FALSE(m3.Matches(L"\xD3\x576\x8D3\xC74E"));
|
|
1752
|
-
|
|
1753
|
-
::wstring str(L"01204500800");
|
|
1754
|
-
str[3] = L'\0';
|
|
1755
|
-
Matcher<const ::wstring&> m4 = StrEq(str);
|
|
1756
|
-
EXPECT_TRUE(m4.Matches(str));
|
|
1757
|
-
str[0] = str[6] = str[7] = str[9] = str[10] = L'\0';
|
|
1758
|
-
Matcher<const ::wstring&> m5 = StrEq(str);
|
|
1759
|
-
EXPECT_TRUE(m5.Matches(str));
|
|
1760
|
-
}
|
|
1761
|
-
|
|
1762
|
-
TEST(GlobalWideStrEqTest, CanDescribeSelf) {
|
|
1763
|
-
Matcher< ::wstring> m = StrEq(L"Hi-\'\"?\\\a\b\f\n\r\t\v");
|
|
1764
|
-
EXPECT_EQ("is equal to L\"Hi-\'\\\"?\\\\\\a\\b\\f\\n\\r\\t\\v\"",
|
|
1765
|
-
Describe(m));
|
|
1766
|
-
|
|
1767
|
-
Matcher< ::wstring> m2 = StrEq(L"\xD3\x576\x8D3\xC74D");
|
|
1768
|
-
EXPECT_EQ("is equal to L\"\\xD3\\x576\\x8D3\\xC74D\"",
|
|
1769
|
-
Describe(m2));
|
|
1770
|
-
|
|
1771
|
-
::wstring str(L"01204500800");
|
|
1772
|
-
str[3] = L'\0';
|
|
1773
|
-
Matcher<const ::wstring&> m4 = StrEq(str);
|
|
1774
|
-
EXPECT_EQ("is equal to L\"012\\04500800\"", Describe(m4));
|
|
1775
|
-
str[0] = str[6] = str[7] = str[9] = str[10] = L'\0';
|
|
1776
|
-
Matcher<const ::wstring&> m5 = StrEq(str);
|
|
1777
|
-
EXPECT_EQ("is equal to L\"\\012\\045\\0\\08\\0\\0\"", Describe(m5));
|
|
1778
|
-
}
|
|
1779
|
-
|
|
1780
|
-
TEST(GlobalWideStrNeTest, MatchesUnequalString) {
|
|
1781
|
-
Matcher<const wchar_t*> m = StrNe(L"Hello");
|
|
1782
|
-
EXPECT_TRUE(m.Matches(L""));
|
|
1783
|
-
EXPECT_TRUE(m.Matches(NULL));
|
|
1784
|
-
EXPECT_FALSE(m.Matches(L"Hello"));
|
|
1785
|
-
|
|
1786
|
-
Matcher< ::wstring> m2 = StrNe(::wstring(L"Hello"));
|
|
1787
|
-
EXPECT_TRUE(m2.Matches(L"hello"));
|
|
1788
|
-
EXPECT_FALSE(m2.Matches(L"Hello"));
|
|
1789
|
-
}
|
|
1790
|
-
|
|
1791
|
-
TEST(GlobalWideStrNeTest, CanDescribeSelf) {
|
|
1792
|
-
Matcher<const wchar_t*> m = StrNe(L"Hi");
|
|
1793
|
-
EXPECT_EQ("isn't equal to L\"Hi\"", Describe(m));
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
|
-
TEST(GlobalWideStrCaseEqTest, MatchesEqualStringIgnoringCase) {
|
|
1797
|
-
Matcher<const wchar_t*> m = StrCaseEq(::wstring(L"Hello"));
|
|
1798
|
-
EXPECT_TRUE(m.Matches(L"Hello"));
|
|
1799
|
-
EXPECT_TRUE(m.Matches(L"hello"));
|
|
1800
|
-
EXPECT_FALSE(m.Matches(L"Hi"));
|
|
1801
|
-
EXPECT_FALSE(m.Matches(NULL));
|
|
1802
|
-
|
|
1803
|
-
Matcher<const ::wstring&> m2 = StrCaseEq(L"Hello");
|
|
1804
|
-
EXPECT_TRUE(m2.Matches(L"hello"));
|
|
1805
|
-
EXPECT_FALSE(m2.Matches(L"Hi"));
|
|
1806
|
-
}
|
|
1807
|
-
|
|
1808
|
-
TEST(GlobalWideStrCaseEqTest, MatchesEqualStringWith0IgnoringCase) {
|
|
1809
|
-
::wstring str1(L"oabocdooeoo");
|
|
1810
|
-
::wstring str2(L"OABOCDOOEOO");
|
|
1811
|
-
Matcher<const ::wstring&> m0 = StrCaseEq(str1);
|
|
1812
|
-
EXPECT_FALSE(m0.Matches(str2 + ::wstring(1, L'\0')));
|
|
1813
|
-
|
|
1814
|
-
str1[3] = str2[3] = L'\0';
|
|
1815
|
-
Matcher<const ::wstring&> m1 = StrCaseEq(str1);
|
|
1816
|
-
EXPECT_TRUE(m1.Matches(str2));
|
|
1817
|
-
|
|
1818
|
-
str1[0] = str1[6] = str1[7] = str1[10] = L'\0';
|
|
1819
|
-
str2[0] = str2[6] = str2[7] = str2[10] = L'\0';
|
|
1820
|
-
Matcher<const ::wstring&> m2 = StrCaseEq(str1);
|
|
1821
|
-
str1[9] = str2[9] = L'\0';
|
|
1822
|
-
EXPECT_FALSE(m2.Matches(str2));
|
|
1823
|
-
|
|
1824
|
-
Matcher<const ::wstring&> m3 = StrCaseEq(str1);
|
|
1825
|
-
EXPECT_TRUE(m3.Matches(str2));
|
|
1826
|
-
|
|
1827
|
-
EXPECT_FALSE(m3.Matches(str2 + L"x"));
|
|
1828
|
-
str2.append(1, L'\0');
|
|
1829
|
-
EXPECT_FALSE(m3.Matches(str2));
|
|
1830
|
-
EXPECT_FALSE(m3.Matches(::wstring(str2, 0, 9)));
|
|
1831
|
-
}
|
|
1832
|
-
|
|
1833
|
-
TEST(GlobalWideStrCaseEqTest, CanDescribeSelf) {
|
|
1834
|
-
Matcher< ::wstring> m = StrCaseEq(L"Hi");
|
|
1835
|
-
EXPECT_EQ("is equal to (ignoring case) L\"Hi\"", Describe(m));
|
|
1836
|
-
}
|
|
1837
|
-
|
|
1838
|
-
TEST(GlobalWideStrCaseNeTest, MatchesUnequalStringIgnoringCase) {
|
|
1839
|
-
Matcher<const wchar_t*> m = StrCaseNe(L"Hello");
|
|
1840
|
-
EXPECT_TRUE(m.Matches(L"Hi"));
|
|
1841
|
-
EXPECT_TRUE(m.Matches(NULL));
|
|
1842
|
-
EXPECT_FALSE(m.Matches(L"Hello"));
|
|
1843
|
-
EXPECT_FALSE(m.Matches(L"hello"));
|
|
1844
|
-
|
|
1845
|
-
Matcher< ::wstring> m2 = StrCaseNe(::wstring(L"Hello"));
|
|
1846
|
-
EXPECT_TRUE(m2.Matches(L""));
|
|
1847
|
-
EXPECT_FALSE(m2.Matches(L"Hello"));
|
|
1848
|
-
}
|
|
1849
|
-
|
|
1850
|
-
TEST(GlobalWideStrCaseNeTest, CanDescribeSelf) {
|
|
1851
|
-
Matcher<const wchar_t*> m = StrCaseNe(L"Hi");
|
|
1852
|
-
EXPECT_EQ("isn't equal to (ignoring case) L\"Hi\"", Describe(m));
|
|
1853
|
-
}
|
|
1854
|
-
|
|
1855
|
-
// Tests that HasSubstr() works for matching wstring-typed values.
|
|
1856
|
-
TEST(GlobalWideHasSubstrTest, WorksForStringClasses) {
|
|
1857
|
-
const Matcher< ::wstring> m1 = HasSubstr(L"foo");
|
|
1858
|
-
EXPECT_TRUE(m1.Matches(::wstring(L"I love food.")));
|
|
1859
|
-
EXPECT_FALSE(m1.Matches(::wstring(L"tofo")));
|
|
1860
|
-
|
|
1861
|
-
const Matcher<const ::wstring&> m2 = HasSubstr(L"foo");
|
|
1862
|
-
EXPECT_TRUE(m2.Matches(::wstring(L"I love food.")));
|
|
1863
|
-
EXPECT_FALSE(m2.Matches(::wstring(L"tofo")));
|
|
1864
|
-
}
|
|
1865
|
-
|
|
1866
|
-
// Tests that HasSubstr() works for matching C-wide-string-typed values.
|
|
1867
|
-
TEST(GlobalWideHasSubstrTest, WorksForCStrings) {
|
|
1868
|
-
const Matcher<wchar_t*> m1 = HasSubstr(L"foo");
|
|
1869
|
-
EXPECT_TRUE(m1.Matches(const_cast<wchar_t*>(L"I love food.")));
|
|
1870
|
-
EXPECT_FALSE(m1.Matches(const_cast<wchar_t*>(L"tofo")));
|
|
1871
|
-
EXPECT_FALSE(m1.Matches(NULL));
|
|
1872
|
-
|
|
1873
|
-
const Matcher<const wchar_t*> m2 = HasSubstr(L"foo");
|
|
1874
|
-
EXPECT_TRUE(m2.Matches(L"I love food."));
|
|
1875
|
-
EXPECT_FALSE(m2.Matches(L"tofo"));
|
|
1876
|
-
EXPECT_FALSE(m2.Matches(NULL));
|
|
1877
|
-
}
|
|
1878
|
-
|
|
1879
|
-
// Tests that HasSubstr(s) describes itself properly.
|
|
1880
|
-
TEST(GlobalWideHasSubstrTest, CanDescribeSelf) {
|
|
1881
|
-
Matcher< ::wstring> m = HasSubstr(L"foo\n\"");
|
|
1882
|
-
EXPECT_EQ("has substring L\"foo\\n\\\"\"", Describe(m));
|
|
1883
|
-
}
|
|
1884
|
-
|
|
1885
|
-
// Tests StartsWith(s).
|
|
1886
|
-
|
|
1887
|
-
TEST(GlobalWideStartsWithTest, MatchesStringWithGivenPrefix) {
|
|
1888
|
-
const Matcher<const wchar_t*> m1 = StartsWith(::wstring(L""));
|
|
1889
|
-
EXPECT_TRUE(m1.Matches(L"Hi"));
|
|
1890
|
-
EXPECT_TRUE(m1.Matches(L""));
|
|
1891
|
-
EXPECT_FALSE(m1.Matches(NULL));
|
|
1892
|
-
|
|
1893
|
-
const Matcher<const ::wstring&> m2 = StartsWith(L"Hi");
|
|
1894
|
-
EXPECT_TRUE(m2.Matches(L"Hi"));
|
|
1895
|
-
EXPECT_TRUE(m2.Matches(L"Hi Hi!"));
|
|
1896
|
-
EXPECT_TRUE(m2.Matches(L"High"));
|
|
1897
|
-
EXPECT_FALSE(m2.Matches(L"H"));
|
|
1898
|
-
EXPECT_FALSE(m2.Matches(L" Hi"));
|
|
1899
|
-
}
|
|
1900
|
-
|
|
1901
|
-
TEST(GlobalWideStartsWithTest, CanDescribeSelf) {
|
|
1902
|
-
Matcher<const ::wstring> m = StartsWith(L"Hi");
|
|
1903
|
-
EXPECT_EQ("starts with L\"Hi\"", Describe(m));
|
|
1904
|
-
}
|
|
1905
|
-
|
|
1906
|
-
// Tests EndsWith(s).
|
|
1907
|
-
|
|
1908
|
-
TEST(GlobalWideEndsWithTest, MatchesStringWithGivenSuffix) {
|
|
1909
|
-
const Matcher<const wchar_t*> m1 = EndsWith(L"");
|
|
1910
|
-
EXPECT_TRUE(m1.Matches(L"Hi"));
|
|
1911
|
-
EXPECT_TRUE(m1.Matches(L""));
|
|
1912
|
-
EXPECT_FALSE(m1.Matches(NULL));
|
|
1913
|
-
|
|
1914
|
-
const Matcher<const ::wstring&> m2 = EndsWith(::wstring(L"Hi"));
|
|
1915
|
-
EXPECT_TRUE(m2.Matches(L"Hi"));
|
|
1916
|
-
EXPECT_TRUE(m2.Matches(L"Wow Hi Hi"));
|
|
1917
|
-
EXPECT_TRUE(m2.Matches(L"Super Hi"));
|
|
1918
|
-
EXPECT_FALSE(m2.Matches(L"i"));
|
|
1919
|
-
EXPECT_FALSE(m2.Matches(L"Hi "));
|
|
1920
|
-
}
|
|
1921
|
-
|
|
1922
|
-
TEST(GlobalWideEndsWithTest, CanDescribeSelf) {
|
|
1923
|
-
Matcher<const ::wstring> m = EndsWith(L"Hi");
|
|
1924
|
-
EXPECT_EQ("ends with L\"Hi\"", Describe(m));
|
|
1925
|
-
}
|
|
1926
|
-
|
|
1927
|
-
#endif // GTEST_HAS_GLOBAL_WSTRING
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
typedef ::testing::tuple<long, int> Tuple2; // NOLINT
|
|
1958
|
+
typedef ::std::tuple<long, int> Tuple2; // NOLINT
|
|
1931
1959
|
|
|
1932
1960
|
// Tests that Eq() matches a 2-tuple where the first field == the
|
|
1933
1961
|
// second field.
|
|
@@ -2018,6 +2046,157 @@ TEST(Ne2Test, CanDescribeSelf) {
|
|
|
2018
2046
|
EXPECT_EQ("are an unequal pair", Describe(m));
|
|
2019
2047
|
}
|
|
2020
2048
|
|
|
2049
|
+
TEST(PairMatchBaseTest, WorksWithMoveOnly) {
|
|
2050
|
+
using Pointers = std::tuple<std::unique_ptr<int>, std::unique_ptr<int>>;
|
|
2051
|
+
Matcher<Pointers> matcher = Eq();
|
|
2052
|
+
Pointers pointers;
|
|
2053
|
+
// Tested values don't matter; the point is that matcher does not copy the
|
|
2054
|
+
// matched values.
|
|
2055
|
+
EXPECT_TRUE(matcher.Matches(pointers));
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
// Tests that FloatEq() matches a 2-tuple where
|
|
2059
|
+
// FloatEq(first field) matches the second field.
|
|
2060
|
+
TEST(FloatEq2Test, MatchesEqualArguments) {
|
|
2061
|
+
typedef ::std::tuple<float, float> Tpl;
|
|
2062
|
+
Matcher<const Tpl&> m = FloatEq();
|
|
2063
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2064
|
+
EXPECT_TRUE(m.Matches(Tpl(0.3f, 0.1f + 0.1f + 0.1f)));
|
|
2065
|
+
EXPECT_FALSE(m.Matches(Tpl(1.1f, 1.0f)));
|
|
2066
|
+
}
|
|
2067
|
+
|
|
2068
|
+
// Tests that FloatEq() describes itself properly.
|
|
2069
|
+
TEST(FloatEq2Test, CanDescribeSelf) {
|
|
2070
|
+
Matcher<const ::std::tuple<float, float>&> m = FloatEq();
|
|
2071
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2072
|
+
}
|
|
2073
|
+
|
|
2074
|
+
// Tests that NanSensitiveFloatEq() matches a 2-tuple where
|
|
2075
|
+
// NanSensitiveFloatEq(first field) matches the second field.
|
|
2076
|
+
TEST(NanSensitiveFloatEqTest, MatchesEqualArgumentsWithNaN) {
|
|
2077
|
+
typedef ::std::tuple<float, float> Tpl;
|
|
2078
|
+
Matcher<const Tpl&> m = NanSensitiveFloatEq();
|
|
2079
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2080
|
+
EXPECT_TRUE(m.Matches(Tpl(std::numeric_limits<float>::quiet_NaN(),
|
|
2081
|
+
std::numeric_limits<float>::quiet_NaN())));
|
|
2082
|
+
EXPECT_FALSE(m.Matches(Tpl(1.1f, 1.0f)));
|
|
2083
|
+
EXPECT_FALSE(m.Matches(Tpl(1.0f, std::numeric_limits<float>::quiet_NaN())));
|
|
2084
|
+
EXPECT_FALSE(m.Matches(Tpl(std::numeric_limits<float>::quiet_NaN(), 1.0f)));
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
// Tests that NanSensitiveFloatEq() describes itself properly.
|
|
2088
|
+
TEST(NanSensitiveFloatEqTest, CanDescribeSelfWithNaNs) {
|
|
2089
|
+
Matcher<const ::std::tuple<float, float>&> m = NanSensitiveFloatEq();
|
|
2090
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2091
|
+
}
|
|
2092
|
+
|
|
2093
|
+
// Tests that DoubleEq() matches a 2-tuple where
|
|
2094
|
+
// DoubleEq(first field) matches the second field.
|
|
2095
|
+
TEST(DoubleEq2Test, MatchesEqualArguments) {
|
|
2096
|
+
typedef ::std::tuple<double, double> Tpl;
|
|
2097
|
+
Matcher<const Tpl&> m = DoubleEq();
|
|
2098
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0, 1.0)));
|
|
2099
|
+
EXPECT_TRUE(m.Matches(Tpl(0.3, 0.1 + 0.1 + 0.1)));
|
|
2100
|
+
EXPECT_FALSE(m.Matches(Tpl(1.1, 1.0)));
|
|
2101
|
+
}
|
|
2102
|
+
|
|
2103
|
+
// Tests that DoubleEq() describes itself properly.
|
|
2104
|
+
TEST(DoubleEq2Test, CanDescribeSelf) {
|
|
2105
|
+
Matcher<const ::std::tuple<double, double>&> m = DoubleEq();
|
|
2106
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
// Tests that NanSensitiveDoubleEq() matches a 2-tuple where
|
|
2110
|
+
// NanSensitiveDoubleEq(first field) matches the second field.
|
|
2111
|
+
TEST(NanSensitiveDoubleEqTest, MatchesEqualArgumentsWithNaN) {
|
|
2112
|
+
typedef ::std::tuple<double, double> Tpl;
|
|
2113
|
+
Matcher<const Tpl&> m = NanSensitiveDoubleEq();
|
|
2114
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2115
|
+
EXPECT_TRUE(m.Matches(Tpl(std::numeric_limits<double>::quiet_NaN(),
|
|
2116
|
+
std::numeric_limits<double>::quiet_NaN())));
|
|
2117
|
+
EXPECT_FALSE(m.Matches(Tpl(1.1f, 1.0f)));
|
|
2118
|
+
EXPECT_FALSE(m.Matches(Tpl(1.0f, std::numeric_limits<double>::quiet_NaN())));
|
|
2119
|
+
EXPECT_FALSE(m.Matches(Tpl(std::numeric_limits<double>::quiet_NaN(), 1.0f)));
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
// Tests that DoubleEq() describes itself properly.
|
|
2123
|
+
TEST(NanSensitiveDoubleEqTest, CanDescribeSelfWithNaNs) {
|
|
2124
|
+
Matcher<const ::std::tuple<double, double>&> m = NanSensitiveDoubleEq();
|
|
2125
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
// Tests that FloatEq() matches a 2-tuple where
|
|
2129
|
+
// FloatNear(first field, max_abs_error) matches the second field.
|
|
2130
|
+
TEST(FloatNear2Test, MatchesEqualArguments) {
|
|
2131
|
+
typedef ::std::tuple<float, float> Tpl;
|
|
2132
|
+
Matcher<const Tpl&> m = FloatNear(0.5f);
|
|
2133
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2134
|
+
EXPECT_TRUE(m.Matches(Tpl(1.3f, 1.0f)));
|
|
2135
|
+
EXPECT_FALSE(m.Matches(Tpl(1.8f, 1.0f)));
|
|
2136
|
+
}
|
|
2137
|
+
|
|
2138
|
+
// Tests that FloatNear() describes itself properly.
|
|
2139
|
+
TEST(FloatNear2Test, CanDescribeSelf) {
|
|
2140
|
+
Matcher<const ::std::tuple<float, float>&> m = FloatNear(0.5f);
|
|
2141
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2144
|
+
// Tests that NanSensitiveFloatNear() matches a 2-tuple where
|
|
2145
|
+
// NanSensitiveFloatNear(first field) matches the second field.
|
|
2146
|
+
TEST(NanSensitiveFloatNearTest, MatchesNearbyArgumentsWithNaN) {
|
|
2147
|
+
typedef ::std::tuple<float, float> Tpl;
|
|
2148
|
+
Matcher<const Tpl&> m = NanSensitiveFloatNear(0.5f);
|
|
2149
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2150
|
+
EXPECT_TRUE(m.Matches(Tpl(1.1f, 1.0f)));
|
|
2151
|
+
EXPECT_TRUE(m.Matches(Tpl(std::numeric_limits<float>::quiet_NaN(),
|
|
2152
|
+
std::numeric_limits<float>::quiet_NaN())));
|
|
2153
|
+
EXPECT_FALSE(m.Matches(Tpl(1.6f, 1.0f)));
|
|
2154
|
+
EXPECT_FALSE(m.Matches(Tpl(1.0f, std::numeric_limits<float>::quiet_NaN())));
|
|
2155
|
+
EXPECT_FALSE(m.Matches(Tpl(std::numeric_limits<float>::quiet_NaN(), 1.0f)));
|
|
2156
|
+
}
|
|
2157
|
+
|
|
2158
|
+
// Tests that NanSensitiveFloatNear() describes itself properly.
|
|
2159
|
+
TEST(NanSensitiveFloatNearTest, CanDescribeSelfWithNaNs) {
|
|
2160
|
+
Matcher<const ::std::tuple<float, float>&> m = NanSensitiveFloatNear(0.5f);
|
|
2161
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
// Tests that FloatEq() matches a 2-tuple where
|
|
2165
|
+
// DoubleNear(first field, max_abs_error) matches the second field.
|
|
2166
|
+
TEST(DoubleNear2Test, MatchesEqualArguments) {
|
|
2167
|
+
typedef ::std::tuple<double, double> Tpl;
|
|
2168
|
+
Matcher<const Tpl&> m = DoubleNear(0.5);
|
|
2169
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0, 1.0)));
|
|
2170
|
+
EXPECT_TRUE(m.Matches(Tpl(1.3, 1.0)));
|
|
2171
|
+
EXPECT_FALSE(m.Matches(Tpl(1.8, 1.0)));
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
// Tests that DoubleNear() describes itself properly.
|
|
2175
|
+
TEST(DoubleNear2Test, CanDescribeSelf) {
|
|
2176
|
+
Matcher<const ::std::tuple<double, double>&> m = DoubleNear(0.5);
|
|
2177
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
// Tests that NanSensitiveDoubleNear() matches a 2-tuple where
|
|
2181
|
+
// NanSensitiveDoubleNear(first field) matches the second field.
|
|
2182
|
+
TEST(NanSensitiveDoubleNearTest, MatchesNearbyArgumentsWithNaN) {
|
|
2183
|
+
typedef ::std::tuple<double, double> Tpl;
|
|
2184
|
+
Matcher<const Tpl&> m = NanSensitiveDoubleNear(0.5f);
|
|
2185
|
+
EXPECT_TRUE(m.Matches(Tpl(1.0f, 1.0f)));
|
|
2186
|
+
EXPECT_TRUE(m.Matches(Tpl(1.1f, 1.0f)));
|
|
2187
|
+
EXPECT_TRUE(m.Matches(Tpl(std::numeric_limits<double>::quiet_NaN(),
|
|
2188
|
+
std::numeric_limits<double>::quiet_NaN())));
|
|
2189
|
+
EXPECT_FALSE(m.Matches(Tpl(1.6f, 1.0f)));
|
|
2190
|
+
EXPECT_FALSE(m.Matches(Tpl(1.0f, std::numeric_limits<double>::quiet_NaN())));
|
|
2191
|
+
EXPECT_FALSE(m.Matches(Tpl(std::numeric_limits<double>::quiet_NaN(), 1.0f)));
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
// Tests that NanSensitiveDoubleNear() describes itself properly.
|
|
2195
|
+
TEST(NanSensitiveDoubleNearTest, CanDescribeSelfWithNaNs) {
|
|
2196
|
+
Matcher<const ::std::tuple<double, double>&> m = NanSensitiveDoubleNear(0.5f);
|
|
2197
|
+
EXPECT_EQ("are an almost-equal pair", Describe(m));
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2021
2200
|
// Tests that Not(m) matches any value that doesn't match m.
|
|
2022
2201
|
TEST(NotTest, NegatesMatcher) {
|
|
2023
2202
|
Matcher<int> m;
|
|
@@ -2096,29 +2275,16 @@ TEST(AllOfTest, MatchesWhenAllMatch) {
|
|
|
2096
2275
|
Ne(8), Ne(9)));
|
|
2097
2276
|
AllOfMatches(10, AllOf(Ne(1), Ne(2), Ne(3), Ne(4), Ne(5), Ne(6), Ne(7), Ne(8),
|
|
2098
2277
|
Ne(9), Ne(10)));
|
|
2278
|
+
AllOfMatches(
|
|
2279
|
+
50, AllOf(Ne(1), Ne(2), Ne(3), Ne(4), Ne(5), Ne(6), Ne(7), Ne(8), Ne(9),
|
|
2280
|
+
Ne(10), Ne(11), Ne(12), Ne(13), Ne(14), Ne(15), Ne(16), Ne(17),
|
|
2281
|
+
Ne(18), Ne(19), Ne(20), Ne(21), Ne(22), Ne(23), Ne(24), Ne(25),
|
|
2282
|
+
Ne(26), Ne(27), Ne(28), Ne(29), Ne(30), Ne(31), Ne(32), Ne(33),
|
|
2283
|
+
Ne(34), Ne(35), Ne(36), Ne(37), Ne(38), Ne(39), Ne(40), Ne(41),
|
|
2284
|
+
Ne(42), Ne(43), Ne(44), Ne(45), Ne(46), Ne(47), Ne(48), Ne(49),
|
|
2285
|
+
Ne(50)));
|
|
2099
2286
|
}
|
|
2100
2287
|
|
|
2101
|
-
#if GTEST_LANG_CXX11
|
|
2102
|
-
// Tests the variadic version of the AllOfMatcher.
|
|
2103
|
-
TEST(AllOfTest, VariadicMatchesWhenAllMatch) {
|
|
2104
|
-
// Make sure AllOf is defined in the right namespace and does not depend on
|
|
2105
|
-
// ADL.
|
|
2106
|
-
::testing::AllOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
|
2107
|
-
Matcher<int> m = AllOf(Ne(1), Ne(2), Ne(3), Ne(4), Ne(5), Ne(6), Ne(7), Ne(8),
|
|
2108
|
-
Ne(9), Ne(10), Ne(11));
|
|
2109
|
-
EXPECT_THAT(Describe(m), EndsWith("and (isn't equal to 11))))))))))"));
|
|
2110
|
-
AllOfMatches(11, m);
|
|
2111
|
-
AllOfMatches(50, AllOf(Ne(1), Ne(2), Ne(3), Ne(4), Ne(5), Ne(6), Ne(7), Ne(8),
|
|
2112
|
-
Ne(9), Ne(10), Ne(11), Ne(12), Ne(13), Ne(14), Ne(15),
|
|
2113
|
-
Ne(16), Ne(17), Ne(18), Ne(19), Ne(20), Ne(21), Ne(22),
|
|
2114
|
-
Ne(23), Ne(24), Ne(25), Ne(26), Ne(27), Ne(28), Ne(29),
|
|
2115
|
-
Ne(30), Ne(31), Ne(32), Ne(33), Ne(34), Ne(35), Ne(36),
|
|
2116
|
-
Ne(37), Ne(38), Ne(39), Ne(40), Ne(41), Ne(42), Ne(43),
|
|
2117
|
-
Ne(44), Ne(45), Ne(46), Ne(47), Ne(48), Ne(49),
|
|
2118
|
-
Ne(50)));
|
|
2119
|
-
}
|
|
2120
|
-
|
|
2121
|
-
#endif // GTEST_LANG_CXX11
|
|
2122
2288
|
|
|
2123
2289
|
// Tests that AllOf(m1, ..., mn) describes itself properly.
|
|
2124
2290
|
TEST(AllOfTest, CanDescribeSelf) {
|
|
@@ -2127,59 +2293,51 @@ TEST(AllOfTest, CanDescribeSelf) {
|
|
|
2127
2293
|
EXPECT_EQ("(is <= 2) and (is >= 1)", Describe(m));
|
|
2128
2294
|
|
|
2129
2295
|
m = AllOf(Gt(0), Ne(1), Ne(2));
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
Describe(m));
|
|
2134
|
-
|
|
2296
|
+
std::string expected_descr1 =
|
|
2297
|
+
"(is > 0) and (isn't equal to 1) and (isn't equal to 2)";
|
|
2298
|
+
EXPECT_EQ(expected_descr1, Describe(m));
|
|
2135
2299
|
|
|
2136
2300
|
m = AllOf(Gt(0), Ne(1), Ne(2), Ne(3));
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
Describe(m));
|
|
2142
|
-
|
|
2301
|
+
std::string expected_descr2 =
|
|
2302
|
+
"(is > 0) and (isn't equal to 1) and (isn't equal to 2) and (isn't equal "
|
|
2303
|
+
"to 3)";
|
|
2304
|
+
EXPECT_EQ(expected_descr2, Describe(m));
|
|
2143
2305
|
|
|
2144
2306
|
m = AllOf(Ge(0), Lt(10), Ne(3), Ne(5), Ne(7));
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
"(isn't equal to 7)))",
|
|
2150
|
-
Describe(m));
|
|
2307
|
+
std::string expected_descr3 =
|
|
2308
|
+
"(is >= 0) and (is < 10) and (isn't equal to 3) and (isn't equal to 5) "
|
|
2309
|
+
"and (isn't equal to 7)";
|
|
2310
|
+
EXPECT_EQ(expected_descr3, Describe(m));
|
|
2151
2311
|
}
|
|
2152
2312
|
|
|
2153
2313
|
// Tests that AllOf(m1, ..., mn) describes its negation properly.
|
|
2154
2314
|
TEST(AllOfTest, CanDescribeNegation) {
|
|
2155
2315
|
Matcher<int> m;
|
|
2156
2316
|
m = AllOf(Le(2), Ge(1));
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
DescribeNegation(m));
|
|
2317
|
+
std::string expected_descr4 = "(isn't <= 2) or (isn't >= 1)";
|
|
2318
|
+
EXPECT_EQ(expected_descr4, DescribeNegation(m));
|
|
2160
2319
|
|
|
2161
2320
|
m = AllOf(Gt(0), Ne(1), Ne(2));
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
DescribeNegation(m));
|
|
2166
|
-
|
|
2321
|
+
std::string expected_descr5 =
|
|
2322
|
+
"(isn't > 0) or (is equal to 1) or (is equal to 2)";
|
|
2323
|
+
EXPECT_EQ(expected_descr5, DescribeNegation(m));
|
|
2167
2324
|
|
|
2168
2325
|
m = AllOf(Gt(0), Ne(1), Ne(2), Ne(3));
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
"(is equal to 3))",
|
|
2173
|
-
DescribeNegation(m));
|
|
2174
|
-
|
|
2326
|
+
std::string expected_descr6 =
|
|
2327
|
+
"(isn't > 0) or (is equal to 1) or (is equal to 2) or (is equal to 3)";
|
|
2328
|
+
EXPECT_EQ(expected_descr6, DescribeNegation(m));
|
|
2175
2329
|
|
|
2176
2330
|
m = AllOf(Ge(0), Lt(10), Ne(3), Ne(5), Ne(7));
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2331
|
+
std::string expected_desr7 =
|
|
2332
|
+
"(isn't >= 0) or (isn't < 10) or (is equal to 3) or (is equal to 5) or "
|
|
2333
|
+
"(is equal to 7)";
|
|
2334
|
+
EXPECT_EQ(expected_desr7, DescribeNegation(m));
|
|
2335
|
+
|
|
2336
|
+
m = AllOf(Ne(1), Ne(2), Ne(3), Ne(4), Ne(5), Ne(6), Ne(7), Ne(8), Ne(9),
|
|
2337
|
+
Ne(10), Ne(11));
|
|
2338
|
+
AllOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
|
2339
|
+
EXPECT_THAT(Describe(m), EndsWith("and (isn't equal to 11)"));
|
|
2340
|
+
AllOfMatches(11, m);
|
|
2183
2341
|
}
|
|
2184
2342
|
|
|
2185
2343
|
// Tests that monomorphic matchers are safely cast by the AllOf matcher.
|
|
@@ -2241,7 +2399,7 @@ TEST(AllOfTest, ExplainsResult) {
|
|
|
2241
2399
|
}
|
|
2242
2400
|
|
|
2243
2401
|
// Helper to allow easy testing of AnyOf matchers with num parameters.
|
|
2244
|
-
void AnyOfMatches(int num, const Matcher<int>& m) {
|
|
2402
|
+
static void AnyOfMatches(int num, const Matcher<int>& m) {
|
|
2245
2403
|
SCOPED_TRACE(Describe(m));
|
|
2246
2404
|
EXPECT_FALSE(m.Matches(0));
|
|
2247
2405
|
for (int i = 1; i <= num; ++i) {
|
|
@@ -2250,10 +2408,20 @@ void AnyOfMatches(int num, const Matcher<int>& m) {
|
|
|
2250
2408
|
EXPECT_FALSE(m.Matches(num + 1));
|
|
2251
2409
|
}
|
|
2252
2410
|
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2411
|
+
static void AnyOfStringMatches(int num, const Matcher<std::string>& m) {
|
|
2412
|
+
SCOPED_TRACE(Describe(m));
|
|
2413
|
+
EXPECT_FALSE(m.Matches(std::to_string(0)));
|
|
2414
|
+
|
|
2415
|
+
for (int i = 1; i <= num; ++i) {
|
|
2416
|
+
EXPECT_TRUE(m.Matches(std::to_string(i)));
|
|
2417
|
+
}
|
|
2418
|
+
EXPECT_FALSE(m.Matches(std::to_string(num + 1)));
|
|
2419
|
+
}
|
|
2420
|
+
|
|
2421
|
+
// Tests that AnyOf(m1, ..., mn) matches any value that matches at
|
|
2422
|
+
// least one of the given matchers.
|
|
2423
|
+
TEST(AnyOfTest, MatchesWhenAnyMatches) {
|
|
2424
|
+
Matcher<int> m;
|
|
2257
2425
|
m = AnyOf(Le(1), Ge(3));
|
|
2258
2426
|
EXPECT_TRUE(m.Matches(1));
|
|
2259
2427
|
EXPECT_TRUE(m.Matches(4));
|
|
@@ -2293,50 +2461,75 @@ TEST(AnyOfTest, MatchesWhenAnyMatches) {
|
|
|
2293
2461
|
AnyOfMatches(10, AnyOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
|
|
2294
2462
|
}
|
|
2295
2463
|
|
|
2296
|
-
#if GTEST_LANG_CXX11
|
|
2297
2464
|
// Tests the variadic version of the AnyOfMatcher.
|
|
2298
2465
|
TEST(AnyOfTest, VariadicMatchesWhenAnyMatches) {
|
|
2299
2466
|
// Also make sure AnyOf is defined in the right namespace and does not depend
|
|
2300
2467
|
// on ADL.
|
|
2301
2468
|
Matcher<int> m = ::testing::AnyOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
|
2302
2469
|
|
|
2303
|
-
EXPECT_THAT(Describe(m), EndsWith("or (is equal to 11)
|
|
2470
|
+
EXPECT_THAT(Describe(m), EndsWith("or (is equal to 11)"));
|
|
2304
2471
|
AnyOfMatches(11, m);
|
|
2305
2472
|
AnyOfMatches(50, AnyOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
|
|
2306
2473
|
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
2307
2474
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
|
|
2308
2475
|
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
|
|
2309
2476
|
41, 42, 43, 44, 45, 46, 47, 48, 49, 50));
|
|
2477
|
+
AnyOfStringMatches(
|
|
2478
|
+
50, AnyOf("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
|
|
2479
|
+
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22",
|
|
2480
|
+
"23", "24", "25", "26", "27", "28", "29", "30", "31", "32",
|
|
2481
|
+
"33", "34", "35", "36", "37", "38", "39", "40", "41", "42",
|
|
2482
|
+
"43", "44", "45", "46", "47", "48", "49", "50"));
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
// Tests the variadic version of the ElementsAreMatcher
|
|
2486
|
+
TEST(ElementsAreTest, HugeMatcher) {
|
|
2487
|
+
vector<int> test_vector{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
|
|
2488
|
+
|
|
2489
|
+
EXPECT_THAT(test_vector,
|
|
2490
|
+
ElementsAre(Eq(1), Eq(2), Lt(13), Eq(4), Eq(5), Eq(6), Eq(7),
|
|
2491
|
+
Eq(8), Eq(9), Eq(10), Gt(1), Eq(12)));
|
|
2492
|
+
}
|
|
2493
|
+
|
|
2494
|
+
// Tests the variadic version of the UnorderedElementsAreMatcher
|
|
2495
|
+
TEST(ElementsAreTest, HugeMatcherStr) {
|
|
2496
|
+
vector<std::string> test_vector{
|
|
2497
|
+
"literal_string", "", "", "", "", "", "", "", "", "", "", ""};
|
|
2498
|
+
|
|
2499
|
+
EXPECT_THAT(test_vector, UnorderedElementsAre("literal_string", _, _, _, _, _,
|
|
2500
|
+
_, _, _, _, _, _));
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
// Tests the variadic version of the UnorderedElementsAreMatcher
|
|
2504
|
+
TEST(ElementsAreTest, HugeMatcherUnordered) {
|
|
2505
|
+
vector<int> test_vector{2, 1, 8, 5, 4, 6, 7, 3, 9, 12, 11, 10};
|
|
2506
|
+
|
|
2507
|
+
EXPECT_THAT(test_vector, UnorderedElementsAre(
|
|
2508
|
+
Eq(2), Eq(1), Gt(7), Eq(5), Eq(4), Eq(6), Eq(7),
|
|
2509
|
+
Eq(3), Eq(9), Eq(12), Eq(11), Ne(122)));
|
|
2310
2510
|
}
|
|
2311
2511
|
|
|
2312
|
-
#endif // GTEST_LANG_CXX11
|
|
2313
2512
|
|
|
2314
2513
|
// Tests that AnyOf(m1, ..., mn) describes itself properly.
|
|
2315
2514
|
TEST(AnyOfTest, CanDescribeSelf) {
|
|
2316
2515
|
Matcher<int> m;
|
|
2317
2516
|
m = AnyOf(Le(1), Ge(3));
|
|
2517
|
+
|
|
2318
2518
|
EXPECT_EQ("(is <= 1) or (is >= 3)",
|
|
2319
2519
|
Describe(m));
|
|
2320
2520
|
|
|
2321
2521
|
m = AnyOf(Lt(0), Eq(1), Eq(2));
|
|
2322
|
-
EXPECT_EQ("(is < 0) or "
|
|
2323
|
-
"((is equal to 1) or (is equal to 2))",
|
|
2324
|
-
Describe(m));
|
|
2522
|
+
EXPECT_EQ("(is < 0) or (is equal to 1) or (is equal to 2)", Describe(m));
|
|
2325
2523
|
|
|
2326
2524
|
m = AnyOf(Lt(0), Eq(1), Eq(2), Eq(3));
|
|
2327
|
-
EXPECT_EQ("(
|
|
2328
|
-
"(is equal to 1)) or "
|
|
2329
|
-
"((is equal to 2) or "
|
|
2330
|
-
"(is equal to 3))",
|
|
2525
|
+
EXPECT_EQ("(is < 0) or (is equal to 1) or (is equal to 2) or (is equal to 3)",
|
|
2331
2526
|
Describe(m));
|
|
2332
2527
|
|
|
2333
2528
|
m = AnyOf(Le(0), Gt(10), 3, 5, 7);
|
|
2334
|
-
EXPECT_EQ(
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
"(is equal to 7)))",
|
|
2339
|
-
Describe(m));
|
|
2529
|
+
EXPECT_EQ(
|
|
2530
|
+
"(is <= 0) or (is > 10) or (is equal to 3) or (is equal to 5) or (is "
|
|
2531
|
+
"equal to 7)",
|
|
2532
|
+
Describe(m));
|
|
2340
2533
|
}
|
|
2341
2534
|
|
|
2342
2535
|
// Tests that AnyOf(m1, ..., mn) describes its negation properly.
|
|
@@ -2347,24 +2540,20 @@ TEST(AnyOfTest, CanDescribeNegation) {
|
|
|
2347
2540
|
DescribeNegation(m));
|
|
2348
2541
|
|
|
2349
2542
|
m = AnyOf(Lt(0), Eq(1), Eq(2));
|
|
2350
|
-
EXPECT_EQ("(isn't < 0) and "
|
|
2351
|
-
"((isn't equal to 1) and (isn't equal to 2))",
|
|
2543
|
+
EXPECT_EQ("(isn't < 0) and (isn't equal to 1) and (isn't equal to 2)",
|
|
2352
2544
|
DescribeNegation(m));
|
|
2353
2545
|
|
|
2354
2546
|
m = AnyOf(Lt(0), Eq(1), Eq(2), Eq(3));
|
|
2355
|
-
EXPECT_EQ(
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
DescribeNegation(m));
|
|
2547
|
+
EXPECT_EQ(
|
|
2548
|
+
"(isn't < 0) and (isn't equal to 1) and (isn't equal to 2) and (isn't "
|
|
2549
|
+
"equal to 3)",
|
|
2550
|
+
DescribeNegation(m));
|
|
2360
2551
|
|
|
2361
2552
|
m = AnyOf(Le(0), Gt(10), 3, 5, 7);
|
|
2362
|
-
EXPECT_EQ(
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
"(isn't equal to 7)))",
|
|
2367
|
-
DescribeNegation(m));
|
|
2553
|
+
EXPECT_EQ(
|
|
2554
|
+
"(isn't <= 0) and (isn't > 10) and (isn't equal to 3) and (isn't equal "
|
|
2555
|
+
"to 5) and (isn't equal to 7)",
|
|
2556
|
+
DescribeNegation(m));
|
|
2368
2557
|
}
|
|
2369
2558
|
|
|
2370
2559
|
// Tests that monomorphic matchers are safely cast by the AnyOf matcher.
|
|
@@ -2583,9 +2772,25 @@ TEST(ExplainMatchResultTest, WorksInsideMATCHER) {
|
|
|
2583
2772
|
EXPECT_THAT(0, Really(Eq(0)));
|
|
2584
2773
|
}
|
|
2585
2774
|
|
|
2775
|
+
TEST(DescribeMatcherTest, WorksWithValue) {
|
|
2776
|
+
EXPECT_EQ("is equal to 42", DescribeMatcher<int>(42));
|
|
2777
|
+
EXPECT_EQ("isn't equal to 42", DescribeMatcher<int>(42, true));
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2780
|
+
TEST(DescribeMatcherTest, WorksWithMonomorphicMatcher) {
|
|
2781
|
+
const Matcher<int> monomorphic = Le(0);
|
|
2782
|
+
EXPECT_EQ("is <= 0", DescribeMatcher<int>(monomorphic));
|
|
2783
|
+
EXPECT_EQ("isn't <= 0", DescribeMatcher<int>(monomorphic, true));
|
|
2784
|
+
}
|
|
2785
|
+
|
|
2786
|
+
TEST(DescribeMatcherTest, WorksWithPolymorphicMatcher) {
|
|
2787
|
+
EXPECT_EQ("is even", DescribeMatcher<int>(PolymorphicIsEven()));
|
|
2788
|
+
EXPECT_EQ("is odd", DescribeMatcher<int>(PolymorphicIsEven(), true));
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2586
2791
|
TEST(AllArgsTest, WorksForTuple) {
|
|
2587
|
-
EXPECT_THAT(make_tuple(1, 2L), AllArgs(Lt()));
|
|
2588
|
-
EXPECT_THAT(make_tuple(2L, 1), Not(AllArgs(Lt())));
|
|
2792
|
+
EXPECT_THAT(std::make_tuple(1, 2L), AllArgs(Lt()));
|
|
2793
|
+
EXPECT_THAT(std::make_tuple(2L, 1), Not(AllArgs(Lt())));
|
|
2589
2794
|
}
|
|
2590
2795
|
|
|
2591
2796
|
TEST(AllArgsTest, WorksForNonTuple) {
|
|
@@ -2617,6 +2822,44 @@ TEST(AllArgsTest, WorksInWithClause) {
|
|
|
2617
2822
|
EXPECT_EQ(2, helper.Helper('a', 1));
|
|
2618
2823
|
}
|
|
2619
2824
|
|
|
2825
|
+
class OptionalMatchersHelper {
|
|
2826
|
+
public:
|
|
2827
|
+
OptionalMatchersHelper() {}
|
|
2828
|
+
|
|
2829
|
+
MOCK_METHOD0(NoArgs, int());
|
|
2830
|
+
|
|
2831
|
+
MOCK_METHOD1(OneArg, int(int y));
|
|
2832
|
+
|
|
2833
|
+
MOCK_METHOD2(TwoArgs, int(char x, int y));
|
|
2834
|
+
|
|
2835
|
+
MOCK_METHOD1(Overloaded, int(char x));
|
|
2836
|
+
MOCK_METHOD2(Overloaded, int(char x, int y));
|
|
2837
|
+
|
|
2838
|
+
private:
|
|
2839
|
+
GTEST_DISALLOW_COPY_AND_ASSIGN_(OptionalMatchersHelper);
|
|
2840
|
+
};
|
|
2841
|
+
|
|
2842
|
+
TEST(AllArgsTest, WorksWithoutMatchers) {
|
|
2843
|
+
OptionalMatchersHelper helper;
|
|
2844
|
+
|
|
2845
|
+
ON_CALL(helper, NoArgs).WillByDefault(Return(10));
|
|
2846
|
+
ON_CALL(helper, OneArg).WillByDefault(Return(20));
|
|
2847
|
+
ON_CALL(helper, TwoArgs).WillByDefault(Return(30));
|
|
2848
|
+
|
|
2849
|
+
EXPECT_EQ(10, helper.NoArgs());
|
|
2850
|
+
EXPECT_EQ(20, helper.OneArg(1));
|
|
2851
|
+
EXPECT_EQ(30, helper.TwoArgs('\1', 2));
|
|
2852
|
+
|
|
2853
|
+
EXPECT_CALL(helper, NoArgs).Times(1);
|
|
2854
|
+
EXPECT_CALL(helper, OneArg).WillOnce(Return(100));
|
|
2855
|
+
EXPECT_CALL(helper, OneArg(17)).WillOnce(Return(200));
|
|
2856
|
+
EXPECT_CALL(helper, TwoArgs).Times(0);
|
|
2857
|
+
|
|
2858
|
+
EXPECT_EQ(10, helper.NoArgs());
|
|
2859
|
+
EXPECT_EQ(100, helper.OneArg(1));
|
|
2860
|
+
EXPECT_EQ(200, helper.OneArg(17));
|
|
2861
|
+
}
|
|
2862
|
+
|
|
2620
2863
|
// Tests that ASSERT_THAT() and EXPECT_THAT() work when the value
|
|
2621
2864
|
// matches the matcher.
|
|
2622
2865
|
TEST(MatcherAssertionTest, WorksWhenMatcherIsSatisfied) {
|
|
@@ -2667,27 +2910,15 @@ TEST(MatcherAssertionTest, WorksForByRefArguments) {
|
|
|
2667
2910
|
"Actual: 0" + OfType("int") + ", which is located @");
|
|
2668
2911
|
}
|
|
2669
2912
|
|
|
2670
|
-
#if !GTEST_OS_SYMBIAN
|
|
2671
2913
|
// Tests that ASSERT_THAT() and EXPECT_THAT() work when the matcher is
|
|
2672
2914
|
// monomorphic.
|
|
2673
|
-
|
|
2674
|
-
// ASSERT_THAT("hello", starts_with_he) fails to compile with Nokia's
|
|
2675
|
-
// Symbian compiler: it tries to compile
|
|
2676
|
-
// template<T, U> class MatcherCastImpl { ...
|
|
2677
|
-
// virtual bool MatchAndExplain(T x, ...) const {
|
|
2678
|
-
// return source_matcher_.MatchAndExplain(static_cast<U>(x), ...);
|
|
2679
|
-
// with U == string and T == const char*
|
|
2680
|
-
// With ASSERT_THAT("hello"...) changed to ASSERT_THAT(string("hello") ... )
|
|
2681
|
-
// the compiler silently crashes with no output.
|
|
2682
|
-
// If MatcherCastImpl is changed to use U(x) instead of static_cast<U>(x)
|
|
2683
|
-
// the code compiles but the converted string is bogus.
|
|
2684
2915
|
TEST(MatcherAssertionTest, WorksForMonomorphicMatcher) {
|
|
2685
2916
|
Matcher<const char*> starts_with_he = StartsWith("he");
|
|
2686
2917
|
ASSERT_THAT("hello", starts_with_he);
|
|
2687
2918
|
|
|
2688
|
-
Matcher<const string&> ends_with_ok = EndsWith("ok");
|
|
2919
|
+
Matcher<const std::string&> ends_with_ok = EndsWith("ok");
|
|
2689
2920
|
ASSERT_THAT("book", ends_with_ok);
|
|
2690
|
-
const string bad = "bad";
|
|
2921
|
+
const std::string bad = "bad";
|
|
2691
2922
|
EXPECT_NONFATAL_FAILURE(EXPECT_THAT(bad, ends_with_ok),
|
|
2692
2923
|
"Value of: bad\n"
|
|
2693
2924
|
"Expected: ends with \"ok\"\n"
|
|
@@ -2698,7 +2929,6 @@ TEST(MatcherAssertionTest, WorksForMonomorphicMatcher) {
|
|
|
2698
2929
|
"Expected: is > 5\n"
|
|
2699
2930
|
" Actual: 5" + OfType("int"));
|
|
2700
2931
|
}
|
|
2701
|
-
#endif // !GTEST_OS_SYMBIAN
|
|
2702
2932
|
|
|
2703
2933
|
// Tests floating-point matchers.
|
|
2704
2934
|
template <typename RawType>
|
|
@@ -2712,18 +2942,22 @@ class FloatingPointTest : public testing::Test {
|
|
|
2712
2942
|
zero_bits_(Floating(0).bits()),
|
|
2713
2943
|
one_bits_(Floating(1).bits()),
|
|
2714
2944
|
infinity_bits_(Floating(Floating::Infinity()).bits()),
|
|
2715
|
-
close_to_positive_zero_(
|
|
2716
|
-
|
|
2717
|
-
|
|
2945
|
+
close_to_positive_zero_(
|
|
2946
|
+
Floating::ReinterpretBits(zero_bits_ + max_ulps_/2)),
|
|
2947
|
+
close_to_negative_zero_(
|
|
2948
|
+
-Floating::ReinterpretBits(zero_bits_ + max_ulps_ - max_ulps_/2)),
|
|
2949
|
+
further_from_negative_zero_(-Floating::ReinterpretBits(
|
|
2718
2950
|
zero_bits_ + max_ulps_ + 1 - max_ulps_/2)),
|
|
2719
|
-
close_to_one_(
|
|
2720
|
-
further_from_one_(
|
|
2951
|
+
close_to_one_(Floating::ReinterpretBits(one_bits_ + max_ulps_)),
|
|
2952
|
+
further_from_one_(Floating::ReinterpretBits(one_bits_ + max_ulps_ + 1)),
|
|
2721
2953
|
infinity_(Floating::Infinity()),
|
|
2722
|
-
close_to_infinity_(
|
|
2723
|
-
|
|
2954
|
+
close_to_infinity_(
|
|
2955
|
+
Floating::ReinterpretBits(infinity_bits_ - max_ulps_)),
|
|
2956
|
+
further_from_infinity_(
|
|
2957
|
+
Floating::ReinterpretBits(infinity_bits_ - max_ulps_ - 1)),
|
|
2724
2958
|
max_(Floating::Max()),
|
|
2725
|
-
nan1_(
|
|
2726
|
-
nan2_(
|
|
2959
|
+
nan1_(Floating::ReinterpretBits(Floating::kExponentBitMask | 1)),
|
|
2960
|
+
nan2_(Floating::ReinterpretBits(Floating::kExponentBitMask | 200)) {
|
|
2727
2961
|
}
|
|
2728
2962
|
|
|
2729
2963
|
void TestSize() {
|
|
@@ -2778,7 +3012,7 @@ class FloatingPointTest : public testing::Test {
|
|
|
2778
3012
|
|
|
2779
3013
|
// Pre-calculated numbers to be used by the tests.
|
|
2780
3014
|
|
|
2781
|
-
const
|
|
3015
|
+
const Bits max_ulps_;
|
|
2782
3016
|
|
|
2783
3017
|
const Bits zero_bits_; // The bits that represent 0.0.
|
|
2784
3018
|
const Bits one_bits_; // The bits that represent 1.0.
|
|
@@ -2804,12 +3038,6 @@ class FloatingPointTest : public testing::Test {
|
|
|
2804
3038
|
// Some NaNs.
|
|
2805
3039
|
const RawType nan1_;
|
|
2806
3040
|
const RawType nan2_;
|
|
2807
|
-
|
|
2808
|
-
private:
|
|
2809
|
-
template <typename T>
|
|
2810
|
-
static RawType AsBits(T value) {
|
|
2811
|
-
return Floating::ReinterpretBits(static_cast<Bits>(value));
|
|
2812
|
-
}
|
|
2813
3041
|
};
|
|
2814
3042
|
|
|
2815
3043
|
// Tests floating-point matchers with fixed epsilons.
|
|
@@ -3099,7 +3327,8 @@ TEST_F(DoubleNearTest, ExplainsResultWhenMatchFails) {
|
|
|
3099
3327
|
EXPECT_EQ("which is 0.2 from 2", Explain(DoubleNear(2.0, 0.1), 2.2));
|
|
3100
3328
|
EXPECT_EQ("which is -0.3 from 2", Explain(DoubleNear(2.0, 0.1), 1.7));
|
|
3101
3329
|
|
|
3102
|
-
const string explanation =
|
|
3330
|
+
const std::string explanation =
|
|
3331
|
+
Explain(DoubleNear(2.1, 1e-10), 2.1 + 1.2e-10);
|
|
3103
3332
|
// Different C++ implementations may print floating-point numbers
|
|
3104
3333
|
// slightly differently.
|
|
3105
3334
|
EXPECT_TRUE(explanation == "which is 1.2e-10 from 2.1" || // GCC
|
|
@@ -3146,7 +3375,7 @@ TEST(PointeeTest, RawPointer) {
|
|
|
3146
3375
|
EXPECT_TRUE(m.Matches(&n));
|
|
3147
3376
|
n = -1;
|
|
3148
3377
|
EXPECT_FALSE(m.Matches(&n));
|
|
3149
|
-
EXPECT_FALSE(m.Matches(
|
|
3378
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3150
3379
|
}
|
|
3151
3380
|
|
|
3152
3381
|
TEST(PointeeTest, RawPointerToConst) {
|
|
@@ -3156,7 +3385,7 @@ TEST(PointeeTest, RawPointerToConst) {
|
|
|
3156
3385
|
EXPECT_TRUE(m.Matches(&x));
|
|
3157
3386
|
x = -1;
|
|
3158
3387
|
EXPECT_FALSE(m.Matches(&x));
|
|
3159
|
-
EXPECT_FALSE(m.Matches(
|
|
3388
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3160
3389
|
}
|
|
3161
3390
|
|
|
3162
3391
|
TEST(PointeeTest, ReferenceToConstRawPointer) {
|
|
@@ -3166,7 +3395,7 @@ TEST(PointeeTest, ReferenceToConstRawPointer) {
|
|
|
3166
3395
|
EXPECT_TRUE(m.Matches(&n));
|
|
3167
3396
|
n = -1;
|
|
3168
3397
|
EXPECT_FALSE(m.Matches(&n));
|
|
3169
|
-
EXPECT_FALSE(m.Matches(
|
|
3398
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3170
3399
|
}
|
|
3171
3400
|
|
|
3172
3401
|
TEST(PointeeTest, ReferenceToNonConstRawPointer) {
|
|
@@ -3177,7 +3406,7 @@ TEST(PointeeTest, ReferenceToNonConstRawPointer) {
|
|
|
3177
3406
|
EXPECT_TRUE(m.Matches(p));
|
|
3178
3407
|
x = -1;
|
|
3179
3408
|
EXPECT_FALSE(m.Matches(p));
|
|
3180
|
-
p =
|
|
3409
|
+
p = nullptr;
|
|
3181
3410
|
EXPECT_FALSE(m.Matches(p));
|
|
3182
3411
|
}
|
|
3183
3412
|
|
|
@@ -3186,7 +3415,6 @@ MATCHER_P(FieldIIs, inner_matcher, "") {
|
|
|
3186
3415
|
}
|
|
3187
3416
|
|
|
3188
3417
|
#if GTEST_HAS_RTTI
|
|
3189
|
-
|
|
3190
3418
|
TEST(WhenDynamicCastToTest, SameType) {
|
|
3191
3419
|
Derived derived;
|
|
3192
3420
|
derived.i = 4;
|
|
@@ -3217,7 +3445,7 @@ TEST(WhenDynamicCastToTest, WrongTypes) {
|
|
|
3217
3445
|
|
|
3218
3446
|
TEST(WhenDynamicCastToTest, AlreadyNull) {
|
|
3219
3447
|
// Already NULL.
|
|
3220
|
-
Base* as_base_ptr =
|
|
3448
|
+
Base* as_base_ptr = nullptr;
|
|
3221
3449
|
EXPECT_THAT(as_base_ptr, WhenDynamicCastTo<Derived*>(IsNull()));
|
|
3222
3450
|
}
|
|
3223
3451
|
|
|
@@ -3244,7 +3472,7 @@ TEST(WhenDynamicCastToTest, AmbiguousCast) {
|
|
|
3244
3472
|
|
|
3245
3473
|
TEST(WhenDynamicCastToTest, Describe) {
|
|
3246
3474
|
Matcher<Base*> matcher = WhenDynamicCastTo<Derived*>(Pointee(_));
|
|
3247
|
-
const string prefix =
|
|
3475
|
+
const std::string prefix =
|
|
3248
3476
|
"when dynamic_cast to " + internal::GetTypeName<Derived*>() + ", ";
|
|
3249
3477
|
EXPECT_EQ(prefix + "points to a value that is anything", Describe(matcher));
|
|
3250
3478
|
EXPECT_EQ(prefix + "does not point to a value that is anything",
|
|
@@ -3253,7 +3481,7 @@ TEST(WhenDynamicCastToTest, Describe) {
|
|
|
3253
3481
|
|
|
3254
3482
|
TEST(WhenDynamicCastToTest, Explain) {
|
|
3255
3483
|
Matcher<Base*> matcher = WhenDynamicCastTo<Derived*>(Pointee(_));
|
|
3256
|
-
Base* null =
|
|
3484
|
+
Base* null = nullptr;
|
|
3257
3485
|
EXPECT_THAT(Explain(matcher, null), HasSubstr("NULL"));
|
|
3258
3486
|
Derived derived;
|
|
3259
3487
|
EXPECT_TRUE(matcher.Matches(&derived));
|
|
@@ -3278,7 +3506,6 @@ TEST(WhenDynamicCastToTest, BadReference) {
|
|
|
3278
3506
|
Base& as_base_ref = derived;
|
|
3279
3507
|
EXPECT_THAT(as_base_ref, Not(WhenDynamicCastTo<const OtherDerived&>(_)));
|
|
3280
3508
|
}
|
|
3281
|
-
|
|
3282
3509
|
#endif // GTEST_HAS_RTTI
|
|
3283
3510
|
|
|
3284
3511
|
// Minimal const-propagating pointer.
|
|
@@ -3315,7 +3542,7 @@ TEST(PointeeTest, WorksWithConstPropagatingPointers) {
|
|
|
3315
3542
|
|
|
3316
3543
|
TEST(PointeeTest, NeverMatchesNull) {
|
|
3317
3544
|
const Matcher<const char*> m = Pointee(_);
|
|
3318
|
-
EXPECT_FALSE(m.Matches(
|
|
3545
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3319
3546
|
}
|
|
3320
3547
|
|
|
3321
3548
|
// Tests that we can write Pointee(value) instead of Pointee(Eq(value)).
|
|
@@ -3326,7 +3553,7 @@ TEST(PointeeTest, MatchesAgainstAValue) {
|
|
|
3326
3553
|
EXPECT_TRUE(m.Matches(&n));
|
|
3327
3554
|
n = -1;
|
|
3328
3555
|
EXPECT_FALSE(m.Matches(&n));
|
|
3329
|
-
EXPECT_FALSE(m.Matches(
|
|
3556
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3330
3557
|
}
|
|
3331
3558
|
|
|
3332
3559
|
TEST(PointeeTest, CanDescribeSelf) {
|
|
@@ -3337,9 +3564,9 @@ TEST(PointeeTest, CanDescribeSelf) {
|
|
|
3337
3564
|
}
|
|
3338
3565
|
|
|
3339
3566
|
TEST(PointeeTest, CanExplainMatchResult) {
|
|
3340
|
-
const Matcher<const string*> m = Pointee(StartsWith("Hi"));
|
|
3567
|
+
const Matcher<const std::string*> m = Pointee(StartsWith("Hi"));
|
|
3341
3568
|
|
|
3342
|
-
EXPECT_EQ("", Explain(m, static_cast<const string*>(
|
|
3569
|
+
EXPECT_EQ("", Explain(m, static_cast<const std::string*>(nullptr)));
|
|
3343
3570
|
|
|
3344
3571
|
const Matcher<long*> m2 = Pointee(GreaterThan(1)); // NOLINT
|
|
3345
3572
|
long n = 3; // NOLINT
|
|
@@ -3376,7 +3603,7 @@ MATCHER_P(UncopyableIs, inner_matcher, "") {
|
|
|
3376
3603
|
|
|
3377
3604
|
// A user-defined struct for testing Field().
|
|
3378
3605
|
struct AStruct {
|
|
3379
|
-
AStruct() : x(0), y(1.0), z(5), p(
|
|
3606
|
+
AStruct() : x(0), y(1.0), z(5), p(nullptr) {}
|
|
3380
3607
|
AStruct(const AStruct& rhs)
|
|
3381
3608
|
: x(rhs.x), y(rhs.y), z(rhs.z.value()), p(rhs.p) {}
|
|
3382
3609
|
|
|
@@ -3400,11 +3627,14 @@ struct DerivedStruct : public AStruct {
|
|
|
3400
3627
|
// Tests that Field(&Foo::field, ...) works when field is non-const.
|
|
3401
3628
|
TEST(FieldTest, WorksForNonConstField) {
|
|
3402
3629
|
Matcher<AStruct> m = Field(&AStruct::x, Ge(0));
|
|
3630
|
+
Matcher<AStruct> m_with_name = Field("x", &AStruct::x, Ge(0));
|
|
3403
3631
|
|
|
3404
3632
|
AStruct a;
|
|
3405
3633
|
EXPECT_TRUE(m.Matches(a));
|
|
3634
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3406
3635
|
a.x = -1;
|
|
3407
3636
|
EXPECT_FALSE(m.Matches(a));
|
|
3637
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3408
3638
|
}
|
|
3409
3639
|
|
|
3410
3640
|
// Tests that Field(&Foo::field, ...) works when field is const.
|
|
@@ -3412,9 +3642,13 @@ TEST(FieldTest, WorksForConstField) {
|
|
|
3412
3642
|
AStruct a;
|
|
3413
3643
|
|
|
3414
3644
|
Matcher<AStruct> m = Field(&AStruct::y, Ge(0.0));
|
|
3645
|
+
Matcher<AStruct> m_with_name = Field("y", &AStruct::y, Ge(0.0));
|
|
3415
3646
|
EXPECT_TRUE(m.Matches(a));
|
|
3647
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3416
3648
|
m = Field(&AStruct::y, Le(0.0));
|
|
3649
|
+
m_with_name = Field("y", &AStruct::y, Le(0.0));
|
|
3417
3650
|
EXPECT_FALSE(m.Matches(a));
|
|
3651
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3418
3652
|
}
|
|
3419
3653
|
|
|
3420
3654
|
// Tests that Field(&Foo::field, ...) works when field is not copyable.
|
|
@@ -3430,7 +3664,7 @@ TEST(FieldTest, WorksForUncopyableField) {
|
|
|
3430
3664
|
// Tests that Field(&Foo::field, ...) works when field is a pointer.
|
|
3431
3665
|
TEST(FieldTest, WorksForPointerField) {
|
|
3432
3666
|
// Matching against NULL.
|
|
3433
|
-
Matcher<AStruct> m = Field(&AStruct::p, static_cast<const char*>(
|
|
3667
|
+
Matcher<AStruct> m = Field(&AStruct::p, static_cast<const char*>(nullptr));
|
|
3434
3668
|
AStruct a;
|
|
3435
3669
|
EXPECT_TRUE(m.Matches(a));
|
|
3436
3670
|
a.p = "hi";
|
|
@@ -3488,6 +3722,14 @@ TEST(FieldTest, CanDescribeSelf) {
|
|
|
3488
3722
|
EXPECT_EQ("is an object whose given field isn't >= 0", DescribeNegation(m));
|
|
3489
3723
|
}
|
|
3490
3724
|
|
|
3725
|
+
TEST(FieldTest, CanDescribeSelfWithFieldName) {
|
|
3726
|
+
Matcher<const AStruct&> m = Field("field_name", &AStruct::x, Ge(0));
|
|
3727
|
+
|
|
3728
|
+
EXPECT_EQ("is an object whose field `field_name` is >= 0", Describe(m));
|
|
3729
|
+
EXPECT_EQ("is an object whose field `field_name` isn't >= 0",
|
|
3730
|
+
DescribeNegation(m));
|
|
3731
|
+
}
|
|
3732
|
+
|
|
3491
3733
|
// Tests that Field() can explain the match result.
|
|
3492
3734
|
TEST(FieldTest, CanExplainMatchResult) {
|
|
3493
3735
|
Matcher<const AStruct&> m = Field(&AStruct::x, Ge(0));
|
|
@@ -3502,6 +3744,19 @@ TEST(FieldTest, CanExplainMatchResult) {
|
|
|
3502
3744
|
Explain(m, a));
|
|
3503
3745
|
}
|
|
3504
3746
|
|
|
3747
|
+
TEST(FieldTest, CanExplainMatchResultWithFieldName) {
|
|
3748
|
+
Matcher<const AStruct&> m = Field("field_name", &AStruct::x, Ge(0));
|
|
3749
|
+
|
|
3750
|
+
AStruct a;
|
|
3751
|
+
a.x = 1;
|
|
3752
|
+
EXPECT_EQ("whose field `field_name` is 1" + OfType("int"), Explain(m, a));
|
|
3753
|
+
|
|
3754
|
+
m = Field("field_name", &AStruct::x, GreaterThan(0));
|
|
3755
|
+
EXPECT_EQ("whose field `field_name` is 1" + OfType("int") +
|
|
3756
|
+
", which is 1 more than 0",
|
|
3757
|
+
Explain(m, a));
|
|
3758
|
+
}
|
|
3759
|
+
|
|
3505
3760
|
// Tests that Field() works when the argument is a pointer to const.
|
|
3506
3761
|
TEST(FieldForPointerTest, WorksForPointerToConst) {
|
|
3507
3762
|
Matcher<const AStruct*> m = Field(&AStruct::x, Ge(0));
|
|
@@ -3535,7 +3790,7 @@ TEST(FieldForPointerTest, WorksForReferenceToConstPointer) {
|
|
|
3535
3790
|
// Tests that Field() does not match the NULL pointer.
|
|
3536
3791
|
TEST(FieldForPointerTest, DoesNotMatchNull) {
|
|
3537
3792
|
Matcher<const AStruct*> m = Field(&AStruct::x, _);
|
|
3538
|
-
EXPECT_FALSE(m.Matches(
|
|
3793
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3539
3794
|
}
|
|
3540
3795
|
|
|
3541
3796
|
// Tests that Field(&Foo::field, ...) works when the argument's type
|
|
@@ -3559,13 +3814,21 @@ TEST(FieldForPointerTest, CanDescribeSelf) {
|
|
|
3559
3814
|
EXPECT_EQ("is an object whose given field isn't >= 0", DescribeNegation(m));
|
|
3560
3815
|
}
|
|
3561
3816
|
|
|
3817
|
+
TEST(FieldForPointerTest, CanDescribeSelfWithFieldName) {
|
|
3818
|
+
Matcher<const AStruct*> m = Field("field_name", &AStruct::x, Ge(0));
|
|
3819
|
+
|
|
3820
|
+
EXPECT_EQ("is an object whose field `field_name` is >= 0", Describe(m));
|
|
3821
|
+
EXPECT_EQ("is an object whose field `field_name` isn't >= 0",
|
|
3822
|
+
DescribeNegation(m));
|
|
3823
|
+
}
|
|
3824
|
+
|
|
3562
3825
|
// Tests that Field() can explain the result of matching a pointer.
|
|
3563
3826
|
TEST(FieldForPointerTest, CanExplainMatchResult) {
|
|
3564
3827
|
Matcher<const AStruct*> m = Field(&AStruct::x, Ge(0));
|
|
3565
3828
|
|
|
3566
3829
|
AStruct a;
|
|
3567
3830
|
a.x = 1;
|
|
3568
|
-
EXPECT_EQ("", Explain(m, static_cast<const AStruct*>(
|
|
3831
|
+
EXPECT_EQ("", Explain(m, static_cast<const AStruct*>(nullptr)));
|
|
3569
3832
|
EXPECT_EQ("which points to an object whose given field is 1" + OfType("int"),
|
|
3570
3833
|
Explain(m, &a));
|
|
3571
3834
|
|
|
@@ -3574,6 +3837,22 @@ TEST(FieldForPointerTest, CanExplainMatchResult) {
|
|
|
3574
3837
|
", which is 1 more than 0", Explain(m, &a));
|
|
3575
3838
|
}
|
|
3576
3839
|
|
|
3840
|
+
TEST(FieldForPointerTest, CanExplainMatchResultWithFieldName) {
|
|
3841
|
+
Matcher<const AStruct*> m = Field("field_name", &AStruct::x, Ge(0));
|
|
3842
|
+
|
|
3843
|
+
AStruct a;
|
|
3844
|
+
a.x = 1;
|
|
3845
|
+
EXPECT_EQ("", Explain(m, static_cast<const AStruct*>(nullptr)));
|
|
3846
|
+
EXPECT_EQ(
|
|
3847
|
+
"which points to an object whose field `field_name` is 1" + OfType("int"),
|
|
3848
|
+
Explain(m, &a));
|
|
3849
|
+
|
|
3850
|
+
m = Field("field_name", &AStruct::x, GreaterThan(0));
|
|
3851
|
+
EXPECT_EQ("which points to an object whose field `field_name` is 1" +
|
|
3852
|
+
OfType("int") + ", which is 1 more than 0",
|
|
3853
|
+
Explain(m, &a));
|
|
3854
|
+
}
|
|
3855
|
+
|
|
3577
3856
|
// A user-defined class for testing Property().
|
|
3578
3857
|
class AClass {
|
|
3579
3858
|
public:
|
|
@@ -3585,15 +3864,18 @@ class AClass {
|
|
|
3585
3864
|
void set_n(int new_n) { n_ = new_n; }
|
|
3586
3865
|
|
|
3587
3866
|
// A getter that returns a reference to const.
|
|
3588
|
-
const string& s() const { return s_; }
|
|
3867
|
+
const std::string& s() const { return s_; }
|
|
3868
|
+
|
|
3869
|
+
const std::string& s_ref() const & { return s_; }
|
|
3589
3870
|
|
|
3590
|
-
void set_s(const string& new_s) { s_ = new_s; }
|
|
3871
|
+
void set_s(const std::string& new_s) { s_ = new_s; }
|
|
3591
3872
|
|
|
3592
3873
|
// A getter that returns a reference to non-const.
|
|
3593
3874
|
double& x() const { return x_; }
|
|
3875
|
+
|
|
3594
3876
|
private:
|
|
3595
3877
|
int n_;
|
|
3596
|
-
string s_;
|
|
3878
|
+
std::string s_;
|
|
3597
3879
|
|
|
3598
3880
|
static double x_;
|
|
3599
3881
|
};
|
|
@@ -3612,26 +3894,50 @@ class DerivedClass : public AClass {
|
|
|
3612
3894
|
// returns a non-reference.
|
|
3613
3895
|
TEST(PropertyTest, WorksForNonReferenceProperty) {
|
|
3614
3896
|
Matcher<const AClass&> m = Property(&AClass::n, Ge(0));
|
|
3897
|
+
Matcher<const AClass&> m_with_name = Property("n", &AClass::n, Ge(0));
|
|
3615
3898
|
|
|
3616
3899
|
AClass a;
|
|
3617
3900
|
a.set_n(1);
|
|
3618
3901
|
EXPECT_TRUE(m.Matches(a));
|
|
3902
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3619
3903
|
|
|
3620
3904
|
a.set_n(-1);
|
|
3621
3905
|
EXPECT_FALSE(m.Matches(a));
|
|
3906
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3622
3907
|
}
|
|
3623
3908
|
|
|
3624
3909
|
// Tests that Property(&Foo::property, ...) works when property()
|
|
3625
3910
|
// returns a reference to const.
|
|
3626
3911
|
TEST(PropertyTest, WorksForReferenceToConstProperty) {
|
|
3627
3912
|
Matcher<const AClass&> m = Property(&AClass::s, StartsWith("hi"));
|
|
3913
|
+
Matcher<const AClass&> m_with_name =
|
|
3914
|
+
Property("s", &AClass::s, StartsWith("hi"));
|
|
3915
|
+
|
|
3916
|
+
AClass a;
|
|
3917
|
+
a.set_s("hill");
|
|
3918
|
+
EXPECT_TRUE(m.Matches(a));
|
|
3919
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3920
|
+
|
|
3921
|
+
a.set_s("hole");
|
|
3922
|
+
EXPECT_FALSE(m.Matches(a));
|
|
3923
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3924
|
+
}
|
|
3925
|
+
|
|
3926
|
+
// Tests that Property(&Foo::property, ...) works when property() is
|
|
3927
|
+
// ref-qualified.
|
|
3928
|
+
TEST(PropertyTest, WorksForRefQualifiedProperty) {
|
|
3929
|
+
Matcher<const AClass&> m = Property(&AClass::s_ref, StartsWith("hi"));
|
|
3930
|
+
Matcher<const AClass&> m_with_name =
|
|
3931
|
+
Property("s", &AClass::s_ref, StartsWith("hi"));
|
|
3628
3932
|
|
|
3629
3933
|
AClass a;
|
|
3630
3934
|
a.set_s("hill");
|
|
3631
3935
|
EXPECT_TRUE(m.Matches(a));
|
|
3936
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3632
3937
|
|
|
3633
3938
|
a.set_s("hole");
|
|
3634
3939
|
EXPECT_FALSE(m.Matches(a));
|
|
3940
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3635
3941
|
}
|
|
3636
3942
|
|
|
3637
3943
|
// Tests that Property(&Foo::property, ...) works when property()
|
|
@@ -3682,10 +3988,15 @@ TEST(PropertyTest, WorksForCompatibleMatcherType) {
|
|
|
3682
3988
|
Matcher<const AClass&> m = Property(&AClass::n,
|
|
3683
3989
|
Matcher<signed char>(Ge(0)));
|
|
3684
3990
|
|
|
3991
|
+
Matcher<const AClass&> m_with_name =
|
|
3992
|
+
Property("n", &AClass::n, Matcher<signed char>(Ge(0)));
|
|
3993
|
+
|
|
3685
3994
|
AClass a;
|
|
3686
3995
|
EXPECT_TRUE(m.Matches(a));
|
|
3996
|
+
EXPECT_TRUE(m_with_name.Matches(a));
|
|
3687
3997
|
a.set_n(-1);
|
|
3688
3998
|
EXPECT_FALSE(m.Matches(a));
|
|
3999
|
+
EXPECT_FALSE(m_with_name.Matches(a));
|
|
3689
4000
|
}
|
|
3690
4001
|
|
|
3691
4002
|
// Tests that Property() can describe itself.
|
|
@@ -3697,6 +4008,14 @@ TEST(PropertyTest, CanDescribeSelf) {
|
|
|
3697
4008
|
DescribeNegation(m));
|
|
3698
4009
|
}
|
|
3699
4010
|
|
|
4011
|
+
TEST(PropertyTest, CanDescribeSelfWithPropertyName) {
|
|
4012
|
+
Matcher<const AClass&> m = Property("fancy_name", &AClass::n, Ge(0));
|
|
4013
|
+
|
|
4014
|
+
EXPECT_EQ("is an object whose property `fancy_name` is >= 0", Describe(m));
|
|
4015
|
+
EXPECT_EQ("is an object whose property `fancy_name` isn't >= 0",
|
|
4016
|
+
DescribeNegation(m));
|
|
4017
|
+
}
|
|
4018
|
+
|
|
3700
4019
|
// Tests that Property() can explain the match result.
|
|
3701
4020
|
TEST(PropertyTest, CanExplainMatchResult) {
|
|
3702
4021
|
Matcher<const AClass&> m = Property(&AClass::n, Ge(0));
|
|
@@ -3711,6 +4030,19 @@ TEST(PropertyTest, CanExplainMatchResult) {
|
|
|
3711
4030
|
Explain(m, a));
|
|
3712
4031
|
}
|
|
3713
4032
|
|
|
4033
|
+
TEST(PropertyTest, CanExplainMatchResultWithPropertyName) {
|
|
4034
|
+
Matcher<const AClass&> m = Property("fancy_name", &AClass::n, Ge(0));
|
|
4035
|
+
|
|
4036
|
+
AClass a;
|
|
4037
|
+
a.set_n(1);
|
|
4038
|
+
EXPECT_EQ("whose property `fancy_name` is 1" + OfType("int"), Explain(m, a));
|
|
4039
|
+
|
|
4040
|
+
m = Property("fancy_name", &AClass::n, GreaterThan(0));
|
|
4041
|
+
EXPECT_EQ("whose property `fancy_name` is 1" + OfType("int") +
|
|
4042
|
+
", which is 1 more than 0",
|
|
4043
|
+
Explain(m, a));
|
|
4044
|
+
}
|
|
4045
|
+
|
|
3714
4046
|
// Tests that Property() works when the argument is a pointer to const.
|
|
3715
4047
|
TEST(PropertyForPointerTest, WorksForPointerToConst) {
|
|
3716
4048
|
Matcher<const AClass*> m = Property(&AClass::n, Ge(0));
|
|
@@ -3751,7 +4083,7 @@ TEST(PropertyForPointerTest, WorksForReferenceToConstPointer) {
|
|
|
3751
4083
|
// Tests that Property() does not match the NULL pointer.
|
|
3752
4084
|
TEST(PropertyForPointerTest, WorksForReferenceToNonConstProperty) {
|
|
3753
4085
|
Matcher<const AClass*> m = Property(&AClass::x, _);
|
|
3754
|
-
EXPECT_FALSE(m.Matches(
|
|
4086
|
+
EXPECT_FALSE(m.Matches(nullptr));
|
|
3755
4087
|
}
|
|
3756
4088
|
|
|
3757
4089
|
// Tests that Property(&Foo::property, ...) works when the argument's
|
|
@@ -3778,13 +4110,21 @@ TEST(PropertyForPointerTest, CanDescribeSelf) {
|
|
|
3778
4110
|
DescribeNegation(m));
|
|
3779
4111
|
}
|
|
3780
4112
|
|
|
4113
|
+
TEST(PropertyForPointerTest, CanDescribeSelfWithPropertyDescription) {
|
|
4114
|
+
Matcher<const AClass*> m = Property("fancy_name", &AClass::n, Ge(0));
|
|
4115
|
+
|
|
4116
|
+
EXPECT_EQ("is an object whose property `fancy_name` is >= 0", Describe(m));
|
|
4117
|
+
EXPECT_EQ("is an object whose property `fancy_name` isn't >= 0",
|
|
4118
|
+
DescribeNegation(m));
|
|
4119
|
+
}
|
|
4120
|
+
|
|
3781
4121
|
// Tests that Property() can explain the result of matching a pointer.
|
|
3782
4122
|
TEST(PropertyForPointerTest, CanExplainMatchResult) {
|
|
3783
4123
|
Matcher<const AClass*> m = Property(&AClass::n, Ge(0));
|
|
3784
4124
|
|
|
3785
4125
|
AClass a;
|
|
3786
4126
|
a.set_n(1);
|
|
3787
|
-
EXPECT_EQ("", Explain(m, static_cast<const AClass*>(
|
|
4127
|
+
EXPECT_EQ("", Explain(m, static_cast<const AClass*>(nullptr)));
|
|
3788
4128
|
EXPECT_EQ(
|
|
3789
4129
|
"which points to an object whose given property is 1" + OfType("int"),
|
|
3790
4130
|
Explain(m, &a));
|
|
@@ -3795,14 +4135,32 @@ TEST(PropertyForPointerTest, CanExplainMatchResult) {
|
|
|
3795
4135
|
Explain(m, &a));
|
|
3796
4136
|
}
|
|
3797
4137
|
|
|
4138
|
+
TEST(PropertyForPointerTest, CanExplainMatchResultWithPropertyName) {
|
|
4139
|
+
Matcher<const AClass*> m = Property("fancy_name", &AClass::n, Ge(0));
|
|
4140
|
+
|
|
4141
|
+
AClass a;
|
|
4142
|
+
a.set_n(1);
|
|
4143
|
+
EXPECT_EQ("", Explain(m, static_cast<const AClass*>(nullptr)));
|
|
4144
|
+
EXPECT_EQ("which points to an object whose property `fancy_name` is 1" +
|
|
4145
|
+
OfType("int"),
|
|
4146
|
+
Explain(m, &a));
|
|
4147
|
+
|
|
4148
|
+
m = Property("fancy_name", &AClass::n, GreaterThan(0));
|
|
4149
|
+
EXPECT_EQ("which points to an object whose property `fancy_name` is 1" +
|
|
4150
|
+
OfType("int") + ", which is 1 more than 0",
|
|
4151
|
+
Explain(m, &a));
|
|
4152
|
+
}
|
|
4153
|
+
|
|
3798
4154
|
// Tests ResultOf.
|
|
3799
4155
|
|
|
3800
4156
|
// Tests that ResultOf(f, ...) compiles and works as expected when f is a
|
|
3801
4157
|
// function pointer.
|
|
3802
|
-
string IntToStringFunction(int input) {
|
|
4158
|
+
std::string IntToStringFunction(int input) {
|
|
4159
|
+
return input == 1 ? "foo" : "bar";
|
|
4160
|
+
}
|
|
3803
4161
|
|
|
3804
4162
|
TEST(ResultOfTest, WorksForFunctionPointers) {
|
|
3805
|
-
Matcher<int> matcher = ResultOf(&IntToStringFunction, Eq(string("foo")));
|
|
4163
|
+
Matcher<int> matcher = ResultOf(&IntToStringFunction, Eq(std::string("foo")));
|
|
3806
4164
|
|
|
3807
4165
|
EXPECT_TRUE(matcher.Matches(1));
|
|
3808
4166
|
EXPECT_FALSE(matcher.Matches(2));
|
|
@@ -3868,12 +4226,12 @@ TEST(ResultOfTest, WorksForReferenceToNonConstResults) {
|
|
|
3868
4226
|
|
|
3869
4227
|
// Tests that ResultOf(f, ...) compiles and works as expected when f(x)
|
|
3870
4228
|
// returns a reference to const.
|
|
3871
|
-
const string& StringFunction(const string& input) { return input; }
|
|
4229
|
+
const std::string& StringFunction(const std::string& input) { return input; }
|
|
3872
4230
|
|
|
3873
4231
|
TEST(ResultOfTest, WorksForReferenceToConstResults) {
|
|
3874
|
-
string s = "foo";
|
|
3875
|
-
string s2 = s;
|
|
3876
|
-
Matcher<const string&> matcher = ResultOf(&StringFunction, Ref(s));
|
|
4232
|
+
std::string s = "foo";
|
|
4233
|
+
std::string s2 = s;
|
|
4234
|
+
Matcher<const std::string&> matcher = ResultOf(&StringFunction, Ref(s));
|
|
3877
4235
|
|
|
3878
4236
|
EXPECT_TRUE(matcher.Matches(s));
|
|
3879
4237
|
EXPECT_FALSE(matcher.Matches(s2));
|
|
@@ -3893,8 +4251,9 @@ TEST(ResultOfTest, WorksForCompatibleMatcherTypes) {
|
|
|
3893
4251
|
// a NULL function pointer.
|
|
3894
4252
|
TEST(ResultOfDeathTest, DiesOnNullFunctionPointers) {
|
|
3895
4253
|
EXPECT_DEATH_IF_SUPPORTED(
|
|
3896
|
-
ResultOf(static_cast<string(*)(int dummy)>(
|
|
3897
|
-
|
|
4254
|
+
ResultOf(static_cast<std::string (*)(int dummy)>(nullptr),
|
|
4255
|
+
Eq(std::string("foo"))),
|
|
4256
|
+
"NULL function pointer is passed into ResultOf\\(\\)\\.");
|
|
3898
4257
|
}
|
|
3899
4258
|
|
|
3900
4259
|
// Tests that ResultOf(f, ...) compiles and works as expected when f is a
|
|
@@ -3907,26 +4266,27 @@ TEST(ResultOfTest, WorksForFunctionReferences) {
|
|
|
3907
4266
|
|
|
3908
4267
|
// Tests that ResultOf(f, ...) compiles and works as expected when f is a
|
|
3909
4268
|
// function object.
|
|
3910
|
-
struct Functor : public ::std::unary_function<int, string> {
|
|
4269
|
+
struct Functor : public ::std::unary_function<int, std::string> {
|
|
3911
4270
|
result_type operator()(argument_type input) const {
|
|
3912
4271
|
return IntToStringFunction(input);
|
|
3913
4272
|
}
|
|
3914
4273
|
};
|
|
3915
4274
|
|
|
3916
4275
|
TEST(ResultOfTest, WorksForFunctors) {
|
|
3917
|
-
Matcher<int> matcher = ResultOf(Functor(), Eq(string("foo")));
|
|
4276
|
+
Matcher<int> matcher = ResultOf(Functor(), Eq(std::string("foo")));
|
|
3918
4277
|
|
|
3919
4278
|
EXPECT_TRUE(matcher.Matches(1));
|
|
3920
4279
|
EXPECT_FALSE(matcher.Matches(2));
|
|
3921
4280
|
}
|
|
3922
4281
|
|
|
3923
4282
|
// Tests that ResultOf(f, ...) compiles and works as expected when f is a
|
|
3924
|
-
// functor with more
|
|
4283
|
+
// functor with more than one operator() defined. ResultOf() must work
|
|
3925
4284
|
// for each defined operator().
|
|
3926
4285
|
struct PolymorphicFunctor {
|
|
3927
4286
|
typedef int result_type;
|
|
3928
4287
|
int operator()(int n) { return n; }
|
|
3929
4288
|
int operator()(const char* s) { return static_cast<int>(strlen(s)); }
|
|
4289
|
+
std::string operator()(int *p) { return p ? "good ptr" : "null"; }
|
|
3930
4290
|
};
|
|
3931
4291
|
|
|
3932
4292
|
TEST(ResultOfTest, WorksForPolymorphicFunctors) {
|
|
@@ -3941,6 +4301,21 @@ TEST(ResultOfTest, WorksForPolymorphicFunctors) {
|
|
|
3941
4301
|
EXPECT_FALSE(matcher_string.Matches("shrt"));
|
|
3942
4302
|
}
|
|
3943
4303
|
|
|
4304
|
+
TEST(ResultOfTest, WorksForPolymorphicFunctorsIgnoringResultType) {
|
|
4305
|
+
Matcher<int*> matcher = ResultOf(PolymorphicFunctor(), "good ptr");
|
|
4306
|
+
|
|
4307
|
+
int n = 0;
|
|
4308
|
+
EXPECT_TRUE(matcher.Matches(&n));
|
|
4309
|
+
EXPECT_FALSE(matcher.Matches(nullptr));
|
|
4310
|
+
}
|
|
4311
|
+
|
|
4312
|
+
TEST(ResultOfTest, WorksForLambdas) {
|
|
4313
|
+
Matcher<int> matcher =
|
|
4314
|
+
ResultOf([](int str_len) { return std::string(str_len, 'x'); }, "xxx");
|
|
4315
|
+
EXPECT_TRUE(matcher.Matches(3));
|
|
4316
|
+
EXPECT_FALSE(matcher.Matches(1));
|
|
4317
|
+
}
|
|
4318
|
+
|
|
3944
4319
|
const int* ReferencingFunction(const int& n) { return &n; }
|
|
3945
4320
|
|
|
3946
4321
|
struct ReferencingFunctor {
|
|
@@ -4080,11 +4455,11 @@ TEST(IsEmptyTest, ImplementsIsEmpty) {
|
|
|
4080
4455
|
}
|
|
4081
4456
|
|
|
4082
4457
|
TEST(IsEmptyTest, WorksWithString) {
|
|
4083
|
-
string text;
|
|
4458
|
+
std::string text;
|
|
4084
4459
|
EXPECT_THAT(text, IsEmpty());
|
|
4085
4460
|
text = "foo";
|
|
4086
4461
|
EXPECT_THAT(text, Not(IsEmpty()));
|
|
4087
|
-
text = string("\0", 1);
|
|
4462
|
+
text = std::string("\0", 1);
|
|
4088
4463
|
EXPECT_THAT(text, Not(IsEmpty()));
|
|
4089
4464
|
}
|
|
4090
4465
|
|
|
@@ -4102,6 +4477,48 @@ TEST(IsEmptyTest, ExplainsResult) {
|
|
|
4102
4477
|
EXPECT_EQ("whose size is 1", Explain(m, container));
|
|
4103
4478
|
}
|
|
4104
4479
|
|
|
4480
|
+
TEST(IsEmptyTest, WorksWithMoveOnly) {
|
|
4481
|
+
ContainerHelper helper;
|
|
4482
|
+
EXPECT_CALL(helper, Call(IsEmpty()));
|
|
4483
|
+
helper.Call({});
|
|
4484
|
+
}
|
|
4485
|
+
|
|
4486
|
+
TEST(IsTrueTest, IsTrueIsFalse) {
|
|
4487
|
+
EXPECT_THAT(true, IsTrue());
|
|
4488
|
+
EXPECT_THAT(false, IsFalse());
|
|
4489
|
+
EXPECT_THAT(true, Not(IsFalse()));
|
|
4490
|
+
EXPECT_THAT(false, Not(IsTrue()));
|
|
4491
|
+
EXPECT_THAT(0, Not(IsTrue()));
|
|
4492
|
+
EXPECT_THAT(0, IsFalse());
|
|
4493
|
+
EXPECT_THAT(nullptr, Not(IsTrue()));
|
|
4494
|
+
EXPECT_THAT(nullptr, IsFalse());
|
|
4495
|
+
EXPECT_THAT(-1, IsTrue());
|
|
4496
|
+
EXPECT_THAT(-1, Not(IsFalse()));
|
|
4497
|
+
EXPECT_THAT(1, IsTrue());
|
|
4498
|
+
EXPECT_THAT(1, Not(IsFalse()));
|
|
4499
|
+
EXPECT_THAT(2, IsTrue());
|
|
4500
|
+
EXPECT_THAT(2, Not(IsFalse()));
|
|
4501
|
+
int a = 42;
|
|
4502
|
+
EXPECT_THAT(a, IsTrue());
|
|
4503
|
+
EXPECT_THAT(a, Not(IsFalse()));
|
|
4504
|
+
EXPECT_THAT(&a, IsTrue());
|
|
4505
|
+
EXPECT_THAT(&a, Not(IsFalse()));
|
|
4506
|
+
EXPECT_THAT(false, Not(IsTrue()));
|
|
4507
|
+
EXPECT_THAT(true, Not(IsFalse()));
|
|
4508
|
+
EXPECT_THAT(std::true_type(), IsTrue());
|
|
4509
|
+
EXPECT_THAT(std::true_type(), Not(IsFalse()));
|
|
4510
|
+
EXPECT_THAT(std::false_type(), IsFalse());
|
|
4511
|
+
EXPECT_THAT(std::false_type(), Not(IsTrue()));
|
|
4512
|
+
EXPECT_THAT(nullptr, Not(IsTrue()));
|
|
4513
|
+
EXPECT_THAT(nullptr, IsFalse());
|
|
4514
|
+
std::unique_ptr<int> null_unique;
|
|
4515
|
+
std::unique_ptr<int> nonnull_unique(new int(0));
|
|
4516
|
+
EXPECT_THAT(null_unique, Not(IsTrue()));
|
|
4517
|
+
EXPECT_THAT(null_unique, IsFalse());
|
|
4518
|
+
EXPECT_THAT(nonnull_unique, IsTrue());
|
|
4519
|
+
EXPECT_THAT(nonnull_unique, Not(IsFalse()));
|
|
4520
|
+
}
|
|
4521
|
+
|
|
4105
4522
|
TEST(SizeIsTest, ImplementsSizeIs) {
|
|
4106
4523
|
vector<int> container;
|
|
4107
4524
|
EXPECT_THAT(container, SizeIs(0));
|
|
@@ -4115,7 +4532,7 @@ TEST(SizeIsTest, ImplementsSizeIs) {
|
|
|
4115
4532
|
}
|
|
4116
4533
|
|
|
4117
4534
|
TEST(SizeIsTest, WorksWithMap) {
|
|
4118
|
-
map<string, int> container;
|
|
4535
|
+
map<std::string, int> container;
|
|
4119
4536
|
EXPECT_THAT(container, SizeIs(0));
|
|
4120
4537
|
EXPECT_THAT(container, Not(SizeIs(1)));
|
|
4121
4538
|
container.insert(make_pair("foo", 1));
|
|
@@ -4134,6 +4551,23 @@ TEST(SizeIsTest, WorksWithReferences) {
|
|
|
4134
4551
|
EXPECT_THAT(container, m);
|
|
4135
4552
|
}
|
|
4136
4553
|
|
|
4554
|
+
TEST(SizeIsTest, WorksWithMoveOnly) {
|
|
4555
|
+
ContainerHelper helper;
|
|
4556
|
+
EXPECT_CALL(helper, Call(SizeIs(3)));
|
|
4557
|
+
helper.Call(MakeUniquePtrs({1, 2, 3}));
|
|
4558
|
+
}
|
|
4559
|
+
|
|
4560
|
+
// SizeIs should work for any type that provides a size() member function.
|
|
4561
|
+
// For example, a size_type member type should not need to be provided.
|
|
4562
|
+
struct MinimalistCustomType {
|
|
4563
|
+
int size() const { return 1; }
|
|
4564
|
+
};
|
|
4565
|
+
TEST(SizeIsTest, WorksWithMinimalistCustomType) {
|
|
4566
|
+
MinimalistCustomType container;
|
|
4567
|
+
EXPECT_THAT(container, SizeIs(1));
|
|
4568
|
+
EXPECT_THAT(container, Not(SizeIs(0)));
|
|
4569
|
+
}
|
|
4570
|
+
|
|
4137
4571
|
TEST(SizeIsTest, CanDescribeSelf) {
|
|
4138
4572
|
Matcher<vector<int> > m = SizeIs(2);
|
|
4139
4573
|
EXPECT_EQ("size is equal to 2", Describe(m));
|
|
@@ -4174,7 +4608,7 @@ typedef testing::Types<
|
|
|
4174
4608
|
list<int> >
|
|
4175
4609
|
ContainerEqTestTypes;
|
|
4176
4610
|
|
|
4177
|
-
|
|
4611
|
+
TYPED_TEST_SUITE(ContainerEqTest, ContainerEqTestTypes);
|
|
4178
4612
|
|
|
4179
4613
|
// Tests that the filled container is equal to itself.
|
|
4180
4614
|
TYPED_TEST(ContainerEqTest, EqualsSelf) {
|
|
@@ -4234,8 +4668,8 @@ TYPED_TEST(ContainerEqTest, DuplicateDifference) {
|
|
|
4234
4668
|
}
|
|
4235
4669
|
#endif // GTEST_HAS_TYPED_TEST
|
|
4236
4670
|
|
|
4237
|
-
// Tests that
|
|
4238
|
-
// Using just vector here, so order is
|
|
4671
|
+
// Tests that multiple missing values are reported.
|
|
4672
|
+
// Using just vector here, so order is predictable.
|
|
4239
4673
|
TEST(ContainerEqExtraTest, MultipleValuesMissing) {
|
|
4240
4674
|
static const int vals[] = {1, 1, 2, 3, 5, 8};
|
|
4241
4675
|
static const int test_vals[] = {2, 1, 5};
|
|
@@ -4248,7 +4682,7 @@ TEST(ContainerEqExtraTest, MultipleValuesMissing) {
|
|
|
4248
4682
|
}
|
|
4249
4683
|
|
|
4250
4684
|
// Tests that added values are reported.
|
|
4251
|
-
// Using just vector here, so order is
|
|
4685
|
+
// Using just vector here, so order is predictable.
|
|
4252
4686
|
TEST(ContainerEqExtraTest, MultipleValuesAdded) {
|
|
4253
4687
|
static const int vals[] = {1, 1, 2, 3, 5, 8};
|
|
4254
4688
|
static const int test_vals[] = {1, 2, 92, 3, 5, 8, 46};
|
|
@@ -4336,11 +4770,11 @@ TEST(ContainerEqExtraTest, WorksForNativeArrayAsTuple) {
|
|
|
4336
4770
|
const int b[] = {1, 2, 3, 4};
|
|
4337
4771
|
|
|
4338
4772
|
const int* const p1 = a1;
|
|
4339
|
-
EXPECT_THAT(make_tuple(p1, 3), ContainerEq(a2));
|
|
4340
|
-
EXPECT_THAT(make_tuple(p1, 3), Not(ContainerEq(b)));
|
|
4773
|
+
EXPECT_THAT(std::make_tuple(p1, 3), ContainerEq(a2));
|
|
4774
|
+
EXPECT_THAT(std::make_tuple(p1, 3), Not(ContainerEq(b)));
|
|
4341
4775
|
|
|
4342
4776
|
const int c[] = {1, 3, 2};
|
|
4343
|
-
EXPECT_THAT(make_tuple(p1, 3), Not(ContainerEq(c)));
|
|
4777
|
+
EXPECT_THAT(std::make_tuple(p1, 3), Not(ContainerEq(c)));
|
|
4344
4778
|
}
|
|
4345
4779
|
|
|
4346
4780
|
TEST(ContainerEqExtraTest, CopiesNativeArrayParameter) {
|
|
@@ -4380,13 +4814,13 @@ TEST(WhenSortedByTest, WorksForNonEmptyContainer) {
|
|
|
4380
4814
|
}
|
|
4381
4815
|
|
|
4382
4816
|
TEST(WhenSortedByTest, WorksForNonVectorContainer) {
|
|
4383
|
-
list<string> words;
|
|
4817
|
+
list<std::string> words;
|
|
4384
4818
|
words.push_back("say");
|
|
4385
4819
|
words.push_back("hello");
|
|
4386
4820
|
words.push_back("world");
|
|
4387
|
-
EXPECT_THAT(words, WhenSortedBy(less<string>(),
|
|
4821
|
+
EXPECT_THAT(words, WhenSortedBy(less<std::string>(),
|
|
4388
4822
|
ElementsAre("hello", "say", "world")));
|
|
4389
|
-
EXPECT_THAT(words, Not(WhenSortedBy(less<string>(),
|
|
4823
|
+
EXPECT_THAT(words, Not(WhenSortedBy(less<std::string>(),
|
|
4390
4824
|
ElementsAre("say", "hello", "world"))));
|
|
4391
4825
|
}
|
|
4392
4826
|
|
|
@@ -4429,7 +4863,7 @@ TEST(WhenSortedTest, WorksForEmptyContainer) {
|
|
|
4429
4863
|
}
|
|
4430
4864
|
|
|
4431
4865
|
TEST(WhenSortedTest, WorksForNonEmptyContainer) {
|
|
4432
|
-
list<string> words;
|
|
4866
|
+
list<std::string> words;
|
|
4433
4867
|
words.push_back("3");
|
|
4434
4868
|
words.push_back("1");
|
|
4435
4869
|
words.push_back("2");
|
|
@@ -4439,14 +4873,16 @@ TEST(WhenSortedTest, WorksForNonEmptyContainer) {
|
|
|
4439
4873
|
}
|
|
4440
4874
|
|
|
4441
4875
|
TEST(WhenSortedTest, WorksForMapTypes) {
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4876
|
+
map<std::string, int> word_counts;
|
|
4877
|
+
word_counts["and"] = 1;
|
|
4878
|
+
word_counts["the"] = 1;
|
|
4879
|
+
word_counts["buffalo"] = 2;
|
|
4880
|
+
EXPECT_THAT(word_counts,
|
|
4881
|
+
WhenSorted(ElementsAre(Pair("and", 1), Pair("buffalo", 2),
|
|
4882
|
+
Pair("the", 1))));
|
|
4883
|
+
EXPECT_THAT(word_counts,
|
|
4884
|
+
Not(WhenSorted(ElementsAre(Pair("and", 1), Pair("the", 1),
|
|
4885
|
+
Pair("buffalo", 2)))));
|
|
4450
4886
|
}
|
|
4451
4887
|
|
|
4452
4888
|
TEST(WhenSortedTest, WorksForMultiMapTypes) {
|
|
@@ -4580,7 +5016,6 @@ TEST(StreamlikeTest, Iteration) {
|
|
|
4580
5016
|
}
|
|
4581
5017
|
}
|
|
4582
5018
|
|
|
4583
|
-
#if GTEST_HAS_STD_FORWARD_LIST_
|
|
4584
5019
|
TEST(BeginEndDistanceIsTest, WorksWithForwardList) {
|
|
4585
5020
|
std::forward_list<int> container;
|
|
4586
5021
|
EXPECT_THAT(container, BeginEndDistanceIs(0));
|
|
@@ -4592,7 +5027,6 @@ TEST(BeginEndDistanceIsTest, WorksWithForwardList) {
|
|
|
4592
5027
|
EXPECT_THAT(container, Not(BeginEndDistanceIs(0)));
|
|
4593
5028
|
EXPECT_THAT(container, BeginEndDistanceIs(2));
|
|
4594
5029
|
}
|
|
4595
|
-
#endif // GTEST_HAS_STD_FORWARD_LIST_
|
|
4596
5030
|
|
|
4597
5031
|
TEST(BeginEndDistanceIsTest, WorksWithNonStdList) {
|
|
4598
5032
|
const int a[5] = {1, 2, 3, 4, 5};
|
|
@@ -4607,6 +5041,12 @@ TEST(BeginEndDistanceIsTest, CanDescribeSelf) {
|
|
|
4607
5041
|
DescribeNegation(m));
|
|
4608
5042
|
}
|
|
4609
5043
|
|
|
5044
|
+
TEST(BeginEndDistanceIsTest, WorksWithMoveOnly) {
|
|
5045
|
+
ContainerHelper helper;
|
|
5046
|
+
EXPECT_CALL(helper, Call(BeginEndDistanceIs(2)));
|
|
5047
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
5048
|
+
}
|
|
5049
|
+
|
|
4610
5050
|
TEST(BeginEndDistanceIsTest, ExplainsResult) {
|
|
4611
5051
|
Matcher<vector<int> > m1 = BeginEndDistanceIs(2);
|
|
4612
5052
|
Matcher<vector<int> > m2 = BeginEndDistanceIs(Lt(2));
|
|
@@ -4654,6 +5094,262 @@ TEST(WhenSortedTest, WorksForVectorConstRefMatcherOnStreamlike) {
|
|
|
4654
5094
|
EXPECT_THAT(s, Not(WhenSorted(ElementsAre(2, 1, 4, 5, 3))));
|
|
4655
5095
|
}
|
|
4656
5096
|
|
|
5097
|
+
TEST(IsSupersetOfTest, WorksForNativeArray) {
|
|
5098
|
+
const int subset[] = {1, 4};
|
|
5099
|
+
const int superset[] = {1, 2, 4};
|
|
5100
|
+
const int disjoint[] = {1, 0, 3};
|
|
5101
|
+
EXPECT_THAT(subset, IsSupersetOf(subset));
|
|
5102
|
+
EXPECT_THAT(subset, Not(IsSupersetOf(superset)));
|
|
5103
|
+
EXPECT_THAT(superset, IsSupersetOf(subset));
|
|
5104
|
+
EXPECT_THAT(subset, Not(IsSupersetOf(disjoint)));
|
|
5105
|
+
EXPECT_THAT(disjoint, Not(IsSupersetOf(subset)));
|
|
5106
|
+
}
|
|
5107
|
+
|
|
5108
|
+
TEST(IsSupersetOfTest, WorksWithDuplicates) {
|
|
5109
|
+
const int not_enough[] = {1, 2};
|
|
5110
|
+
const int enough[] = {1, 1, 2};
|
|
5111
|
+
const int expected[] = {1, 1};
|
|
5112
|
+
EXPECT_THAT(not_enough, Not(IsSupersetOf(expected)));
|
|
5113
|
+
EXPECT_THAT(enough, IsSupersetOf(expected));
|
|
5114
|
+
}
|
|
5115
|
+
|
|
5116
|
+
TEST(IsSupersetOfTest, WorksForEmpty) {
|
|
5117
|
+
vector<int> numbers;
|
|
5118
|
+
vector<int> expected;
|
|
5119
|
+
EXPECT_THAT(numbers, IsSupersetOf(expected));
|
|
5120
|
+
expected.push_back(1);
|
|
5121
|
+
EXPECT_THAT(numbers, Not(IsSupersetOf(expected)));
|
|
5122
|
+
expected.clear();
|
|
5123
|
+
numbers.push_back(1);
|
|
5124
|
+
numbers.push_back(2);
|
|
5125
|
+
EXPECT_THAT(numbers, IsSupersetOf(expected));
|
|
5126
|
+
expected.push_back(1);
|
|
5127
|
+
EXPECT_THAT(numbers, IsSupersetOf(expected));
|
|
5128
|
+
expected.push_back(2);
|
|
5129
|
+
EXPECT_THAT(numbers, IsSupersetOf(expected));
|
|
5130
|
+
expected.push_back(3);
|
|
5131
|
+
EXPECT_THAT(numbers, Not(IsSupersetOf(expected)));
|
|
5132
|
+
}
|
|
5133
|
+
|
|
5134
|
+
TEST(IsSupersetOfTest, WorksForStreamlike) {
|
|
5135
|
+
const int a[5] = {1, 2, 3, 4, 5};
|
|
5136
|
+
Streamlike<int> s(a, a + GTEST_ARRAY_SIZE_(a));
|
|
5137
|
+
|
|
5138
|
+
vector<int> expected;
|
|
5139
|
+
expected.push_back(1);
|
|
5140
|
+
expected.push_back(2);
|
|
5141
|
+
expected.push_back(5);
|
|
5142
|
+
EXPECT_THAT(s, IsSupersetOf(expected));
|
|
5143
|
+
|
|
5144
|
+
expected.push_back(0);
|
|
5145
|
+
EXPECT_THAT(s, Not(IsSupersetOf(expected)));
|
|
5146
|
+
}
|
|
5147
|
+
|
|
5148
|
+
TEST(IsSupersetOfTest, TakesStlContainer) {
|
|
5149
|
+
const int actual[] = {3, 1, 2};
|
|
5150
|
+
|
|
5151
|
+
::std::list<int> expected;
|
|
5152
|
+
expected.push_back(1);
|
|
5153
|
+
expected.push_back(3);
|
|
5154
|
+
EXPECT_THAT(actual, IsSupersetOf(expected));
|
|
5155
|
+
|
|
5156
|
+
expected.push_back(4);
|
|
5157
|
+
EXPECT_THAT(actual, Not(IsSupersetOf(expected)));
|
|
5158
|
+
}
|
|
5159
|
+
|
|
5160
|
+
TEST(IsSupersetOfTest, Describe) {
|
|
5161
|
+
typedef std::vector<int> IntVec;
|
|
5162
|
+
IntVec expected;
|
|
5163
|
+
expected.push_back(111);
|
|
5164
|
+
expected.push_back(222);
|
|
5165
|
+
expected.push_back(333);
|
|
5166
|
+
EXPECT_THAT(
|
|
5167
|
+
Describe<IntVec>(IsSupersetOf(expected)),
|
|
5168
|
+
Eq("a surjection from elements to requirements exists such that:\n"
|
|
5169
|
+
" - an element is equal to 111\n"
|
|
5170
|
+
" - an element is equal to 222\n"
|
|
5171
|
+
" - an element is equal to 333"));
|
|
5172
|
+
}
|
|
5173
|
+
|
|
5174
|
+
TEST(IsSupersetOfTest, DescribeNegation) {
|
|
5175
|
+
typedef std::vector<int> IntVec;
|
|
5176
|
+
IntVec expected;
|
|
5177
|
+
expected.push_back(111);
|
|
5178
|
+
expected.push_back(222);
|
|
5179
|
+
expected.push_back(333);
|
|
5180
|
+
EXPECT_THAT(
|
|
5181
|
+
DescribeNegation<IntVec>(IsSupersetOf(expected)),
|
|
5182
|
+
Eq("no surjection from elements to requirements exists such that:\n"
|
|
5183
|
+
" - an element is equal to 111\n"
|
|
5184
|
+
" - an element is equal to 222\n"
|
|
5185
|
+
" - an element is equal to 333"));
|
|
5186
|
+
}
|
|
5187
|
+
|
|
5188
|
+
TEST(IsSupersetOfTest, MatchAndExplain) {
|
|
5189
|
+
std::vector<int> v;
|
|
5190
|
+
v.push_back(2);
|
|
5191
|
+
v.push_back(3);
|
|
5192
|
+
std::vector<int> expected;
|
|
5193
|
+
expected.push_back(1);
|
|
5194
|
+
expected.push_back(2);
|
|
5195
|
+
StringMatchResultListener listener;
|
|
5196
|
+
ASSERT_FALSE(ExplainMatchResult(IsSupersetOf(expected), v, &listener))
|
|
5197
|
+
<< listener.str();
|
|
5198
|
+
EXPECT_THAT(listener.str(),
|
|
5199
|
+
Eq("where the following matchers don't match any elements:\n"
|
|
5200
|
+
"matcher #0: is equal to 1"));
|
|
5201
|
+
|
|
5202
|
+
v.push_back(1);
|
|
5203
|
+
listener.Clear();
|
|
5204
|
+
ASSERT_TRUE(ExplainMatchResult(IsSupersetOf(expected), v, &listener))
|
|
5205
|
+
<< listener.str();
|
|
5206
|
+
EXPECT_THAT(listener.str(), Eq("where:\n"
|
|
5207
|
+
" - element #0 is matched by matcher #1,\n"
|
|
5208
|
+
" - element #2 is matched by matcher #0"));
|
|
5209
|
+
}
|
|
5210
|
+
|
|
5211
|
+
TEST(IsSupersetOfTest, WorksForRhsInitializerList) {
|
|
5212
|
+
const int numbers[] = {1, 3, 6, 2, 4, 5};
|
|
5213
|
+
EXPECT_THAT(numbers, IsSupersetOf({1, 2}));
|
|
5214
|
+
EXPECT_THAT(numbers, Not(IsSupersetOf({3, 0})));
|
|
5215
|
+
}
|
|
5216
|
+
|
|
5217
|
+
TEST(IsSupersetOfTest, WorksWithMoveOnly) {
|
|
5218
|
+
ContainerHelper helper;
|
|
5219
|
+
EXPECT_CALL(helper, Call(IsSupersetOf({Pointee(1)})));
|
|
5220
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
5221
|
+
EXPECT_CALL(helper, Call(Not(IsSupersetOf({Pointee(1), Pointee(2)}))));
|
|
5222
|
+
helper.Call(MakeUniquePtrs({2}));
|
|
5223
|
+
}
|
|
5224
|
+
|
|
5225
|
+
TEST(IsSubsetOfTest, WorksForNativeArray) {
|
|
5226
|
+
const int subset[] = {1, 4};
|
|
5227
|
+
const int superset[] = {1, 2, 4};
|
|
5228
|
+
const int disjoint[] = {1, 0, 3};
|
|
5229
|
+
EXPECT_THAT(subset, IsSubsetOf(subset));
|
|
5230
|
+
EXPECT_THAT(subset, IsSubsetOf(superset));
|
|
5231
|
+
EXPECT_THAT(superset, Not(IsSubsetOf(subset)));
|
|
5232
|
+
EXPECT_THAT(subset, Not(IsSubsetOf(disjoint)));
|
|
5233
|
+
EXPECT_THAT(disjoint, Not(IsSubsetOf(subset)));
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5236
|
+
TEST(IsSubsetOfTest, WorksWithDuplicates) {
|
|
5237
|
+
const int not_enough[] = {1, 2};
|
|
5238
|
+
const int enough[] = {1, 1, 2};
|
|
5239
|
+
const int actual[] = {1, 1};
|
|
5240
|
+
EXPECT_THAT(actual, Not(IsSubsetOf(not_enough)));
|
|
5241
|
+
EXPECT_THAT(actual, IsSubsetOf(enough));
|
|
5242
|
+
}
|
|
5243
|
+
|
|
5244
|
+
TEST(IsSubsetOfTest, WorksForEmpty) {
|
|
5245
|
+
vector<int> numbers;
|
|
5246
|
+
vector<int> expected;
|
|
5247
|
+
EXPECT_THAT(numbers, IsSubsetOf(expected));
|
|
5248
|
+
expected.push_back(1);
|
|
5249
|
+
EXPECT_THAT(numbers, IsSubsetOf(expected));
|
|
5250
|
+
expected.clear();
|
|
5251
|
+
numbers.push_back(1);
|
|
5252
|
+
numbers.push_back(2);
|
|
5253
|
+
EXPECT_THAT(numbers, Not(IsSubsetOf(expected)));
|
|
5254
|
+
expected.push_back(1);
|
|
5255
|
+
EXPECT_THAT(numbers, Not(IsSubsetOf(expected)));
|
|
5256
|
+
expected.push_back(2);
|
|
5257
|
+
EXPECT_THAT(numbers, IsSubsetOf(expected));
|
|
5258
|
+
expected.push_back(3);
|
|
5259
|
+
EXPECT_THAT(numbers, IsSubsetOf(expected));
|
|
5260
|
+
}
|
|
5261
|
+
|
|
5262
|
+
TEST(IsSubsetOfTest, WorksForStreamlike) {
|
|
5263
|
+
const int a[5] = {1, 2};
|
|
5264
|
+
Streamlike<int> s(a, a + GTEST_ARRAY_SIZE_(a));
|
|
5265
|
+
|
|
5266
|
+
vector<int> expected;
|
|
5267
|
+
expected.push_back(1);
|
|
5268
|
+
EXPECT_THAT(s, Not(IsSubsetOf(expected)));
|
|
5269
|
+
expected.push_back(2);
|
|
5270
|
+
expected.push_back(5);
|
|
5271
|
+
EXPECT_THAT(s, IsSubsetOf(expected));
|
|
5272
|
+
}
|
|
5273
|
+
|
|
5274
|
+
TEST(IsSubsetOfTest, TakesStlContainer) {
|
|
5275
|
+
const int actual[] = {3, 1, 2};
|
|
5276
|
+
|
|
5277
|
+
::std::list<int> expected;
|
|
5278
|
+
expected.push_back(1);
|
|
5279
|
+
expected.push_back(3);
|
|
5280
|
+
EXPECT_THAT(actual, Not(IsSubsetOf(expected)));
|
|
5281
|
+
|
|
5282
|
+
expected.push_back(2);
|
|
5283
|
+
expected.push_back(4);
|
|
5284
|
+
EXPECT_THAT(actual, IsSubsetOf(expected));
|
|
5285
|
+
}
|
|
5286
|
+
|
|
5287
|
+
TEST(IsSubsetOfTest, Describe) {
|
|
5288
|
+
typedef std::vector<int> IntVec;
|
|
5289
|
+
IntVec expected;
|
|
5290
|
+
expected.push_back(111);
|
|
5291
|
+
expected.push_back(222);
|
|
5292
|
+
expected.push_back(333);
|
|
5293
|
+
|
|
5294
|
+
EXPECT_THAT(
|
|
5295
|
+
Describe<IntVec>(IsSubsetOf(expected)),
|
|
5296
|
+
Eq("an injection from elements to requirements exists such that:\n"
|
|
5297
|
+
" - an element is equal to 111\n"
|
|
5298
|
+
" - an element is equal to 222\n"
|
|
5299
|
+
" - an element is equal to 333"));
|
|
5300
|
+
}
|
|
5301
|
+
|
|
5302
|
+
TEST(IsSubsetOfTest, DescribeNegation) {
|
|
5303
|
+
typedef std::vector<int> IntVec;
|
|
5304
|
+
IntVec expected;
|
|
5305
|
+
expected.push_back(111);
|
|
5306
|
+
expected.push_back(222);
|
|
5307
|
+
expected.push_back(333);
|
|
5308
|
+
EXPECT_THAT(
|
|
5309
|
+
DescribeNegation<IntVec>(IsSubsetOf(expected)),
|
|
5310
|
+
Eq("no injection from elements to requirements exists such that:\n"
|
|
5311
|
+
" - an element is equal to 111\n"
|
|
5312
|
+
" - an element is equal to 222\n"
|
|
5313
|
+
" - an element is equal to 333"));
|
|
5314
|
+
}
|
|
5315
|
+
|
|
5316
|
+
TEST(IsSubsetOfTest, MatchAndExplain) {
|
|
5317
|
+
std::vector<int> v;
|
|
5318
|
+
v.push_back(2);
|
|
5319
|
+
v.push_back(3);
|
|
5320
|
+
std::vector<int> expected;
|
|
5321
|
+
expected.push_back(1);
|
|
5322
|
+
expected.push_back(2);
|
|
5323
|
+
StringMatchResultListener listener;
|
|
5324
|
+
ASSERT_FALSE(ExplainMatchResult(IsSubsetOf(expected), v, &listener))
|
|
5325
|
+
<< listener.str();
|
|
5326
|
+
EXPECT_THAT(listener.str(),
|
|
5327
|
+
Eq("where the following elements don't match any matchers:\n"
|
|
5328
|
+
"element #1: 3"));
|
|
5329
|
+
|
|
5330
|
+
expected.push_back(3);
|
|
5331
|
+
listener.Clear();
|
|
5332
|
+
ASSERT_TRUE(ExplainMatchResult(IsSubsetOf(expected), v, &listener))
|
|
5333
|
+
<< listener.str();
|
|
5334
|
+
EXPECT_THAT(listener.str(), Eq("where:\n"
|
|
5335
|
+
" - element #0 is matched by matcher #1,\n"
|
|
5336
|
+
" - element #1 is matched by matcher #2"));
|
|
5337
|
+
}
|
|
5338
|
+
|
|
5339
|
+
TEST(IsSubsetOfTest, WorksForRhsInitializerList) {
|
|
5340
|
+
const int numbers[] = {1, 2, 3};
|
|
5341
|
+
EXPECT_THAT(numbers, IsSubsetOf({1, 2, 3, 4}));
|
|
5342
|
+
EXPECT_THAT(numbers, Not(IsSubsetOf({1, 2})));
|
|
5343
|
+
}
|
|
5344
|
+
|
|
5345
|
+
TEST(IsSubsetOfTest, WorksWithMoveOnly) {
|
|
5346
|
+
ContainerHelper helper;
|
|
5347
|
+
EXPECT_CALL(helper, Call(IsSubsetOf({Pointee(1), Pointee(2)})));
|
|
5348
|
+
helper.Call(MakeUniquePtrs({1}));
|
|
5349
|
+
EXPECT_CALL(helper, Call(Not(IsSubsetOf({Pointee(1)}))));
|
|
5350
|
+
helper.Call(MakeUniquePtrs({2}));
|
|
5351
|
+
}
|
|
5352
|
+
|
|
4657
5353
|
// Tests using ElementsAre() and ElementsAreArray() with stream-like
|
|
4658
5354
|
// "containers".
|
|
4659
5355
|
|
|
@@ -4687,6 +5383,15 @@ TEST(ElementsAreTest, WorksWithUncopyable) {
|
|
|
4687
5383
|
EXPECT_THAT(objs, ElementsAre(UncopyableIs(-3), Truly(ValueIsPositive)));
|
|
4688
5384
|
}
|
|
4689
5385
|
|
|
5386
|
+
TEST(ElementsAreTest, WorksWithMoveOnly) {
|
|
5387
|
+
ContainerHelper helper;
|
|
5388
|
+
EXPECT_CALL(helper, Call(ElementsAre(Pointee(1), Pointee(2))));
|
|
5389
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
5390
|
+
|
|
5391
|
+
EXPECT_CALL(helper, Call(ElementsAreArray({Pointee(3), Pointee(4)})));
|
|
5392
|
+
helper.Call(MakeUniquePtrs({3, 4}));
|
|
5393
|
+
}
|
|
5394
|
+
|
|
4690
5395
|
TEST(ElementsAreTest, TakesStlContainer) {
|
|
4691
5396
|
const int actual[] = {3, 1, 2};
|
|
4692
5397
|
|
|
@@ -4754,7 +5459,6 @@ TEST(UnorderedElementsAreArrayTest, TakesStlContainer) {
|
|
|
4754
5459
|
EXPECT_THAT(actual, Not(UnorderedElementsAreArray(expected)));
|
|
4755
5460
|
}
|
|
4756
5461
|
|
|
4757
|
-
#if GTEST_HAS_STD_INITIALIZER_LIST_
|
|
4758
5462
|
|
|
4759
5463
|
TEST(UnorderedElementsAreArrayTest, TakesInitializerList) {
|
|
4760
5464
|
const int a[5] = {2, 1, 4, 5, 3};
|
|
@@ -4763,7 +5467,7 @@ TEST(UnorderedElementsAreArrayTest, TakesInitializerList) {
|
|
|
4763
5467
|
}
|
|
4764
5468
|
|
|
4765
5469
|
TEST(UnorderedElementsAreArrayTest, TakesInitializerListOfCStrings) {
|
|
4766
|
-
const string a[5] = {"a", "b", "c", "d", "e"};
|
|
5470
|
+
const std::string a[5] = {"a", "b", "c", "d", "e"};
|
|
4767
5471
|
EXPECT_THAT(a, UnorderedElementsAreArray({"a", "b", "c", "d", "e"}));
|
|
4768
5472
|
EXPECT_THAT(a, Not(UnorderedElementsAreArray({"a", "b", "c", "d", "ef"})));
|
|
4769
5473
|
}
|
|
@@ -4788,7 +5492,13 @@ TEST(UnorderedElementsAreArrayTest,
|
|
|
4788
5492
|
{Eq(1), Ne(-2), Ge(3), Le(4), Eq(6)})));
|
|
4789
5493
|
}
|
|
4790
5494
|
|
|
4791
|
-
|
|
5495
|
+
|
|
5496
|
+
TEST(UnorderedElementsAreArrayTest, WorksWithMoveOnly) {
|
|
5497
|
+
ContainerHelper helper;
|
|
5498
|
+
EXPECT_CALL(helper,
|
|
5499
|
+
Call(UnorderedElementsAreArray({Pointee(1), Pointee(2)})));
|
|
5500
|
+
helper.Call(MakeUniquePtrs({2, 1}));
|
|
5501
|
+
}
|
|
4792
5502
|
|
|
4793
5503
|
class UnorderedElementsAreTest : public testing::Test {
|
|
4794
5504
|
protected:
|
|
@@ -4837,6 +5547,12 @@ TEST_F(UnorderedElementsAreTest, WorksForStreamlike) {
|
|
|
4837
5547
|
EXPECT_THAT(s, Not(UnorderedElementsAre(2, 2, 3, 4, 5)));
|
|
4838
5548
|
}
|
|
4839
5549
|
|
|
5550
|
+
TEST_F(UnorderedElementsAreTest, WorksWithMoveOnly) {
|
|
5551
|
+
ContainerHelper helper;
|
|
5552
|
+
EXPECT_CALL(helper, Call(UnorderedElementsAre(Pointee(1), Pointee(2))));
|
|
5553
|
+
helper.Call(MakeUniquePtrs({2, 1}));
|
|
5554
|
+
}
|
|
5555
|
+
|
|
4840
5556
|
// One naive implementation of the matcher runs in O(N!) time, which is too
|
|
4841
5557
|
// slow for many real-world inputs. This test shows that our matcher can match
|
|
4842
5558
|
// 100 inputs very quickly (a few milliseconds). An O(100!) is 10^158
|
|
@@ -4937,7 +5653,7 @@ TEST_F(UnorderedElementsAreTest, FailMessageUnmatchedMatcherAndElement) {
|
|
|
4937
5653
|
}
|
|
4938
5654
|
|
|
4939
5655
|
// Test helper for formatting element, matcher index pairs in expectations.
|
|
4940
|
-
static string EMString(int element, int matcher) {
|
|
5656
|
+
static std::string EMString(int element, int matcher) {
|
|
4941
5657
|
stringstream ss;
|
|
4942
5658
|
ss << "(element #" << element << ", matcher #" << matcher << ")";
|
|
4943
5659
|
return ss.str();
|
|
@@ -4946,7 +5662,7 @@ static string EMString(int element, int matcher) {
|
|
|
4946
5662
|
TEST_F(UnorderedElementsAreTest, FailMessageImperfectMatchOnly) {
|
|
4947
5663
|
// A situation where all elements and matchers have a match
|
|
4948
5664
|
// associated with them, but the max matching is not perfect.
|
|
4949
|
-
std::vector<string> v;
|
|
5665
|
+
std::vector<std::string> v;
|
|
4950
5666
|
v.push_back("a");
|
|
4951
5667
|
v.push_back("b");
|
|
4952
5668
|
v.push_back("c");
|
|
@@ -4955,7 +5671,7 @@ TEST_F(UnorderedElementsAreTest, FailMessageImperfectMatchOnly) {
|
|
|
4955
5671
|
UnorderedElementsAre("a", "a", AnyOf("b", "c")), v, &listener))
|
|
4956
5672
|
<< listener.str();
|
|
4957
5673
|
|
|
4958
|
-
string prefix =
|
|
5674
|
+
std::string prefix =
|
|
4959
5675
|
"where no permutation of the elements can satisfy all matchers, "
|
|
4960
5676
|
"and the closest match is 2 of 3 matchers with the "
|
|
4961
5677
|
"pairings:\n";
|
|
@@ -5124,7 +5840,7 @@ TEST_P(BipartiteTest, Exhaustive) {
|
|
|
5124
5840
|
} while (graph.NextGraph());
|
|
5125
5841
|
}
|
|
5126
5842
|
|
|
5127
|
-
|
|
5843
|
+
INSTANTIATE_TEST_SUITE_P(AllGraphs, BipartiteTest,
|
|
5128
5844
|
::testing::Range(0, 5));
|
|
5129
5845
|
|
|
5130
5846
|
// Parameterized by a pair interpreted as (LhsSize, RhsSize).
|
|
@@ -5167,7 +5883,7 @@ TEST_P(BipartiteNonSquareTest, Exhaustive) {
|
|
|
5167
5883
|
} while (graph.NextGraph());
|
|
5168
5884
|
}
|
|
5169
5885
|
|
|
5170
|
-
|
|
5886
|
+
INSTANTIATE_TEST_SUITE_P(AllGraphs, BipartiteNonSquareTest,
|
|
5171
5887
|
testing::Values(
|
|
5172
5888
|
std::make_pair(1, 2),
|
|
5173
5889
|
std::make_pair(2, 1),
|
|
@@ -5190,7 +5906,7 @@ TEST_P(BipartiteRandomTest, LargerNets) {
|
|
|
5190
5906
|
|
|
5191
5907
|
testing::internal::Int32 seed = GTEST_FLAG(random_seed);
|
|
5192
5908
|
if (seed == 0) {
|
|
5193
|
-
seed = static_cast<testing::internal::Int32>(time(
|
|
5909
|
+
seed = static_cast<testing::internal::Int32>(time(nullptr));
|
|
5194
5910
|
}
|
|
5195
5911
|
|
|
5196
5912
|
for (; iters > 0; --iters, ++seed) {
|
|
@@ -5205,7 +5921,7 @@ TEST_P(BipartiteRandomTest, LargerNets) {
|
|
|
5205
5921
|
}
|
|
5206
5922
|
|
|
5207
5923
|
// Test argument is a std::pair<int, int> representing (nodes, iters).
|
|
5208
|
-
|
|
5924
|
+
INSTANTIATE_TEST_SUITE_P(Samples, BipartiteRandomTest,
|
|
5209
5925
|
testing::Values(
|
|
5210
5926
|
std::make_pair(5, 10000),
|
|
5211
5927
|
std::make_pair(6, 5000),
|
|
@@ -5238,28 +5954,6 @@ TEST(IsReadableTypeNameTest, ReturnsFalseForLongFunctionTypeNames) {
|
|
|
5238
5954
|
EXPECT_FALSE(IsReadableTypeName("void (&)(int, bool, char, float)"));
|
|
5239
5955
|
}
|
|
5240
5956
|
|
|
5241
|
-
// Tests JoinAsTuple().
|
|
5242
|
-
|
|
5243
|
-
TEST(JoinAsTupleTest, JoinsEmptyTuple) {
|
|
5244
|
-
EXPECT_EQ("", JoinAsTuple(Strings()));
|
|
5245
|
-
}
|
|
5246
|
-
|
|
5247
|
-
TEST(JoinAsTupleTest, JoinsOneTuple) {
|
|
5248
|
-
const char* fields[] = {"1"};
|
|
5249
|
-
EXPECT_EQ("1", JoinAsTuple(Strings(fields, fields + 1)));
|
|
5250
|
-
}
|
|
5251
|
-
|
|
5252
|
-
TEST(JoinAsTupleTest, JoinsTwoTuple) {
|
|
5253
|
-
const char* fields[] = {"1", "a"};
|
|
5254
|
-
EXPECT_EQ("(1, a)", JoinAsTuple(Strings(fields, fields + 2)));
|
|
5255
|
-
}
|
|
5256
|
-
|
|
5257
|
-
TEST(JoinAsTupleTest, JoinsTenTuple) {
|
|
5258
|
-
const char* fields[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
|
|
5259
|
-
EXPECT_EQ("(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)",
|
|
5260
|
-
JoinAsTuple(Strings(fields, fields + 10)));
|
|
5261
|
-
}
|
|
5262
|
-
|
|
5263
5957
|
// Tests FormatMatcherDescription().
|
|
5264
5958
|
|
|
5265
5959
|
TEST(FormatMatcherDescriptionTest, WorksForEmptyDescription) {
|
|
@@ -5298,13 +5992,15 @@ TEST(PolymorphicMatcherTest, CanAccessImpl) {
|
|
|
5298
5992
|
|
|
5299
5993
|
TEST(MatcherTupleTest, ExplainsMatchFailure) {
|
|
5300
5994
|
stringstream ss1;
|
|
5301
|
-
ExplainMatchFailureTupleTo(
|
|
5302
|
-
|
|
5995
|
+
ExplainMatchFailureTupleTo(
|
|
5996
|
+
std::make_tuple(Matcher<char>(Eq('a')), GreaterThan(5)),
|
|
5997
|
+
std::make_tuple('a', 10), &ss1);
|
|
5303
5998
|
EXPECT_EQ("", ss1.str()); // Successful match.
|
|
5304
5999
|
|
|
5305
6000
|
stringstream ss2;
|
|
5306
|
-
ExplainMatchFailureTupleTo(
|
|
5307
|
-
|
|
6001
|
+
ExplainMatchFailureTupleTo(
|
|
6002
|
+
std::make_tuple(GreaterThan(5), Matcher<char>(Eq('a'))),
|
|
6003
|
+
std::make_tuple(2, 'b'), &ss2);
|
|
5308
6004
|
EXPECT_EQ(" Expected arg #0: is > 5\n"
|
|
5309
6005
|
" Actual: 2, which is 3 less than 5\n"
|
|
5310
6006
|
" Expected arg #1: is equal to 'a' (97, 0x61)\n"
|
|
@@ -5312,8 +6008,9 @@ TEST(MatcherTupleTest, ExplainsMatchFailure) {
|
|
|
5312
6008
|
ss2.str()); // Failed match where both arguments need explanation.
|
|
5313
6009
|
|
|
5314
6010
|
stringstream ss3;
|
|
5315
|
-
ExplainMatchFailureTupleTo(
|
|
5316
|
-
|
|
6011
|
+
ExplainMatchFailureTupleTo(
|
|
6012
|
+
std::make_tuple(GreaterThan(5), Matcher<char>(Eq('a'))),
|
|
6013
|
+
std::make_tuple(2, 'a'), &ss3);
|
|
5317
6014
|
EXPECT_EQ(" Expected arg #0: is > 5\n"
|
|
5318
6015
|
" Actual: 2, which is 3 less than 5\n",
|
|
5319
6016
|
ss3.str()); // Failed match where only one argument needs
|
|
@@ -5366,13 +6063,13 @@ TEST(EachTest, MatchesVectorWhenAllElementsMatch) {
|
|
|
5366
6063
|
EXPECT_THAT(some_vector, Not(Each(3)));
|
|
5367
6064
|
EXPECT_THAT(some_vector, Each(Lt(3.5)));
|
|
5368
6065
|
|
|
5369
|
-
vector<string> another_vector;
|
|
6066
|
+
vector<std::string> another_vector;
|
|
5370
6067
|
another_vector.push_back("fee");
|
|
5371
|
-
EXPECT_THAT(another_vector, Each(string("fee")));
|
|
6068
|
+
EXPECT_THAT(another_vector, Each(std::string("fee")));
|
|
5372
6069
|
another_vector.push_back("fie");
|
|
5373
6070
|
another_vector.push_back("foe");
|
|
5374
6071
|
another_vector.push_back("fum");
|
|
5375
|
-
EXPECT_THAT(another_vector, Not(Each(string("fee"))));
|
|
6072
|
+
EXPECT_THAT(another_vector, Not(Each(std::string("fee"))));
|
|
5376
6073
|
}
|
|
5377
6074
|
|
|
5378
6075
|
TEST(EachTest, MatchesMapWhenAllElementsMatch) {
|
|
@@ -5381,15 +6078,15 @@ TEST(EachTest, MatchesMapWhenAllElementsMatch) {
|
|
|
5381
6078
|
my_map[bar] = 2;
|
|
5382
6079
|
EXPECT_THAT(my_map, Each(make_pair(bar, 2)));
|
|
5383
6080
|
|
|
5384
|
-
map<string, int> another_map;
|
|
5385
|
-
EXPECT_THAT(another_map, Each(make_pair(string("fee"), 1)));
|
|
6081
|
+
map<std::string, int> another_map;
|
|
6082
|
+
EXPECT_THAT(another_map, Each(make_pair(std::string("fee"), 1)));
|
|
5386
6083
|
another_map["fee"] = 1;
|
|
5387
|
-
EXPECT_THAT(another_map, Each(make_pair(string("fee"), 1)));
|
|
6084
|
+
EXPECT_THAT(another_map, Each(make_pair(std::string("fee"), 1)));
|
|
5388
6085
|
another_map["fie"] = 2;
|
|
5389
6086
|
another_map["foe"] = 3;
|
|
5390
6087
|
another_map["fum"] = 4;
|
|
5391
|
-
EXPECT_THAT(another_map, Not(Each(make_pair(string("fee"), 1))));
|
|
5392
|
-
EXPECT_THAT(another_map, Not(Each(make_pair(string("fum"), 1))));
|
|
6088
|
+
EXPECT_THAT(another_map, Not(Each(make_pair(std::string("fee"), 1))));
|
|
6089
|
+
EXPECT_THAT(another_map, Not(Each(make_pair(std::string("fum"), 1))));
|
|
5393
6090
|
EXPECT_THAT(another_map, Each(Pair(_, Gt(0))));
|
|
5394
6091
|
}
|
|
5395
6092
|
|
|
@@ -5402,21 +6099,27 @@ TEST(EachTest, AcceptsMatcher) {
|
|
|
5402
6099
|
TEST(EachTest, WorksForNativeArrayAsTuple) {
|
|
5403
6100
|
const int a[] = {1, 2};
|
|
5404
6101
|
const int* const pointer = a;
|
|
5405
|
-
EXPECT_THAT(make_tuple(pointer, 2), Each(Gt(0)));
|
|
5406
|
-
EXPECT_THAT(make_tuple(pointer, 2), Not(Each(Gt(1))));
|
|
6102
|
+
EXPECT_THAT(std::make_tuple(pointer, 2), Each(Gt(0)));
|
|
6103
|
+
EXPECT_THAT(std::make_tuple(pointer, 2), Not(Each(Gt(1))));
|
|
6104
|
+
}
|
|
6105
|
+
|
|
6106
|
+
TEST(EachTest, WorksWithMoveOnly) {
|
|
6107
|
+
ContainerHelper helper;
|
|
6108
|
+
EXPECT_CALL(helper, Call(Each(Pointee(Gt(0)))));
|
|
6109
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
5407
6110
|
}
|
|
5408
6111
|
|
|
5409
6112
|
// For testing Pointwise().
|
|
5410
6113
|
class IsHalfOfMatcher {
|
|
5411
6114
|
public:
|
|
5412
6115
|
template <typename T1, typename T2>
|
|
5413
|
-
bool MatchAndExplain(const tuple<T1, T2>& a_pair,
|
|
6116
|
+
bool MatchAndExplain(const std::tuple<T1, T2>& a_pair,
|
|
5414
6117
|
MatchResultListener* listener) const {
|
|
5415
|
-
if (get<0>(a_pair) == get<1>(a_pair)/2) {
|
|
5416
|
-
*listener << "where the second is " << get<1>(a_pair);
|
|
6118
|
+
if (std::get<0>(a_pair) == std::get<1>(a_pair) / 2) {
|
|
6119
|
+
*listener << "where the second is " << std::get<1>(a_pair);
|
|
5417
6120
|
return true;
|
|
5418
6121
|
} else {
|
|
5419
|
-
*listener << "where the second/2 is " << get<1>(a_pair)/2;
|
|
6122
|
+
*listener << "where the second/2 is " << std::get<1>(a_pair) / 2;
|
|
5420
6123
|
return false;
|
|
5421
6124
|
}
|
|
5422
6125
|
}
|
|
@@ -5483,7 +6186,16 @@ TEST(PointwiseTest, WorksForRhsNativeArray) {
|
|
|
5483
6186
|
EXPECT_THAT(lhs, Not(Pointwise(Lt(), rhs)));
|
|
5484
6187
|
}
|
|
5485
6188
|
|
|
5486
|
-
|
|
6189
|
+
// Test is effective only with sanitizers.
|
|
6190
|
+
TEST(PointwiseTest, WorksForVectorOfBool) {
|
|
6191
|
+
vector<bool> rhs(3, false);
|
|
6192
|
+
rhs[1] = true;
|
|
6193
|
+
vector<bool> lhs = rhs;
|
|
6194
|
+
EXPECT_THAT(lhs, Pointwise(Eq(), rhs));
|
|
6195
|
+
rhs[0] = true;
|
|
6196
|
+
EXPECT_THAT(lhs, Not(Pointwise(Eq(), rhs)));
|
|
6197
|
+
}
|
|
6198
|
+
|
|
5487
6199
|
|
|
5488
6200
|
TEST(PointwiseTest, WorksForRhsInitializerList) {
|
|
5489
6201
|
const vector<int> lhs{2, 4, 6};
|
|
@@ -5491,7 +6203,6 @@ TEST(PointwiseTest, WorksForRhsInitializerList) {
|
|
|
5491
6203
|
EXPECT_THAT(lhs, Not(Pointwise(Lt(), {3, 3, 7})));
|
|
5492
6204
|
}
|
|
5493
6205
|
|
|
5494
|
-
#endif // GTEST_HAS_STD_INITIALIZER_LIST_
|
|
5495
6206
|
|
|
5496
6207
|
TEST(PointwiseTest, RejectsWrongSize) {
|
|
5497
6208
|
const double lhs[2] = {1, 2};
|
|
@@ -5523,17 +6234,28 @@ TEST(PointwiseTest, AcceptsCorrectContent) {
|
|
|
5523
6234
|
TEST(PointwiseTest, AllowsMonomorphicInnerMatcher) {
|
|
5524
6235
|
const double lhs[3] = {1, 2, 3};
|
|
5525
6236
|
const int rhs[3] = {2, 4, 6};
|
|
5526
|
-
const Matcher<tuple<const double&, const int
|
|
6237
|
+
const Matcher<std::tuple<const double&, const int&>> m1 = IsHalfOf();
|
|
5527
6238
|
EXPECT_THAT(lhs, Pointwise(m1, rhs));
|
|
5528
6239
|
EXPECT_EQ("", Explain(Pointwise(m1, rhs), lhs));
|
|
5529
6240
|
|
|
5530
|
-
// This type works as a tuple<const double&, const int&> can be
|
|
5531
|
-
// implicitly cast to tuple<double, int>.
|
|
5532
|
-
const Matcher<tuple<double, int
|
|
6241
|
+
// This type works as a std::tuple<const double&, const int&> can be
|
|
6242
|
+
// implicitly cast to std::tuple<double, int>.
|
|
6243
|
+
const Matcher<std::tuple<double, int>> m2 = IsHalfOf();
|
|
5533
6244
|
EXPECT_THAT(lhs, Pointwise(m2, rhs));
|
|
5534
6245
|
EXPECT_EQ("", Explain(Pointwise(m2, rhs), lhs));
|
|
5535
6246
|
}
|
|
5536
6247
|
|
|
6248
|
+
MATCHER(PointeeEquals, "Points to an equal value") {
|
|
6249
|
+
return ExplainMatchResult(::testing::Pointee(::testing::get<1>(arg)),
|
|
6250
|
+
::testing::get<0>(arg), result_listener);
|
|
6251
|
+
}
|
|
6252
|
+
|
|
6253
|
+
TEST(PointwiseTest, WorksWithMoveOnly) {
|
|
6254
|
+
ContainerHelper helper;
|
|
6255
|
+
EXPECT_CALL(helper, Call(Pointwise(PointeeEquals(), std::vector<int>{1, 2})));
|
|
6256
|
+
helper.Call(MakeUniquePtrs({1, 2}));
|
|
6257
|
+
}
|
|
6258
|
+
|
|
5537
6259
|
TEST(UnorderedPointwiseTest, DescribesSelf) {
|
|
5538
6260
|
vector<int> rhs;
|
|
5539
6261
|
rhs.push_back(1);
|
|
@@ -5594,7 +6316,6 @@ TEST(UnorderedPointwiseTest, WorksForRhsNativeArray) {
|
|
|
5594
6316
|
EXPECT_THAT(lhs, Not(UnorderedPointwise(Lt(), rhs)));
|
|
5595
6317
|
}
|
|
5596
6318
|
|
|
5597
|
-
#if GTEST_HAS_STD_INITIALIZER_LIST_
|
|
5598
6319
|
|
|
5599
6320
|
TEST(UnorderedPointwiseTest, WorksForRhsInitializerList) {
|
|
5600
6321
|
const vector<int> lhs{2, 4, 6};
|
|
@@ -5602,7 +6323,6 @@ TEST(UnorderedPointwiseTest, WorksForRhsInitializerList) {
|
|
|
5602
6323
|
EXPECT_THAT(lhs, Not(UnorderedPointwise(Lt(), {1, 1, 7})));
|
|
5603
6324
|
}
|
|
5604
6325
|
|
|
5605
|
-
#endif // GTEST_HAS_STD_INITIALIZER_LIST_
|
|
5606
6326
|
|
|
5607
6327
|
TEST(UnorderedPointwiseTest, RejectsWrongSize) {
|
|
5608
6328
|
const double lhs[2] = {1, 2};
|
|
@@ -5639,14 +6359,431 @@ TEST(UnorderedPointwiseTest, AcceptsCorrectContentInDifferentOrder) {
|
|
|
5639
6359
|
TEST(UnorderedPointwiseTest, AllowsMonomorphicInnerMatcher) {
|
|
5640
6360
|
const double lhs[3] = {1, 2, 3};
|
|
5641
6361
|
const int rhs[3] = {4, 6, 2};
|
|
5642
|
-
const Matcher<tuple<const double&, const int
|
|
6362
|
+
const Matcher<std::tuple<const double&, const int&>> m1 = IsHalfOf();
|
|
5643
6363
|
EXPECT_THAT(lhs, UnorderedPointwise(m1, rhs));
|
|
5644
6364
|
|
|
5645
|
-
// This type works as a tuple<const double&, const int&> can be
|
|
5646
|
-
// implicitly cast to tuple<double, int>.
|
|
5647
|
-
const Matcher<tuple<double, int
|
|
6365
|
+
// This type works as a std::tuple<const double&, const int&> can be
|
|
6366
|
+
// implicitly cast to std::tuple<double, int>.
|
|
6367
|
+
const Matcher<std::tuple<double, int>> m2 = IsHalfOf();
|
|
5648
6368
|
EXPECT_THAT(lhs, UnorderedPointwise(m2, rhs));
|
|
5649
6369
|
}
|
|
5650
6370
|
|
|
6371
|
+
TEST(UnorderedPointwiseTest, WorksWithMoveOnly) {
|
|
6372
|
+
ContainerHelper helper;
|
|
6373
|
+
EXPECT_CALL(helper, Call(UnorderedPointwise(PointeeEquals(),
|
|
6374
|
+
std::vector<int>{1, 2})));
|
|
6375
|
+
helper.Call(MakeUniquePtrs({2, 1}));
|
|
6376
|
+
}
|
|
6377
|
+
|
|
6378
|
+
// Sample optional type implementation with minimal requirements for use with
|
|
6379
|
+
// Optional matcher.
|
|
6380
|
+
template <typename T>
|
|
6381
|
+
class SampleOptional {
|
|
6382
|
+
public:
|
|
6383
|
+
using value_type = T;
|
|
6384
|
+
explicit SampleOptional(T value)
|
|
6385
|
+
: value_(std::move(value)), has_value_(true) {}
|
|
6386
|
+
SampleOptional() : value_(), has_value_(false) {}
|
|
6387
|
+
operator bool() const { return has_value_; }
|
|
6388
|
+
const T& operator*() const { return value_; }
|
|
6389
|
+
|
|
6390
|
+
private:
|
|
6391
|
+
T value_;
|
|
6392
|
+
bool has_value_;
|
|
6393
|
+
};
|
|
6394
|
+
|
|
6395
|
+
TEST(OptionalTest, DescribesSelf) {
|
|
6396
|
+
const Matcher<SampleOptional<int>> m = Optional(Eq(1));
|
|
6397
|
+
EXPECT_EQ("value is equal to 1", Describe(m));
|
|
6398
|
+
}
|
|
6399
|
+
|
|
6400
|
+
TEST(OptionalTest, ExplainsSelf) {
|
|
6401
|
+
const Matcher<SampleOptional<int>> m = Optional(Eq(1));
|
|
6402
|
+
EXPECT_EQ("whose value 1 matches", Explain(m, SampleOptional<int>(1)));
|
|
6403
|
+
EXPECT_EQ("whose value 2 doesn't match", Explain(m, SampleOptional<int>(2)));
|
|
6404
|
+
}
|
|
6405
|
+
|
|
6406
|
+
TEST(OptionalTest, MatchesNonEmptyOptional) {
|
|
6407
|
+
const Matcher<SampleOptional<int>> m1 = Optional(1);
|
|
6408
|
+
const Matcher<SampleOptional<int>> m2 = Optional(Eq(2));
|
|
6409
|
+
const Matcher<SampleOptional<int>> m3 = Optional(Lt(3));
|
|
6410
|
+
SampleOptional<int> opt(1);
|
|
6411
|
+
EXPECT_TRUE(m1.Matches(opt));
|
|
6412
|
+
EXPECT_FALSE(m2.Matches(opt));
|
|
6413
|
+
EXPECT_TRUE(m3.Matches(opt));
|
|
6414
|
+
}
|
|
6415
|
+
|
|
6416
|
+
TEST(OptionalTest, DoesNotMatchNullopt) {
|
|
6417
|
+
const Matcher<SampleOptional<int>> m = Optional(1);
|
|
6418
|
+
SampleOptional<int> empty;
|
|
6419
|
+
EXPECT_FALSE(m.Matches(empty));
|
|
6420
|
+
}
|
|
6421
|
+
|
|
6422
|
+
TEST(OptionalTest, WorksWithMoveOnly) {
|
|
6423
|
+
Matcher<SampleOptional<std::unique_ptr<int>>> m = Optional(Eq(nullptr));
|
|
6424
|
+
EXPECT_TRUE(m.Matches(SampleOptional<std::unique_ptr<int>>(nullptr)));
|
|
6425
|
+
}
|
|
6426
|
+
|
|
6427
|
+
class SampleVariantIntString {
|
|
6428
|
+
public:
|
|
6429
|
+
SampleVariantIntString(int i) : i_(i), has_int_(true) {}
|
|
6430
|
+
SampleVariantIntString(const std::string& s) : s_(s), has_int_(false) {}
|
|
6431
|
+
|
|
6432
|
+
template <typename T>
|
|
6433
|
+
friend bool holds_alternative(const SampleVariantIntString& value) {
|
|
6434
|
+
return value.has_int_ == internal::IsSame<T, int>::value;
|
|
6435
|
+
}
|
|
6436
|
+
|
|
6437
|
+
template <typename T>
|
|
6438
|
+
friend const T& get(const SampleVariantIntString& value) {
|
|
6439
|
+
return value.get_impl(static_cast<T*>(nullptr));
|
|
6440
|
+
}
|
|
6441
|
+
|
|
6442
|
+
private:
|
|
6443
|
+
const int& get_impl(int*) const { return i_; }
|
|
6444
|
+
const std::string& get_impl(std::string*) const { return s_; }
|
|
6445
|
+
|
|
6446
|
+
int i_;
|
|
6447
|
+
std::string s_;
|
|
6448
|
+
bool has_int_;
|
|
6449
|
+
};
|
|
6450
|
+
|
|
6451
|
+
TEST(VariantTest, DescribesSelf) {
|
|
6452
|
+
const Matcher<SampleVariantIntString> m = VariantWith<int>(Eq(1));
|
|
6453
|
+
EXPECT_THAT(Describe(m), ContainsRegex("is a variant<> with value of type "
|
|
6454
|
+
"'.*' and the value is equal to 1"));
|
|
6455
|
+
}
|
|
6456
|
+
|
|
6457
|
+
TEST(VariantTest, ExplainsSelf) {
|
|
6458
|
+
const Matcher<SampleVariantIntString> m = VariantWith<int>(Eq(1));
|
|
6459
|
+
EXPECT_THAT(Explain(m, SampleVariantIntString(1)),
|
|
6460
|
+
ContainsRegex("whose value 1"));
|
|
6461
|
+
EXPECT_THAT(Explain(m, SampleVariantIntString("A")),
|
|
6462
|
+
HasSubstr("whose value is not of type '"));
|
|
6463
|
+
EXPECT_THAT(Explain(m, SampleVariantIntString(2)),
|
|
6464
|
+
"whose value 2 doesn't match");
|
|
6465
|
+
}
|
|
6466
|
+
|
|
6467
|
+
TEST(VariantTest, FullMatch) {
|
|
6468
|
+
Matcher<SampleVariantIntString> m = VariantWith<int>(Eq(1));
|
|
6469
|
+
EXPECT_TRUE(m.Matches(SampleVariantIntString(1)));
|
|
6470
|
+
|
|
6471
|
+
m = VariantWith<std::string>(Eq("1"));
|
|
6472
|
+
EXPECT_TRUE(m.Matches(SampleVariantIntString("1")));
|
|
6473
|
+
}
|
|
6474
|
+
|
|
6475
|
+
TEST(VariantTest, TypeDoesNotMatch) {
|
|
6476
|
+
Matcher<SampleVariantIntString> m = VariantWith<int>(Eq(1));
|
|
6477
|
+
EXPECT_FALSE(m.Matches(SampleVariantIntString("1")));
|
|
6478
|
+
|
|
6479
|
+
m = VariantWith<std::string>(Eq("1"));
|
|
6480
|
+
EXPECT_FALSE(m.Matches(SampleVariantIntString(1)));
|
|
6481
|
+
}
|
|
6482
|
+
|
|
6483
|
+
TEST(VariantTest, InnerDoesNotMatch) {
|
|
6484
|
+
Matcher<SampleVariantIntString> m = VariantWith<int>(Eq(1));
|
|
6485
|
+
EXPECT_FALSE(m.Matches(SampleVariantIntString(2)));
|
|
6486
|
+
|
|
6487
|
+
m = VariantWith<std::string>(Eq("1"));
|
|
6488
|
+
EXPECT_FALSE(m.Matches(SampleVariantIntString("2")));
|
|
6489
|
+
}
|
|
6490
|
+
|
|
6491
|
+
class SampleAnyType {
|
|
6492
|
+
public:
|
|
6493
|
+
explicit SampleAnyType(int i) : index_(0), i_(i) {}
|
|
6494
|
+
explicit SampleAnyType(const std::string& s) : index_(1), s_(s) {}
|
|
6495
|
+
|
|
6496
|
+
template <typename T>
|
|
6497
|
+
friend const T* any_cast(const SampleAnyType* any) {
|
|
6498
|
+
return any->get_impl(static_cast<T*>(nullptr));
|
|
6499
|
+
}
|
|
6500
|
+
|
|
6501
|
+
private:
|
|
6502
|
+
int index_;
|
|
6503
|
+
int i_;
|
|
6504
|
+
std::string s_;
|
|
6505
|
+
|
|
6506
|
+
const int* get_impl(int*) const { return index_ == 0 ? &i_ : nullptr; }
|
|
6507
|
+
const std::string* get_impl(std::string*) const {
|
|
6508
|
+
return index_ == 1 ? &s_ : nullptr;
|
|
6509
|
+
}
|
|
6510
|
+
};
|
|
6511
|
+
|
|
6512
|
+
TEST(AnyWithTest, FullMatch) {
|
|
6513
|
+
Matcher<SampleAnyType> m = AnyWith<int>(Eq(1));
|
|
6514
|
+
EXPECT_TRUE(m.Matches(SampleAnyType(1)));
|
|
6515
|
+
}
|
|
6516
|
+
|
|
6517
|
+
TEST(AnyWithTest, TestBadCastType) {
|
|
6518
|
+
Matcher<SampleAnyType> m = AnyWith<std::string>(Eq("fail"));
|
|
6519
|
+
EXPECT_FALSE(m.Matches(SampleAnyType(1)));
|
|
6520
|
+
}
|
|
6521
|
+
|
|
6522
|
+
TEST(AnyWithTest, TestUseInContainers) {
|
|
6523
|
+
std::vector<SampleAnyType> a;
|
|
6524
|
+
a.emplace_back(1);
|
|
6525
|
+
a.emplace_back(2);
|
|
6526
|
+
a.emplace_back(3);
|
|
6527
|
+
EXPECT_THAT(
|
|
6528
|
+
a, ElementsAreArray({AnyWith<int>(1), AnyWith<int>(2), AnyWith<int>(3)}));
|
|
6529
|
+
|
|
6530
|
+
std::vector<SampleAnyType> b;
|
|
6531
|
+
b.emplace_back("hello");
|
|
6532
|
+
b.emplace_back("merhaba");
|
|
6533
|
+
b.emplace_back("salut");
|
|
6534
|
+
EXPECT_THAT(b, ElementsAreArray({AnyWith<std::string>("hello"),
|
|
6535
|
+
AnyWith<std::string>("merhaba"),
|
|
6536
|
+
AnyWith<std::string>("salut")}));
|
|
6537
|
+
}
|
|
6538
|
+
TEST(AnyWithTest, TestCompare) {
|
|
6539
|
+
EXPECT_THAT(SampleAnyType(1), AnyWith<int>(Gt(0)));
|
|
6540
|
+
}
|
|
6541
|
+
|
|
6542
|
+
TEST(AnyWithTest, DescribesSelf) {
|
|
6543
|
+
const Matcher<const SampleAnyType&> m = AnyWith<int>(Eq(1));
|
|
6544
|
+
EXPECT_THAT(Describe(m), ContainsRegex("is an 'any' type with value of type "
|
|
6545
|
+
"'.*' and the value is equal to 1"));
|
|
6546
|
+
}
|
|
6547
|
+
|
|
6548
|
+
TEST(AnyWithTest, ExplainsSelf) {
|
|
6549
|
+
const Matcher<const SampleAnyType&> m = AnyWith<int>(Eq(1));
|
|
6550
|
+
|
|
6551
|
+
EXPECT_THAT(Explain(m, SampleAnyType(1)), ContainsRegex("whose value 1"));
|
|
6552
|
+
EXPECT_THAT(Explain(m, SampleAnyType("A")),
|
|
6553
|
+
HasSubstr("whose value is not of type '"));
|
|
6554
|
+
EXPECT_THAT(Explain(m, SampleAnyType(2)), "whose value 2 doesn't match");
|
|
6555
|
+
}
|
|
6556
|
+
|
|
6557
|
+
TEST(PointeeTest, WorksOnMoveOnlyType) {
|
|
6558
|
+
std::unique_ptr<int> p(new int(3));
|
|
6559
|
+
EXPECT_THAT(p, Pointee(Eq(3)));
|
|
6560
|
+
EXPECT_THAT(p, Not(Pointee(Eq(2))));
|
|
6561
|
+
}
|
|
6562
|
+
|
|
6563
|
+
TEST(NotTest, WorksOnMoveOnlyType) {
|
|
6564
|
+
std::unique_ptr<int> p(new int(3));
|
|
6565
|
+
EXPECT_THAT(p, Pointee(Eq(3)));
|
|
6566
|
+
EXPECT_THAT(p, Not(Pointee(Eq(2))));
|
|
6567
|
+
}
|
|
6568
|
+
|
|
6569
|
+
// Tests Args<k0, ..., kn>(m).
|
|
6570
|
+
|
|
6571
|
+
TEST(ArgsTest, AcceptsZeroTemplateArg) {
|
|
6572
|
+
const std::tuple<int, bool> t(5, true);
|
|
6573
|
+
EXPECT_THAT(t, Args<>(Eq(std::tuple<>())));
|
|
6574
|
+
EXPECT_THAT(t, Not(Args<>(Ne(std::tuple<>()))));
|
|
6575
|
+
}
|
|
6576
|
+
|
|
6577
|
+
TEST(ArgsTest, AcceptsOneTemplateArg) {
|
|
6578
|
+
const std::tuple<int, bool> t(5, true);
|
|
6579
|
+
EXPECT_THAT(t, Args<0>(Eq(std::make_tuple(5))));
|
|
6580
|
+
EXPECT_THAT(t, Args<1>(Eq(std::make_tuple(true))));
|
|
6581
|
+
EXPECT_THAT(t, Not(Args<1>(Eq(std::make_tuple(false)))));
|
|
6582
|
+
}
|
|
6583
|
+
|
|
6584
|
+
TEST(ArgsTest, AcceptsTwoTemplateArgs) {
|
|
6585
|
+
const std::tuple<short, int, long> t(4, 5, 6L); // NOLINT
|
|
6586
|
+
|
|
6587
|
+
EXPECT_THAT(t, (Args<0, 1>(Lt())));
|
|
6588
|
+
EXPECT_THAT(t, (Args<1, 2>(Lt())));
|
|
6589
|
+
EXPECT_THAT(t, Not(Args<0, 2>(Gt())));
|
|
6590
|
+
}
|
|
6591
|
+
|
|
6592
|
+
TEST(ArgsTest, AcceptsRepeatedTemplateArgs) {
|
|
6593
|
+
const std::tuple<short, int, long> t(4, 5, 6L); // NOLINT
|
|
6594
|
+
EXPECT_THAT(t, (Args<0, 0>(Eq())));
|
|
6595
|
+
EXPECT_THAT(t, Not(Args<1, 1>(Ne())));
|
|
6596
|
+
}
|
|
6597
|
+
|
|
6598
|
+
TEST(ArgsTest, AcceptsDecreasingTemplateArgs) {
|
|
6599
|
+
const std::tuple<short, int, long> t(4, 5, 6L); // NOLINT
|
|
6600
|
+
EXPECT_THAT(t, (Args<2, 0>(Gt())));
|
|
6601
|
+
EXPECT_THAT(t, Not(Args<2, 1>(Lt())));
|
|
6602
|
+
}
|
|
6603
|
+
|
|
6604
|
+
MATCHER(SumIsZero, "") {
|
|
6605
|
+
return std::get<0>(arg) + std::get<1>(arg) + std::get<2>(arg) == 0;
|
|
6606
|
+
}
|
|
6607
|
+
|
|
6608
|
+
TEST(ArgsTest, AcceptsMoreTemplateArgsThanArityOfOriginalTuple) {
|
|
6609
|
+
EXPECT_THAT(std::make_tuple(-1, 2), (Args<0, 0, 1>(SumIsZero())));
|
|
6610
|
+
EXPECT_THAT(std::make_tuple(1, 2), Not(Args<0, 0, 1>(SumIsZero())));
|
|
6611
|
+
}
|
|
6612
|
+
|
|
6613
|
+
TEST(ArgsTest, CanBeNested) {
|
|
6614
|
+
const std::tuple<short, int, long, int> t(4, 5, 6L, 6); // NOLINT
|
|
6615
|
+
EXPECT_THAT(t, (Args<1, 2, 3>(Args<1, 2>(Eq()))));
|
|
6616
|
+
EXPECT_THAT(t, (Args<0, 1, 3>(Args<0, 2>(Lt()))));
|
|
6617
|
+
}
|
|
6618
|
+
|
|
6619
|
+
TEST(ArgsTest, CanMatchTupleByValue) {
|
|
6620
|
+
typedef std::tuple<char, int, int> Tuple3;
|
|
6621
|
+
const Matcher<Tuple3> m = Args<1, 2>(Lt());
|
|
6622
|
+
EXPECT_TRUE(m.Matches(Tuple3('a', 1, 2)));
|
|
6623
|
+
EXPECT_FALSE(m.Matches(Tuple3('b', 2, 2)));
|
|
6624
|
+
}
|
|
6625
|
+
|
|
6626
|
+
TEST(ArgsTest, CanMatchTupleByReference) {
|
|
6627
|
+
typedef std::tuple<char, char, int> Tuple3;
|
|
6628
|
+
const Matcher<const Tuple3&> m = Args<0, 1>(Lt());
|
|
6629
|
+
EXPECT_TRUE(m.Matches(Tuple3('a', 'b', 2)));
|
|
6630
|
+
EXPECT_FALSE(m.Matches(Tuple3('b', 'b', 2)));
|
|
6631
|
+
}
|
|
6632
|
+
|
|
6633
|
+
// Validates that arg is printed as str.
|
|
6634
|
+
MATCHER_P(PrintsAs, str, "") {
|
|
6635
|
+
return testing::PrintToString(arg) == str;
|
|
6636
|
+
}
|
|
6637
|
+
|
|
6638
|
+
TEST(ArgsTest, AcceptsTenTemplateArgs) {
|
|
6639
|
+
EXPECT_THAT(std::make_tuple(0, 1L, 2, 3L, 4, 5, 6, 7, 8, 9),
|
|
6640
|
+
(Args<9, 8, 7, 6, 5, 4, 3, 2, 1, 0>(
|
|
6641
|
+
PrintsAs("(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)"))));
|
|
6642
|
+
EXPECT_THAT(std::make_tuple(0, 1L, 2, 3L, 4, 5, 6, 7, 8, 9),
|
|
6643
|
+
Not(Args<9, 8, 7, 6, 5, 4, 3, 2, 1, 0>(
|
|
6644
|
+
PrintsAs("(0, 8, 7, 6, 5, 4, 3, 2, 1, 0)"))));
|
|
6645
|
+
}
|
|
6646
|
+
|
|
6647
|
+
TEST(ArgsTest, DescirbesSelfCorrectly) {
|
|
6648
|
+
const Matcher<std::tuple<int, bool, char> > m = Args<2, 0>(Lt());
|
|
6649
|
+
EXPECT_EQ("are a tuple whose fields (#2, #0) are a pair where "
|
|
6650
|
+
"the first < the second",
|
|
6651
|
+
Describe(m));
|
|
6652
|
+
}
|
|
6653
|
+
|
|
6654
|
+
TEST(ArgsTest, DescirbesNestedArgsCorrectly) {
|
|
6655
|
+
const Matcher<const std::tuple<int, bool, char, int>&> m =
|
|
6656
|
+
Args<0, 2, 3>(Args<2, 0>(Lt()));
|
|
6657
|
+
EXPECT_EQ("are a tuple whose fields (#0, #2, #3) are a tuple "
|
|
6658
|
+
"whose fields (#2, #0) are a pair where the first < the second",
|
|
6659
|
+
Describe(m));
|
|
6660
|
+
}
|
|
6661
|
+
|
|
6662
|
+
TEST(ArgsTest, DescribesNegationCorrectly) {
|
|
6663
|
+
const Matcher<std::tuple<int, char> > m = Args<1, 0>(Gt());
|
|
6664
|
+
EXPECT_EQ("are a tuple whose fields (#1, #0) aren't a pair "
|
|
6665
|
+
"where the first > the second",
|
|
6666
|
+
DescribeNegation(m));
|
|
6667
|
+
}
|
|
6668
|
+
|
|
6669
|
+
TEST(ArgsTest, ExplainsMatchResultWithoutInnerExplanation) {
|
|
6670
|
+
const Matcher<std::tuple<bool, int, int> > m = Args<1, 2>(Eq());
|
|
6671
|
+
EXPECT_EQ("whose fields (#1, #2) are (42, 42)",
|
|
6672
|
+
Explain(m, std::make_tuple(false, 42, 42)));
|
|
6673
|
+
EXPECT_EQ("whose fields (#1, #2) are (42, 43)",
|
|
6674
|
+
Explain(m, std::make_tuple(false, 42, 43)));
|
|
6675
|
+
}
|
|
6676
|
+
|
|
6677
|
+
// For testing Args<>'s explanation.
|
|
6678
|
+
class LessThanMatcher : public MatcherInterface<std::tuple<char, int> > {
|
|
6679
|
+
public:
|
|
6680
|
+
void DescribeTo(::std::ostream* /*os*/) const override {}
|
|
6681
|
+
|
|
6682
|
+
bool MatchAndExplain(std::tuple<char, int> value,
|
|
6683
|
+
MatchResultListener* listener) const override {
|
|
6684
|
+
const int diff = std::get<0>(value) - std::get<1>(value);
|
|
6685
|
+
if (diff > 0) {
|
|
6686
|
+
*listener << "where the first value is " << diff
|
|
6687
|
+
<< " more than the second";
|
|
6688
|
+
}
|
|
6689
|
+
return diff < 0;
|
|
6690
|
+
}
|
|
6691
|
+
};
|
|
6692
|
+
|
|
6693
|
+
Matcher<std::tuple<char, int> > LessThan() {
|
|
6694
|
+
return MakeMatcher(new LessThanMatcher);
|
|
6695
|
+
}
|
|
6696
|
+
|
|
6697
|
+
TEST(ArgsTest, ExplainsMatchResultWithInnerExplanation) {
|
|
6698
|
+
const Matcher<std::tuple<char, int, int> > m = Args<0, 2>(LessThan());
|
|
6699
|
+
EXPECT_EQ(
|
|
6700
|
+
"whose fields (#0, #2) are ('a' (97, 0x61), 42), "
|
|
6701
|
+
"where the first value is 55 more than the second",
|
|
6702
|
+
Explain(m, std::make_tuple('a', 42, 42)));
|
|
6703
|
+
EXPECT_EQ("whose fields (#0, #2) are ('\\0', 43)",
|
|
6704
|
+
Explain(m, std::make_tuple('\0', 42, 43)));
|
|
6705
|
+
}
|
|
6706
|
+
|
|
6707
|
+
class PredicateFormatterFromMatcherTest : public ::testing::Test {
|
|
6708
|
+
protected:
|
|
6709
|
+
enum Behavior { kInitialSuccess, kAlwaysFail, kFlaky };
|
|
6710
|
+
|
|
6711
|
+
// A matcher that can return different results when used multiple times on the
|
|
6712
|
+
// same input. No real matcher should do this; but this lets us test that we
|
|
6713
|
+
// detect such behavior and fail appropriately.
|
|
6714
|
+
class MockMatcher : public MatcherInterface<Behavior> {
|
|
6715
|
+
public:
|
|
6716
|
+
bool MatchAndExplain(Behavior behavior,
|
|
6717
|
+
MatchResultListener* listener) const override {
|
|
6718
|
+
*listener << "[MatchAndExplain]";
|
|
6719
|
+
switch (behavior) {
|
|
6720
|
+
case kInitialSuccess:
|
|
6721
|
+
// The first call to MatchAndExplain should use a "not interested"
|
|
6722
|
+
// listener; so this is expected to return |true|. There should be no
|
|
6723
|
+
// subsequent calls.
|
|
6724
|
+
return !listener->IsInterested();
|
|
6725
|
+
|
|
6726
|
+
case kAlwaysFail:
|
|
6727
|
+
return false;
|
|
6728
|
+
|
|
6729
|
+
case kFlaky:
|
|
6730
|
+
// The first call to MatchAndExplain should use a "not interested"
|
|
6731
|
+
// listener; so this will return |false|. Subsequent calls should have
|
|
6732
|
+
// an "interested" listener; so this will return |true|, thus
|
|
6733
|
+
// simulating a flaky matcher.
|
|
6734
|
+
return listener->IsInterested();
|
|
6735
|
+
}
|
|
6736
|
+
|
|
6737
|
+
GTEST_LOG_(FATAL) << "This should never be reached";
|
|
6738
|
+
return false;
|
|
6739
|
+
}
|
|
6740
|
+
|
|
6741
|
+
void DescribeTo(ostream* os) const override { *os << "[DescribeTo]"; }
|
|
6742
|
+
|
|
6743
|
+
void DescribeNegationTo(ostream* os) const override {
|
|
6744
|
+
*os << "[DescribeNegationTo]";
|
|
6745
|
+
}
|
|
6746
|
+
};
|
|
6747
|
+
|
|
6748
|
+
AssertionResult RunPredicateFormatter(Behavior behavior) {
|
|
6749
|
+
auto matcher = MakeMatcher(new MockMatcher);
|
|
6750
|
+
PredicateFormatterFromMatcher<Matcher<Behavior>> predicate_formatter(
|
|
6751
|
+
matcher);
|
|
6752
|
+
return predicate_formatter("dummy-name", behavior);
|
|
6753
|
+
}
|
|
6754
|
+
};
|
|
6755
|
+
|
|
6756
|
+
TEST_F(PredicateFormatterFromMatcherTest, ShortCircuitOnSuccess) {
|
|
6757
|
+
AssertionResult result = RunPredicateFormatter(kInitialSuccess);
|
|
6758
|
+
EXPECT_TRUE(result); // Implicit cast to bool.
|
|
6759
|
+
std::string expect;
|
|
6760
|
+
EXPECT_EQ(expect, result.message());
|
|
6761
|
+
}
|
|
6762
|
+
|
|
6763
|
+
TEST_F(PredicateFormatterFromMatcherTest, NoShortCircuitOnFailure) {
|
|
6764
|
+
AssertionResult result = RunPredicateFormatter(kAlwaysFail);
|
|
6765
|
+
EXPECT_FALSE(result); // Implicit cast to bool.
|
|
6766
|
+
std::string expect =
|
|
6767
|
+
"Value of: dummy-name\nExpected: [DescribeTo]\n"
|
|
6768
|
+
" Actual: 1, [MatchAndExplain]";
|
|
6769
|
+
EXPECT_EQ(expect, result.message());
|
|
6770
|
+
}
|
|
6771
|
+
|
|
6772
|
+
TEST_F(PredicateFormatterFromMatcherTest, DetectsFlakyShortCircuit) {
|
|
6773
|
+
AssertionResult result = RunPredicateFormatter(kFlaky);
|
|
6774
|
+
EXPECT_FALSE(result); // Implicit cast to bool.
|
|
6775
|
+
std::string expect =
|
|
6776
|
+
"Value of: dummy-name\nExpected: [DescribeTo]\n"
|
|
6777
|
+
" The matcher failed on the initial attempt; but passed when rerun to "
|
|
6778
|
+
"generate the explanation.\n"
|
|
6779
|
+
" Actual: 2, [MatchAndExplain]";
|
|
6780
|
+
EXPECT_EQ(expect, result.message());
|
|
6781
|
+
}
|
|
6782
|
+
|
|
6783
|
+
} // namespace
|
|
5651
6784
|
} // namespace gmock_matchers_test
|
|
5652
6785
|
} // namespace testing
|
|
6786
|
+
|
|
6787
|
+
#ifdef _MSC_VER
|
|
6788
|
+
# pragma warning(pop)
|
|
6789
|
+
#endif
|