Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: content/renderer/v8_value_converter_impl_unittest.cc

Issue 670683003: Standardize usage of virtual/override/final in content/renderer/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/v8_value_converter_impl.h ('k') | content/renderer/web_ui_extension_data.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cmath> 5 #include <cmath>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/test/values_test_util.h" 9 #include "base/test/values_test_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 // The leaf node shouldn't have any properties. 709 // The leaf node shouldn't have any properties.
710 base::DictionaryValue empty; 710 base::DictionaryValue empty;
711 EXPECT_TRUE(base::Value::Equals(&empty, current)) << *current; 711 EXPECT_TRUE(base::Value::Equals(&empty, current)) << *current;
712 } 712 }
713 713
714 class V8ValueConverterOverridingStrategyForTesting 714 class V8ValueConverterOverridingStrategyForTesting
715 : public V8ValueConverter::Strategy { 715 : public V8ValueConverter::Strategy {
716 public: 716 public:
717 V8ValueConverterOverridingStrategyForTesting() 717 V8ValueConverterOverridingStrategyForTesting()
718 : reference_value_(NewReferenceValue()) {} 718 : reference_value_(NewReferenceValue()) {}
719 virtual bool FromV8Object( 719 bool FromV8Object(v8::Handle<v8::Object> value,
720 v8::Handle<v8::Object> value, 720 base::Value** out,
721 base::Value** out, 721 v8::Isolate* isolate,
722 v8::Isolate* isolate, 722 const FromV8ValueCallback& callback) const override {
723 const FromV8ValueCallback& callback) const override {
724 *out = NewReferenceValue(); 723 *out = NewReferenceValue();
725 return true; 724 return true;
726 } 725 }
727 virtual bool FromV8Array(v8::Handle<v8::Array> value, 726 bool FromV8Array(v8::Handle<v8::Array> value,
728 base::Value** out, 727 base::Value** out,
729 v8::Isolate* isolate, 728 v8::Isolate* isolate,
730 const FromV8ValueCallback& callback) const override { 729 const FromV8ValueCallback& callback) const override {
731 *out = NewReferenceValue(); 730 *out = NewReferenceValue();
732 return true; 731 return true;
733 } 732 }
734 virtual bool FromV8ArrayBuffer(v8::Handle<v8::Object> value, 733 bool FromV8ArrayBuffer(v8::Handle<v8::Object> value,
735 base::Value** out, 734 base::Value** out,
736 v8::Isolate* isolate) const override { 735 v8::Isolate* isolate) const override {
737 *out = NewReferenceValue(); 736 *out = NewReferenceValue();
738 return true; 737 return true;
739 } 738 }
740 virtual bool FromV8Number(v8::Handle<v8::Number> value, 739 bool FromV8Number(v8::Handle<v8::Number> value,
741 base::Value** out) const override { 740 base::Value** out) const override {
742 *out = NewReferenceValue(); 741 *out = NewReferenceValue();
743 return true; 742 return true;
744 } 743 }
745 virtual bool FromV8Undefined(base::Value** out) const override { 744 bool FromV8Undefined(base::Value** out) const override {
746 *out = NewReferenceValue(); 745 *out = NewReferenceValue();
747 return true; 746 return true;
748 } 747 }
749 base::Value* reference_value() const { return reference_value_.get(); } 748 base::Value* reference_value() const { return reference_value_.get(); }
750 749
751 private: 750 private:
752 static base::Value* NewReferenceValue() { 751 static base::Value* NewReferenceValue() {
753 return new base::StringValue("strategy"); 752 return new base::StringValue("strategy");
754 } 753 }
755 scoped_ptr<base::Value> reference_value_; 754 scoped_ptr<base::Value> reference_value_;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 scoped_ptr<base::Value> undefined_value( 801 scoped_ptr<base::Value> undefined_value(
803 converter.FromV8Value(undefined, context)); 802 converter.FromV8Value(undefined, context));
804 ASSERT_TRUE(undefined_value); 803 ASSERT_TRUE(undefined_value);
805 EXPECT_TRUE( 804 EXPECT_TRUE(
806 base::Value::Equals(strategy.reference_value(), undefined_value.get())); 805 base::Value::Equals(strategy.reference_value(), undefined_value.get()));
807 } 806 }
808 807
809 class V8ValueConverterBypassStrategyForTesting 808 class V8ValueConverterBypassStrategyForTesting
810 : public V8ValueConverter::Strategy { 809 : public V8ValueConverter::Strategy {
811 public: 810 public:
812 virtual bool FromV8Object( 811 bool FromV8Object(v8::Handle<v8::Object> value,
813 v8::Handle<v8::Object> value, 812 base::Value** out,
814 base::Value** out, 813 v8::Isolate* isolate,
815 v8::Isolate* isolate, 814 const FromV8ValueCallback& callback) const override {
816 const FromV8ValueCallback& callback) const override {
817 return false; 815 return false;
818 } 816 }
819 virtual bool FromV8Array(v8::Handle<v8::Array> value, 817 bool FromV8Array(v8::Handle<v8::Array> value,
820 base::Value** out, 818 base::Value** out,
821 v8::Isolate* isolate, 819 v8::Isolate* isolate,
822 const FromV8ValueCallback& callback) const override { 820 const FromV8ValueCallback& callback) const override {
823 return false; 821 return false;
824 } 822 }
825 virtual bool FromV8ArrayBuffer(v8::Handle<v8::Object> value, 823 bool FromV8ArrayBuffer(v8::Handle<v8::Object> value,
826 base::Value** out, 824 base::Value** out,
827 v8::Isolate* isolate) const override { 825 v8::Isolate* isolate) const override {
828 return false; 826 return false;
829 } 827 }
830 virtual bool FromV8Number(v8::Handle<v8::Number> value, 828 bool FromV8Number(v8::Handle<v8::Number> value,
831 base::Value** out) const override { 829 base::Value** out) const override {
832 return false; 830 return false;
833 } 831 }
834 virtual bool FromV8Undefined(base::Value** out) const override { 832 bool FromV8Undefined(base::Value** out) const override { return false; }
835 return false;
836 }
837 }; 833 };
838 834
839 // Verify that having a strategy that fallbacks to default behaviour 835 // Verify that having a strategy that fallbacks to default behaviour
840 // actually preserves it. 836 // actually preserves it.
841 TEST_F(V8ValueConverterImplTest, StrategyBypass) { 837 TEST_F(V8ValueConverterImplTest, StrategyBypass) {
842 v8::HandleScope handle_scope(isolate_); 838 v8::HandleScope handle_scope(isolate_);
843 v8::Local<v8::Context> context = 839 v8::Local<v8::Context> context =
844 v8::Local<v8::Context>::New(isolate_, context_); 840 v8::Local<v8::Context>::New(isolate_, context_);
845 v8::Context::Scope context_scope(context); 841 v8::Context::Scope context_scope(context);
846 842
(...skipping 25 matching lines...) Expand all
872 EXPECT_TRUE( 868 EXPECT_TRUE(
873 base::Value::Equals(reference_number_value.get(), number_value.get())); 869 base::Value::Equals(reference_number_value.get(), number_value.get()));
874 870
875 v8::Handle<v8::Primitive> undefined(v8::Undefined(isolate_)); 871 v8::Handle<v8::Primitive> undefined(v8::Undefined(isolate_));
876 scoped_ptr<base::Value> undefined_value( 872 scoped_ptr<base::Value> undefined_value(
877 converter.FromV8Value(undefined, context)); 873 converter.FromV8Value(undefined, context));
878 EXPECT_FALSE(undefined_value); 874 EXPECT_FALSE(undefined_value);
879 } 875 }
880 876
881 } // namespace content 877 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/v8_value_converter_impl.h ('k') | content/renderer/web_ui_extension_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698