1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License.
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
178bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilsonpackage libcore.java.lang;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase;
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
218bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilsonpublic class OldStackTraceElementTest extends TestCase {
228bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson
238bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson    public class Original extends TestCase {
248bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson
258bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson        public void pureJavaMethod(Object test) throws Exception {
268bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            throw new Exception("pure java method");
278bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson        }
288bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson
298bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson        native public void pureNativeMethod(Object test);
308bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson    }
318bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson
328bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson    private Original original;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @Override
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() throws Exception {
368bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson        original = new Original();
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.setUp();
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @Override
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() throws Exception {
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.tearDown();
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
458bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson    public void test_ConstructorLjava_lang_StringLjava_lang_StringLjava_lang_StringI() {
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        StackTraceElement ste2 = null;
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
498bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste1 = e.getStackTrace()[0];
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            ste2 = new StackTraceElement(ste1.getClassName(),
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getMethodName(),
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getFileName(),
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getLineNumber());
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect value of class name",
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getClassName(), ste2.getClassName());
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect value of method name",
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getMethodName(), ste2.getMethodName());
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect value of file name",
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getFileName(), ste2.getFileName());
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect value of line number",
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.getLineNumber(), ste2.getLineNumber());
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNotNull("Incorrect stack trace object", ste2);
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            new StackTraceElement(null,
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getMethodName(),
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getFileName(),
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getLineNumber());
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Expected NullPointerException was not thrown");
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (NullPointerException e) {
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // expected
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            new StackTraceElement(ste2.getClassName(),
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    null,
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getFileName(),
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getLineNumber());
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Expected NullPointerException was not thrown");
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (NullPointerException e) {
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            // expected
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            new StackTraceElement(ste2.getClassName(),
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getMethodName(),
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    null,
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste2.getLineNumber());
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (NullPointerException e) {
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception " + e.toString());
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_equalsLjava_lang_Object() {
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
978bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste1 = e.getStackTrace()[0];
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste2 =
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                new StackTraceElement(ste1.getClassName(),
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getMethodName(),
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getFileName(),
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getLineNumber());
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Objects are equaled", ste1, ste2);
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_getClassName() {
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1128bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect class name",
1158bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    "libcore.java.lang.OldStackTraceElementTest$Original",
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[0].getClassName());
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect class name",
1188bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    "libcore.java.lang.OldStackTraceElementTest",
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[1].getClassName());
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_getFileName() {
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1268bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect file name",
1298bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    "OldStackTraceElementTest.java",
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[0].getFileName());
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect file name",
1328bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    "OldStackTraceElementTest.java",
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[1].getFileName());
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_getLineNumber() {
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1408bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect line number",
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    26, e.getStackTrace()[0].getLineNumber());
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_getMethodName() {
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1508bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect method name",
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "pureJavaMethod",
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[0].getMethodName());
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect method name",
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "test_getMethodName",
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[1].getMethodName());
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_hashCode() {
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1648bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste1 = e.getStackTrace()[0];
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste2 =
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                new StackTraceElement(ste1.getClassName(),
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getMethodName(),
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getFileName(),
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        ste1.getLineNumber());
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("Incorrect value of hash code",
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.hashCode(), ste2.hashCode());
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertFalse("Incorrect value of hash code",
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste1.hashCode() == e.getStackTrace()[1].hashCode());
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_isNativeMethod() {
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1828bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertFalse("Incorrect method type",
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[0].isNativeMethod());
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureNativeMethod(new Object());
1898bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Error e) {
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("Incorrect method type",
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    e.getStackTrace()[0].isNativeMethod());
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_toString() {
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            original.pureJavaMethod(new Object());
1998bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson            fail();
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StackTraceElement ste = e.getStackTrace()[0];
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("String representation doesn't contain a package name",
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste.toString().contains(getClass().getPackage().getName()));
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("String representation doesn't contain a class name",
2058bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    ste.toString().contains("Original"));
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("String representation doesn't contain a file name",
2078bc50e8d16e9d630ce236b7ea076f72f9dac0d69Jesse Wilson                    ste.toString().contains("OldStackTraceElementTest.java"));
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("String representation doesn't contain a line number",
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste.toString().contains("26"));
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("String representation doesn't contain a method name",
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    ste.toString().contains("pureJavaMethod"));
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
215