internal struct QuickDiscouragedCallRuleExamples { static let nonTriggeringExamples: [Example] = [ Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { @TestState var foo: Foo! = Foo() context("bar") { @TestState var bar: Bar! = .init() it("does something") { bar.toto() } } } } } """), Example(""" class TotoTests { override func spec() { describe("foo") { let foo = Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { beforeEach { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { beforeEach { let foo = Foo() foo.toto() } afterEach { let foo = Foo() foo.toto() } describe("bar") { } context("bar") { } it("bar") { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { justBeforeEach { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { aroundEach { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { itBehavesLike("bar") } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { it("does something") { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { context("foo") { afterEach { toto.append(foo) } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { xcontext("foo") { afterEach { toto.append(foo) } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { xdescribe("foo") { afterEach { toto.append(foo) } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { xit("does something") { let foo = Foo() foo.toto() } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { fcontext("foo") { afterEach { toto.append(foo) } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { fdescribe("foo") { afterEach { toto.append(foo) } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { #if os(iOS) let foo = 1 #endif } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { fitBehavesLike("foo") } } """), Example(""" class TotoTests: QuickSpec { override func spec() { xitBehavesLike("foo") } } """), ] static let triggeringExamples: [Example] = [ Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override static func spec() { describe("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { context("foo") { let foo = ↓Foo() } context("bar") { let foo = ↓Foo() ↓foo.bar() it("does something") { let foo = Foo() foo.toto() } } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { context("foo") { context("foo") { beforeEach { let foo = Foo() foo.toto() } it("bar") { } context("foo") { let foo = ↓Foo() } } } } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { context("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { sharedExamples("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { describe("foo") { #if os(iOS) ↓foo() #endif } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { context("foo") { ↓foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { sharedExamples("foo") { ↓foo() } } } """), Example(""" #if os(macOS) class TotoTests: QuickSpec { override func spec() { sharedExamples("foo") { ↓foo() } } } #endif """), Example(""" class TotoTests: QuickSpec { override func spec() { sharedExamples("foo") { bar = ↓foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { xdescribe("foo") { let foo = ↓Foo() } fdescribe("foo") { let foo = ↓Foo() } } } """), Example(""" class TotoTests: QuickSpec { override func spec() { xcontext("foo") { let foo = ↓Foo() } fcontext("foo") { let foo = ↓f() + g() } } } """), Example(""" class TotoTests: QuickSpecSubclass { override func spec() { xcontext("foo") { let foo = ↓Foo() } fcontext("foo") { let foo = ↓{}() } } } """), ] }